Manipulacja danymi MDX — Funkcja RollupChildren

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.

Zobacz też

Manipulowanie danymi (MDX)