Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El eje segmentador filtra los datos devueltos por la instrucción SELECT de Expresiones Multidimensionales (MDX), limitando los datos para que solo se presenten aquellos que se intersecan con los miembros especificados. Se puede considerar como un eje adicional invisible en una consulta. El eje cortador se define en la cláusula WHERE de la instrucción SELECT en MDX.
Sintaxis del eje de cortadora
Para especificar explícitamente un eje de segmentación de datos, use <SELECT slicer axis clause> en MDX, como se describe en la sintaxis siguiente:
<SELECT slicer axis clause> ::= WHERE Set_Expression
En la sintaxis del eje de segmentación que se muestra, Set_Expression puede tomar una expresión de tupla, que se trata como un conjunto para evaluar la cláusula, o una expresión de conjunto. Si se especifica una expresión set, MDX intentará evaluar el conjunto, agregando las celdas de resultado en cada tupla a lo largo del conjunto. En otras palabras, MDX intentará usar la función Aggregate en el conjunto, agregando cada medida por su función de agregación asociada. Además, si la expresión de conjunto no se puede expresar como una unión cruzada de miembros de jerarquía de atributos, MDX trata las celdas que se encuentran fuera de la expresión de conjunto para el cortador como null con fines de evaluación.
Importante
A diferencia de la cláusula WHERE de SQL, la cláusula WHERE de una instrucción MDX SELECT nunca filtra directamente lo que se devuelve en el eje Filas de una consulta. Para filtrar lo que aparece en el eje Filas o Columnas de una consulta, puede usar una variedad de funciones MDX, por ejemplo FILTER, NONEMPTY y TOPCOUNT.
Eje de segmentador implícito
Si un miembro de una jerarquía dentro del cubo no se incluye explícitamente en un eje de consulta, el miembro predeterminado de esa jerarquía se incluye implícitamente en el eje de filtro. Para obtener más información sobre los miembros predeterminados, vea Definir un miembro predeterminado.
Ejemplos
La consulta siguiente no incluye una cláusula WHERE y devuelve el valor de la medida Internet Sales Amount para todos los años naturales:
SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM [Adventure Works]
Agregue una cláusula WHERE, como se indica a continuación:
SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM [Adventure Works]
WHERE([Customer].[Customer Geography].[Country].&[United States])
no cambia lo que se devuelve en filas o columnas de la consulta; cambia los valores devueltos para cada celda. En este ejemplo, la consulta se segmenta para que devuelva el valor de Internet Sales Amount para todos los años naturales, pero solo para los clientes que viven en Estados Unidos.Se pueden agregar varios miembros de jerarquías diferentes a la cláusula WHERE. En la consulta siguiente se muestra el monto de ventas por Internet para todos los años naturales para los clientes que viven en Estados Unidos y que compraron productos en la categoría de bicicletas.
SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM [Adventure Works]
WHERE([Customer].[Customer Geography].[Country].&[United States], [Product].[Category].&[1])
Si desea usar varios miembros de la misma jerarquía, debe incluir un conjunto en la cláusula WHERE. Por ejemplo, la consulta siguiente muestra el valor del Monto de Ventas por Internet para todos los años calendario para los clientes que compraron productos en la categoría de bicicletas y viven en Estados Unidos o en el Reino Unido.
SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM [Adventure Works]
WHERE(
{[Customer].[Customer Geography].[Country].&[United States]
, [Customer].[Customer Geography].[Country].&[United Kingdom]}
, [Product].[Category].&[1])
Como se mencionó anteriormente, el uso de un conjunto en la cláusula WHERE agregará implícitamente valores para todos los miembros del conjunto. En este caso, la consulta muestra valores agregados para Estados Unidos y Reino Unido en cada celda.