Udostępnij za pośrednictwem


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:

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

  2. 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.

  3. 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:

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

  2. 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:

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

  2. 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 .