Elemento Cell (MDDataSet) (XMLA)
Contiene información sobre una sola celda contenida por un elemento CellData primario.
Sintaxis
<CellData>
<Cell CellOrdinal="unsignedInt">
<!-- Zero or more cell property values -->
<!-- or -->
<Error>...</Error>
</Cell>
</CellData>
Características de los elementos
Característica | Descripción |
---|---|
Tipo y longitud de los datos | Ninguno |
Valor predeterminado | Ninguno |
Cardinalidad | 0-n: elemento opcional que puede aparecer más de una vez. |
Relaciones de elementos
Relación | Elemento |
---|---|
Elementos primarios | CellData |
Elementos secundarios | Cero o más valores de propiedad de celda o Error |
Atributos
Atributo | Descripción |
---|---|
CellOrdinal | Atributo unsignedInt requerido. Posición ordinal de la celda dentro del conjunto de datos multidimensional. |
Comentarios
En el elemento raíz primario, el elemento Axes va seguido del elemento CellData , una colección de elementos Cell que contienen los valores de propiedad de cada celda devuelta en el conjunto de datos multidimensional. El elemento Cell contiene el atributo CellOrdinal , que indica la posición ordinal de base cero de la celda dentro del conjunto de datos multidimensional y un elemento para cada valor de propiedad de celda asociado a la celda. Cada valor de propiedad de celda del elemento Cell se define mediante un elemento XML independiente. El valor de la propiedad de celda son los datos contenidos por el elemento XML y el nombre de la propiedad de celda, tal como se define en el elemento CellInfo del elemento raíz primario, corresponde al nombre del elemento XML.
La sintaxis siguiente describe un valor de propiedad de la celda:
<CellProperty xsi:type="string">value</CellProperty>
El tipo de datos de un valor de propiedad de celda solamente se especifica para la propiedad de celda VALUE. Los tipos de datos de otras propiedades de celda se determinan mediante la definición de propiedad de celda incluida en el elemento CellInfo . Se puede excluir un elemento de valor de propiedad de celda si se ha especificado un valor predeterminado (incluyendo un elemento Default para una definición de propiedad de celda contenida en el elemento CellInfo ) para una propiedad de celda, o si no se ha especificado ningún valor predeterminado y el valor de la propiedad de celda es null.
Errores de propiedades de celda
Si no se puede devolver una propiedad de celda debido a un error que se produce en la instancia de Analysis Services, como un error de cálculo que impide que se devuelva el valor para una celda determinada, un elemento Error reemplaza el contenido de la propiedad de celda en cuestión. El ejemplo de XML siguiente describe un error de propiedad de celda:
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">
<Error>
<ErrorCode>2148497527</ErrorCode>
<Description>Unknown error</Description>
</Error>
</Value>
</Cell>
Calcular los valores ordinales de celdas
La referencia del eje de una celda se puede calcular en función de un valor de atributo CellOrdinal . Conceptualmente, las celdas se numeran en un conjunto de datos como si el conjunto de datos fuera una matriz dimensional p, donde p es el número de ejes. Las celdas se ordenan por importancia de fila.
Suponga que una consulta solicita cuatro medidas en las columnas y una combinación cruzada de dos estados con cuatro trimestres en las filas. Al seguir el resultado del conjunto de datos, la propiedad CellOrdinal de la parte del resultado del conjunto de datos que se muestra en negrita es el conjunto {9, 10, 11, 13, 14, 15, 17, 18, 19}. Este es el conjunto porque las celdas se numeran en orden de fila principal, empezando por un CellOrdinal de 0 para la celda superior izquierda.
State | Quarter (Trimestre) | Unit sales | Store cost | Store sales | Sales count |
---|---|---|---|---|---|
California | T1 | 16890 | 14431.09 | 36175.2 | 5498 |
T2 | 18052 | 15332.02 | 38396.75 | 5915 | |
T3 | 18370 | 15672.83 | 39394.05 | 6014 | |
T4 | 21436 | 18094.5 | 45201.84 | 7015 | |
Oregón | T1 | 19287 | 16081.07 | 40170.29 | 6184 |
T2 | 15079 | 12678.96 | 31772.88 | 4799 | |
T3 | 16940 | 14273.78 | 35880.46 | 5432 | |
T4 | 16353 | 13738.68 | 34453.44 | 5196 | |
Washington | T1 | 30114 | 25240.08 | 63282.86 | 9906 |
T2 | 29479 | 24953.25 | 62496.64 | 9654 | |
T3 | 30538 | 25958.26 | 64997.38 | 10007 | |
T4 | 34235 | 29172.72 | 73016.34 | 11217 |
Si se aplica la fórmula de la figura, el eje k = 0 tiene Uk = 4 miembros, y el eje k = 1 tiene Uk = 8 tuplas. P = 2 es el número total de ejes de la consulta. Si se toma la celda que es {California, Q3, Store Cost} como S0, la suma inicial es i = 0 a 1. Para i = 0, la tupla ordinal del eje 0 de {Store Cost} es 1. Para i = 1, la tupla ordinal de {CA, Q3} es 2.
Para i = 0, Ei = 1, por lo que para i = 0 la suma es 1 * 1 = 1 y para i = 1, la suma es 2 (ordinal de la tupla) por 4 (el valor de Ei calculado como 1 * 4), o 8. La suma de 1 + 8 es 9, el ordinal de celda de esa celda.
Ejemplo
En el ejemplo siguiente se muestra la estructura del elemento Cell , incluidos los valores value, FORMATTED_VALUE y FORMAT_STRING propiedad de celda para cada celda.
<CellData>
<Cell CellOrdinal="0">
<Value xsi:type="xsd:double">16890</Value>
<FmtValue>16,890.00</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
<Cell CellOrdinal="1">
<Value xsi:type="xsd:int">50</Value>
<FmtValue>50</FmtValue>
<FormatString>Standard</FormatString>
</Cell>
<Cell CellOrdinal="2">
<Value xsi:type="xsd:double">36175.2</Value>
<FmtValue>$36,175.20</FmtValue>
<FormatString>Currency</FormatString>
</Cell>
</CellData>