Pregunta

Estoy teniendo un problema restringiendo una consulta en MDX, su uso excepto función en donde cláusula. i necesidad de recuperar un conjunto de datos, pero que no en un conjunto específico. Entonces creé la siguiente consulta:

select {[Measures].[Amount], [Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE], ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS 
FROM [Transactions]
where except([Product].[All Products].Children,{[Product].[All Products].[Debit})

Al parecer, esto funciona bien, pero cuando intento agregar otra restricción para máquina de cortar, tengo este error:. Sin función coincide con la firma (Set, miembros)

Actualmente estoy trabajando en Mondrian 3.1

¿Es posible añadir múltiples restricciones a la máquina de cortar cuando estoy cantar la excepción de la función? ¿Hay alguna otra manera de conseguir esto?

¿Fue útil?

Solución 2

Al parecer, esto no se puede hacer en Mondrian, porque hay un error que no permite la segmentación de datos compuestos. He encontrado unas soluciones agradables utilizando Mondrian OLAP Server. Se trata de crear un miembro que excluye el conjunto que yo no quería. Parece que este.

WITH member [Product].[Except] as ([Product].[All  Products]) - 
([Product].[All Products].[Debit]) 
SELECT {[Measures].[Amount],[Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,
{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE],[ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS 
FROM [Transactions] 
WHERE[Product].[Except]

Otros consejos

El función Excepto sólo funciona con juegos. Pero se puede usar n dimensiones en su where:

select {[Measures].[Amount], [Measures].[Transaction Cost], [Measures].[Transaction Number]} ON COLUMNS,{[ManualProcessing].[All ManualProcessings].[MAGNETICSTRIPE], ManualProcessing].[All ManualProcessings].[MANUAL]} ON ROWS 
FROM [Transactions]
where 
   (
      except([Product].[All Products].Children,{[Product].[All Products].[Debit}),
      except([Set],[Set to exclude])
   )

Esto funciona de Analysis Services 2005, que debería funcionar en Mondrian

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top