/ / EXISTS não é totalmente filtrado como esperado - ssas, mdx

EXISTS não é totalmente filtrada como esperado - ssas, mdx

Se eu exibir o seguinte, há uma seção inteira de clientes que são (nulos) quantidade de vendas pela Internet para 2007 e 2008 - por que isso acontece? Como eu uso EXISTS para filtrar apenas os clientes que têm resultados para os anos no select

nota: A escolha dos anos pode variar InitialSet precisa ser contexto ciente, portanto, eu usei [Date].[Calendar Weeks].CURRENTMEMBER com a função EXISTS.

WITH
SET [InitialSet] AS
EXISTS(
{[Customer].[Customer].[Customer].MEMBERS},
[Date].[Calendar Weeks].CURRENTMEMBER,
"Internet Sales"
)
SET [OrderedSet] AS
NONEMPTY
(
ORDER
(
[InitialSet],
[Measures].[Internet Sales Amount],
BDESC
)
,([Measures].[Internet Sales Amount],[Date].[Calendar Weeks].CURRENTMEMBER)
)
SELECT
{
[Date].[Calendar Weeks].[Calendar Year].&[2007],
[Date].[Calendar Weeks].[Calendar Year].&[2008]
}  ON 0,
[OrderedSet] ON 1
FROM [Adventure Works]
WHERE (
[Measures].[Internet Sales Amount]
);

Respostas:

1 para resposta № 1

Conjuntos são avaliados pelo Analysis Services,a cláusula WHERE em conta, mas não está usando nenhuma configuração de linha ou coluna. Se você gostaria de avaliar os conjuntos apenas para 2007 e 2008, você deve declarar isso.

Na verdade, o [Date].[Calendar Weeks].CURRENTMEMBER no seu primeiro set se referirá ao membro padrão do [Date].[Calendar Weeks] hierarquia, que é o All membro.