Funkcja ALL (język DAX)
Zwraca wszystkie wiersze w tabeli lub wszystkie wartości w kolumnie, ignorując wszelkie zastosowane filtry.Ta funkcja jest przydatna do czyszczenia filtrów i przeprowadzania obliczeń na wszystkich wierszach tabeli.
Składnia
ALL( {<table> | <column>[, <column>[, <column>[,…]]]} )
Parametry
Termin |
Definicja |
---|---|
tabela |
Tabela, w której mają zostać wyczyszczone filtry. |
kolumna |
Kolumna, w której mają zostać wyczyszczone filtry. |
Argumentem funkcji ALL musi być odwołanie do tabeli podstawowej lub do kolumny podstawowej.Nie można z nią używać wyrażenia tabeli ani wyrażenia kolumny.
Wartość zwracana
Tabela lub kolumna z usuniętymi filtrami.
Uwagi
Ta funkcja nie jest używana samodzielnie, lecz pełni rolę funkcji pośredniej — można jej użyć do zmiany zestawu wyników, na których jest wykonywane jakieś inne obliczenie.
Zgodnie z opisem w poniższej tabeli funkcji ALL i ALLEXCEPT można używać w różnych scenariuszach.
Funkcja i użycie |
Opis |
---|---|
ALL(tabela) |
Usuwa wszystkie filtry z określonej tabeli.W efekcie funkcja ALL(tabela) zwraca wszystkie wartości w tabeli, usuwając z kontekstu wszystkie filtry, które w przeciwnym wypadku mogłyby zostać zastosowane. Ta funkcja jest przydatna w przypadku pracy z wieloma poziomami grupowania, gdy trzeba obliczyć stosunek wartości zagregowanej do wartości łącznej.Ten scenariusz zilustrowano w pierwszym przykładzie. |
ALL (kolumna[, kolumna[, …]]) |
Usuwa wszystkie filtry z określonych kolumn w tabeli; wszystkie inne filtry dotyczące innych kolumn w tabeli są nadal stosowane.Wszystkie argumenty „kolumna” muszą pochodzić z jednej tabeli. Wariant ALL(kolumna) jest przydatny, gdy trzeba usunąć filtry kontekstowe z co najmniej jednej określonej kolumny i zachować wszystkie inne filtry kontekstowe. Ten scenariusz zilustrowano w drugim i trzecim przykładzie. |
ALLEXCEPT(tabela, kolumna1 [,kolumna2]...) |
Usuwa wszystkie filtry kontekstowe z tabeli z wyjątkiem filtrów zastosowanych do określonych kolumn. Jest to wygodny skrót do zastosowania w sytuacjach, gdy trzeba usunąć filtry z wielu, ale nie ze wszystkich, kolumn tabeli. |
Przykład: Obliczyć stosunek sprzedaży kategorii łącznej sprzedaży
Opis
Należy znaleźć kwotę sprzedaży dla bieżącej komórki w tabeli przestawnej podzieloną przez łączną kwotę sprzedaży dla wszystkich odsprzedawców.Aby upewnić się, że mianownik będzie zawsze taki sam, niezależnie od sposobu przefiltrowania lub pogrupowania danych tabeli przestawnej, należy zdefiniować formułę używającą funkcji ALL do obliczenia poprawnej sumy końcowej.
W poniższej tabela przedstawiono wyniki podczas tworzenia nowej miara stosunek sprzedaży wszystkich sprzedawcy, stosując wzór pokazano w sekcji kodu.Aby zobaczyć, jak działa, Dodaj pole CalendarYear, do Etykiety wierszy obszaru tabela przestawna, i dodać do pola, ProductCategoryName, Etykiety kolumn obszaru.Następnie przeciągnij do miara, stosunek sprzedaży wszystkich sprzedawcy, wartości obszaru tabeli przestawnej.Aby wyświetlić wyniki jako wartości procentowe, użyj funkcji formatowania programu Excel w celu zastosowania formatowania procentowego do komórek, które zawierają miarę.
Sprzedaż wszystkich odsprzedawców |
Etykiety kolumn |
|
|
|
|
---|---|---|---|---|---|
Etykiety wierszy |
Accessories |
Bikes |
Clothing |
Components |
Suma końcowa |
2001 |
0.02% |
9.10% |
0.04% |
0.75% |
9.91% |
2002 |
0.11% |
24.71% |
0.60% |
4.48% |
29.90% |
2003 |
0.36% |
31.71% |
1.07% |
6.79% |
39.93% |
2004 |
0.20% |
16.95% |
0.48% |
2.63% |
20.26% |
Suma końcowa |
0.70% |
82.47% |
2.18% |
14.65% |
100.00% |
Kod
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
Komentarze
Formuła jest skonstruowana w następujący sposób:
Licznik, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), jest sumą wartości w ResellerSales_USD [SalesAmount_USD] dla bieżącej komórka tabela przestawna z kontekstu filtry zastosowane na CalendarYear i ProductCategoryName.
Aby obliczyć mianownik, najpierw należy określić tabelę ResellerSales_USD, a następnie użyć funkcji ALL w celu usunięcia wszystkich filtrów kontekstowych zastosowanych do tabeli.
Następnie funkcja SUMX sumuje wartości w kolumnie ResellerSales_USD[SalesAmount_USD].Innymi słowy, zostaje uzyskana suma wartości sprzedaży z kolumny ResellerSales_USD[SalesAmount_USD] dla wszystkich odsprzedawców.
Aby uzyskać więcej informacji o tworzeniu środków, zobacz Tworzenie miary w tabeli przestawnej lub na wykresie przestawnym.
Ostrzeżenie
W powyższym przykładzie są używane tabele ResellerSales_USD, DateTime i ProductCategory z przykładowego skoroszytu języka DAX.Aby uzyskać więcej informacji dotyczących próbek, zobacz Pobieranie przykładowych danych dla programu PowerPivot .
Przykład: Obliczyć stosunek sprzedaży produktów w łącznej sprzedaży za bieżący rok
Opis
Należy utworzyć tabelę z procentem sprzedaży porównywanym na przestrzeni lat dla poszczególnych kategorii produktów (ProductCategoryName).Aby uzyskać procent dla poszczególnych lat i każdej wartości ProductCategoryName, należy podzielić sumę wartości sprzedaży dla określonego roku i kategorii produktów przez sumę sprzedaży dla tej samej kategorii produktów we wszystkich latach.Innymi słowy, przy obliczaniu mianownika wartości procentowej należy zachować filtr dla kolumny ProductCategoryName i usunąć filtr dla roku.
W poniższej tabela przedstawiono wyniki podczas tworzenia nowej miara Reseller roku sprzedaży, stosując wzór pokazano w sekcji kodu.Aby zobaczyć, jak działa, Dodaj pole CalendarYear, do Etykiety wierszy obszaru tabela przestawna, i dodać do pola, ProductCategoryName, Etykiety kolumn obszaru.Do wyświetlania wyniki jako wartości procentowe, należy użyć funkcji formatowania programu Excel, aby zastosować format procentowy do komórek zawierających miara roku sprzedaży sprzedawcą.
Roczna sprzedaż odsprzedawców |
Etykiety kolumn |
|
|
|
|
---|---|---|---|---|---|
Etykiety wierszy |
Accessories |
Bikes |
Clothing |
Components |
Suma końcowa |
2001 |
3.48% |
11.03% |
1.91% |
5.12% |
9.91% |
2002 |
16.21% |
29.96% |
27.29% |
30.59% |
29.90% |
2003 |
51.62% |
38.45% |
48.86% |
46.36% |
39.93% |
2004 |
28.69% |
20.56% |
21.95% |
17.92% |
20.26% |
Suma końcowa |
100.00% |
100.00% |
100.00% |
100.00% |
100.00% |
Kod
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
Komentarze
Formuła jest skonstruowana w następujący sposób:
Licznik, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), jest sumą wartości w ResellerSales_USD [SalesAmount_USD] dla bieżącej komórka w tabela przestawnej w kontekście filtry zastosowane w kolumnach CalendarYear i ProductCategoryName.
Aby obliczyć mianownik, należy usunąć istniejący filtr z kolumny CalendarYear, używając funkcji ALL(kolumna).Następnie jest obliczana suma dla pozostałych wierszy w tabeli ResellerSales_USD, po zastosowaniu istniejących filtrów kontekstowych z obszaru Etykiety kolumn.W efekcie mianownik jest sumą obliczoną dla wybranej wartości ProductCategoryName (domniemany filtr kontekstowy) i wszystkich wartości lat.
Aby uzyskać więcej informacji o tworzeniu środków, zobacz Tworzenie miary w tabeli przestawnej lub na wykresie przestawnym.
Ostrzeżenie
W tym przykładzie są używane tabele ResellerSales_USD, DateTime i ProductCategory z przykładowego skoroszytu języka DAX.Aby uzyskać więcej informacji dotyczących próbek, zobacz Pobieranie przykładowych danych dla programu PowerPivot .
Przykład: Obliczyć udział kategorii produktów w łącznej sprzedaży rocznie
Opis
Należy utworzyć tabelę przedstawiającą procent sprzedaż każdej kategorii produktów w każdym roku.Aby uzyskać wartość procentową dla każdej kategorii produktów w określonym roku, należy obliczyć sumę sprzedaży dla danej kategorii danego produktu (ProductCategoryName) w roku n, a następnie podzielić wartość wynikową przez sumę sprzedaży w roku n przez wszystkie kategorie produktów.Innymi słowy, przy obliczaniu mianownika wartości procentowej należy zachować filtr dla roku, a usunąć filtr dla kolumny ProductCategoryName.
W poniższej tabela przedstawiono wyniki podczas tworzenia nowej miara Reseller sprzedaży NazwaKategorii, stosując wzór pokazano w sekcji kodu.Aby zobaczyć, jak działa, należy dodać pole, CalendarYear do Etykiety wierszy obszaru tabela przestawna, i dodać do pola, ProductCategoryName, Etykiety kolumn obszaru.Następnie dodaj nowego miara wartości obszaru tabela przestawna.Aby obejrzeć wyniki jako procenty, zastosować format procentowy do komórek, zawierających nowej miara Reseller NazwaKategorii sprzedaży za pomocą funkcji formatowania programu Excel.
Nazwa kategorii sprzedaży odsprzedawców |
Etykiety kolumn |
|
|
|
|
---|---|---|---|---|---|
Etykiety wierszy |
Accessories |
Bikes |
Clothing |
Components |
Suma końcowa |
2001 |
0.25% |
91.76% |
0.42% |
7.57% |
100.00% |
2002 |
0.38% |
82.64% |
1.99% |
14.99% |
100.00% |
2003 |
0.90% |
79.42% |
2.67% |
17.01% |
100.00% |
2004 |
0.99% |
83.69% |
2.37% |
12.96% |
100.00% |
Suma końcowa |
0.70% |
82.47% |
2.18% |
14.65% |
100.00% |
Kod
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
Komentarze
Formuła jest skonstruowana w następujący sposób:
Licznik, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), jest sumą wartości w ResellerSales_USD [SalesAmount_USD] dla bieżącej komórka tabela przestawna z filtrami kontekst, stosowany na polach CalendarYear i ProductCategoryName.
Aby obliczyć mianownik, należy za pomocą funkcji ALL(kolumna) usunąć filtr z kolumny ProductCategoryName, a następnie obliczyć sumę pozostałych wierszy tabeli ResellerSales_USD po zastosowaniu istniejących filtrów kontekstowych z obszaru Etykiety wierszy.W efekcie mianownik jest sumą obliczoną dla wybranego roku (domniemany filtr kontekstowy) i dla wszystkich wartości pola ProductCategoryName.
Aby uzyskać więcej informacji o tworzeniu środków, zobacz Tworzenie miary w tabeli przestawnej lub na wykresie przestawnym.
Ostrzeżenie
W tym przykładzie są używane tabele ResellerSales_USD, DateTime i ProductCategory z przykładowego skoroszytu języka DAX.Aby uzyskać więcej informacji dotyczących próbek, zobacz Pobieranie przykładowych danych dla programu PowerPivot .
Zobacz także