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 № 1Zestawy 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.