Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Funkcja Multidimensional Expressions (MDX) RollupChildren agreguje dzieci członka, stosując inny operator jednoargumentowy do każdego dziecka, i zwraca wartość tego agregatu jako liczbę. Operator jednoargumentowy może być dostarczany przez właściwość składową skojarzoną z członem podrzędnym, lub operator może być wyrażeniem tekstowym dostarczonym bezpośrednio do funkcji.
Przykłady funkcji RollupChildren
Użycie funkcji RollupChildren w instrukcjach Multidimensional Expressions (MDX) jest proste do wyjaśnienia, ale wpływ tej funkcji na zapytania MDX może być szeroko zakrojone.
Efekt funkcji RollupChildren występuje w zapytaniach MDX zaprojektowanych do przeprowadzania selektywnej analizy istniejących danych modułu. Na przykład poniższa tabela zawiera listę podrzędnych członków członka nadrzędnego Net Sales z operatorami jednoargumentowymi (reprezentowanymi przez właściwość członka UNARY_OPERATOR) pokazanymi w nawiasach.
| Członek nadrzędny | Element podrzędny |
|---|---|
| Sprzedaż netto | Sprzedaż krajowa (+) Zwroty krajowe (-) Sprzedaż zagraniczna (+) Zwroty obce (-) |
Członek nadrzędny Net Sales obecnie zapewnia łączną wartość sprzedaży netto, pomniejszoną o wartości sprzedaży krajowej i zagranicznej brutto, przy czym zwroty krajowe i zagraniczne są odjęte jako część zagregowanego zestawienia.
Jednak chcesz szybko i łatwo sporządzić prognozę krajowej i zagranicznej sprzedaży brutto, powiększoną o 10%, ignorując krajowe i zagraniczne zwroty. Aby obliczyć tę wartość, możesz użyć funkcji RollupChildren na jeden z dwóch sposobów: z niestandardową właściwością składową lub funkcją IIf .
Używanie niestandardowej właściwości składowej
Jeśli obliczenie agregacji ma być często wykonywaną operacją, jedną z metod jest utworzenie właściwości elementu, która przechowuje operator używany dla każdego elementu podrzędnego w kontekście określonej funkcji. W poniższej tabeli przedstawiono prawidłowe operatory jednoargumentowe i opisano oczekiwany wynik.
| Operator | Wynik |
|---|---|
| + | suma = suma + bieżący element |
| - | total = total - current child |
| * | suma = suma * bieżące dziecko |
| / | suma = suma / bieżące dziecko |
| ~ | Element podrzędny nie jest używany w zestawie zbiorczym. Wartość dziecka jest ignorowana. |
Na przykład można utworzyć właściwość składową o nazwie SALES_OPERATOR , a następujące operatory jednoargumentowe zostaną przypisane do tej właściwości składowej, jak pokazano w poniższej tabeli.
| Członek nadrzędny | Element podrzędny |
|---|---|
| Sprzedaż netto | Sprzedaż krajowa (+) Zwroty krajowe (~) Sprzedaż zagraniczna (+) Zwroty obce (~) |
Z tą nową właściwością członka, następująca instrukcja MDX szybko i wydajnie wykona operację szacowania sprzedaży brutto (pomijając zwroty zagraniczne i krajowe):
RollupChildren([Net Sales], [Net Sales].CurrentMember.Properties("SALES_OPERATOR")) * 1.1
Po wywołaniu funkcji wartość każdego elementu podrzędnego jest stosowana do sumy przy użyciu operatora przechowywanego we właściwości składowej. Członkowie krajowych i zagranicznych zwrotów są ignorowane, a suma zbiorcza zwracana przez funkcję RollupChildren jest mnożona przez 1,1.
Korzystanie z funkcji IIf
Jeśli przykładowa operacja nie jest powszechna lub jeśli operacja ma zastosowanie tylko do jednego zapytania MDX, funkcja IIf może być używana z funkcją RollupChildren , aby podać ten sam wynik. Następujące zapytanie MDX zapewnia taki sam wynik jak w poprzednim przykładzie MDX, ale nie uciekając się do używania niestandardowej właściwości elementu członkowskiego:
RollupChildren([Net Sales], IIf([Net Sales].CurrentMember.Properties("UNARY_OPERATOR") = "-", "~", [Net Sales].CurrentMember.Properties("UNARY_OPERATOR))) * 1.1
Instrukcja MDX sprawdza operator jednoargumentowy podrzędnego elementu członkowskiego. Jeśli operator jednoargumentowy jest używany do odejmowania (tak jak w przypadku elementów członkowskich krajowych i zagranicznych), funkcja IIf zastępuje operator jednoargumentowy tyldy (~). W przeciwnym razie funkcja IIf używa operatora jednoargumentowego elementu członkowskiego podrzędnego. Na koniec zwrócona suma zestawienia jest następnie mnożona przez 1,1, aby uzyskać wartość prognozy przychodów brutto krajowych i zagranicznych.