/ / EXISTS nie w pełni filtruje zgodnie z oczekiwaniami - ssas, mdx

EXISTS nie w pełni filtruje zgodnie z oczekiwaniami - ssas, mdx

Jeśli wykonam następujące czynności, istnieje cała sekcja Klientów, którzy są (zerową) kwotą sprzedaży internetowej w 2007 i 2008 roku - dlaczego? Jak korzystać EXISTS aby filtrować tylko do klientów, którzy mają wyniki za lata w wybranych

Uwaga: Wybór lat może się różnić InitialSet musi być świadomy kontekstu, dlatego go użyłem [Date].[Calendar Weeks].CURRENTMEMBER z funkcją 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]
);

Odpowiedzi:

1 dla odpowiedzi № 1

Zestawy są oceniane przez Analysis Services przez wzięciepod uwagę klauzula WHERE, ale nie przy użyciu ustawień wierszy ani kolumn. Jeśli chcesz ocenić zestawy tylko dla 2007 i 2008 r., Musisz to stwierdzić.

Właściwie to [Date].[Calendar Weeks].CURRENTMEMBER w pierwszym zestawie będzie odnosił się do domyślnego członka [Date].[Calendar Weeks] hierarchia, która jest All członek.