Pregunta

Si tengo una consulta MDX simple como:

 SELECT 
 NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
 NON EMPTY {  [Date].[Date].[Date]  } 
 ON ROWS FROM [MyCube] 

Y quiero filtrarlo por un Id y otra dimensión, esto es bastante fácil.

 SELECT 
 NON EMPTY { [Measures].[Amount] } ON COLUMNS, 
 NON EMPTY {  [Date].[Date].[Date]  } 
 ON ROWS FROM [MyCube] 
WHERE (Asset].[Id].&[123])

pero si tengo varios Id, ¿hay alguna forma de pasarlos sin generar dinámicamente la consulta MDX?

¿Fue útil?

Solución

No estoy 100% seguro de lo que quieres decir con no construir dinámicamente la consulta MDX, pero la forma de la consulta que deseas es esta:

SELECT
    NON EMPTY { [Measures].[Amount] } ON COLUMNS,
    NON EMPTY { [Date].[Date].[Date] } ON ROWS
FROM [MyCube]
WHERE (
    [Asset].[Id].&[123],
    [OtherDim].[Foo].&[3919]
)

... así que supongo que necesitaría un edificio dinámico, pero nada demasiado estresante.

Otros consejos

Prueba esto:

SELECT
    NON EMPTY { [Measures].[Amount] } ON COLUMNS,
    NON EMPTY { [Date].[Date].[Date] } ON ROWS
FROM [MyCube]
WHERE (
   { [Asset].[Id].&[123],[Asset].[Id].&[124]}
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top