Freigeben über


ALL

Gilt für:Berechnete Spalteberechnete TabelleMeasurevisuelle Berechnung

Gibt all die Zeilen in einer Tabelle zurück, orall die values in einer Spalte, wobei alle filters ignoriert werden, die möglicherweise angewendet wurden. Diese Funktion ist nützlich, um filtersand Erstellen von Berechnungen für all zeilen in einer Tabelle zu löschen.

Syntax

ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )

Parameter

Ausdruck Definition
table Die Tabelle, für die Sie filters löschen möchten.
column Die Spalte, für die Sie filters löschen möchten.

Das Argument für die ALL-Funktion muss entweder ein Verweis auf eine Basistabelle or einen Verweis auf eine Basisspalte sein. Tabellenausdrücke können nicht or Spaltenausdrücke mit der ALL-Funktion verwendet werden.

value zurückgeben

Die Tabelle or Spalte mit entfernten filters.

Bemerkungen

  • Diese Funktion wird not von sich selbst verwendet, dient jedoch als Zwischenfunktion, die verwendet werden kann, um den Satz der Ergebnisse zu ändern, über die eine andere Berechnung durchgeführt wird.

  • Das normale Verhalten für DAX Ausdrücke, die die funktion ALL() enthalten, besteht darin, dass alle angewendeten filters ignoriert werden. Es gibt jedoch einige Szenarien, in denen dies aufgrund von notauto-exist Fall ist, eine DAX Technologie, die die Filterung optimiert, um die für bestimmte DAX Abfragen erforderliche Verarbeitung zu verringern. Ein Beispiel, bei dem andALL() unerwartete Ergebnisse liefern, besteht darin, dass nach zwei or mehr Spalten derselben Tabelle (z. B. bei Verwendung von Datenschnitten) gefiltert wird, and eine measure in derselben Tabelle vorhanden ist, die ALL() verwendet. In diesem Fall wird automatisch zusammenführen, das Vielfache filters in einem and nur für vorhandene Kombinationen von filtervalues. Aufgrund dieser Zusammenführung wird der measure auf den vorhandenen Kombinationen von valuesand das Ergebnis basiert auf gefilterten values anstelle von allvalues wie erwartet. Weitere Informationen zum automatischen Existieren and seiner effect zu Berechnungen finden Sie in microsoft MVP Alberto Ferraris Understanding DAX Auto-Exist Artikel zu sql.bi.com.

  • In der folgenden Tabelle wird beschrieben, wie Sie die ALLandALLEXCEPT Funktionen in verschiedenen Szenarien verwenden können.

    Funktion and Verwendung Beschreibung
    ALL() Entfernt allfilters überall. ALL() kann nur verwendet werden, um filters zu löschen, aber not, um eine Tabelle zurückzugeben.
    ALL(Tabelle) Entfernt allfilters aus der angegebenen Tabelle. In effectgibt ALL(Tabelle) all der values in der Tabelle zurück, wobei alle filters aus dem Kontext entfernt werden, der andernfalls angewendet wurde. Diese Funktion ist nützlich, wenn Sie mit vielen Gruppierungsebenen arbeiten, and eine Berechnung erstellen möchten, die ein Verhältnis eines aggregierten value zu der Summe valueerstellt. Das first Beispiel veranschaulicht dieses Szenario.
    ALL (Spalte[, Spalte[, ...]]) Entfernt allfilters aus den angegebenen Spalten in der Tabelle; all andere filters in anderen Spalten in der Tabelle gelten weiterhin. All Spaltenargumente müssen aus derselben Tabelle stammen. Die variante ALL(Column) ist nützlich, wenn Sie den Kontext filters für eine or spezifischeren Spalten and entfernen möchten, um all anderen Kontext filterszu behalten. Die secondand dritten Beispiele veranschaulichen dieses Szenario.
    ALLEXCEPT(Tabelle, Spalte1 [;Spalte2]...) Entfernt all Kontext filters in der Tabelle exceptfilters, die auf die angegebenen Spalten angewendet werden. Dies ist eine praktische Verknüpfung für Situationen, in denen Sie die filters für viele entfernen möchten, aber notall, Spalten in einer Tabelle.
  • Diese Funktion wird not für die Verwendung im DirectQuery-Modus unterstützt, wenn sie in berechneten Spalten or Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.

Beispiel 1

Calculate Verhältnis zwischen Kategorieumsatz und Gesamtumsatz

Gehen Sie davon aus, dass Sie den Umsatz für die aktuelle Zelle in Ihrer PivotTable find möchten, dividiert durch den Gesamtumsatz für all Händler. Um sicherzustellen, dass der Nenner unabhängig davon, wie der PivotTable-Benutzer möglicherweise or Gruppieren der Daten filtert, ist, define Sie eine Formel, die ALL verwendet, um die richtige Gesamtsumme zu erstellen.

Die folgende Tabelle zeigt die Ergebnisse, wenn ein neues measure, All Reseller Sales Ratio, mithilfe der im Codeabschnitt gezeigten Formel erstellt wird. Um zu sehen, wie dies funktioniert, fügen Sie das Feld "CalendarYear" zum bereich Zeilenbeschriftungen der PivotTable hinzu, and das Feld "ProductCategoryName" zum bereich Spaltenbeschriftungen hinzufügen. Ziehen Sie dann die measure, All Reseller Sales Ratio, in den Values Bereich der Pivot Table. Um die Ergebnisse als Prozentsätze anzuzeigen, verwenden Sie die Formatierungsfeatures von Excel, um eine Prozentzahlformatierung auf die Zellen anzuwenden, die die containsmeasure.

Zeilenbeschriftungen Zubehör Fahrräder Kleidung Komponenten Gesamtsumme
2005 0.02% 9.10% 0.04% 0.75% 9.91%
2006 0.11% 24.71% 0,60% 4.48% 29.90%
2007 0.36% 31.71% 1.07% 6.79% 39.93%
2008 0.20% 16.95% 0.48% 2.63% 20.26%
Gesamtsumme 0.70% 82.47% 2.18% 14.65% 100.00%

Formel-

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])

Die Formel wird wie folgt erstellt:

  1. Der Zähler SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])ist die sum des values in ResellerSales_USD[SalesAmount_USD] für die aktuelle Zelle in der PivotTable, wobei kontextbezogene filters auf CalendarYear and ProductCategoryName angewendet werden.

  2. Für den Nenner geben Sie zunächst eine Tabelle ResellerSales_USD an, and die funktion ALL verwenden, um all Kontext filters in der Tabelle zu entfernen.

  3. Anschließend verwenden Sie die funktion SUMX, um die sum in der Spalte ResellerSales_USD[SalesAmount_USD] zu values. Mit anderen Worten, Sie erhalten die sum von ResellerSales_USD[SalesAmount_USD] für all Händlerverkäufer.

Beispiel 2

Calculate Verhältnis zwischen Product Umsatz und Gesamtumsatz über aktuelle Year

Gehen Sie davon aus, dass Sie eine Tabelle erstellen möchten, die den Prozentsatz des Umsatzes im Vergleich zu den Jahren für jede product Kategorie (ProductCategoryName) anzeigt. Um den Prozentsatz für jede year für jede value von ProductCategoryName zu erhalten, müssen Sie die divide des Umsatzes für diese bestimmte sumyearand Kategorie anhand der product des Umsatzes für dieselbe sum Kategorie über product Jahre all. Mit anderen Worten, Sie möchten die filter auf ProductCategoryName beibehalten, aber die filter für die year entfernen, wenn Sie den Nenner des Prozentsatzes berechnen.

In der folgenden Tabelle sind die Ergebnisse aufgeführt, wenn ein neues measure, Reseller Sales Year, mithilfe der im Codeabschnitt gezeigten Formel erstellt wird. Um zu sehen, wie dies funktioniert, fügen Sie das Feld "CalendarYear" zum bereich Zeilenbeschriftungen einer PivotTable hinzu, and das Feld "ProductCategoryName" zum bereich Spaltenbeschriftungen hinzufügen. Um die Ergebnisse als Prozentsätze anzuzeigen, verwenden Sie die Formatierungsfeatures von Excel, um eine Prozentzahl format auf die Zellen anzuwenden, die die measureenthalten, Reseller Sales Year.

Zeilenbeschriftungen Zubehör Fahrräder Kleidung Komponenten Gesamtsumme
2005 3.48% 11.03% 1.91% 5.12% 9.91%
2006 16.21% 29.96% 27.29% 30.59% 29.90%
2007 51.62% 38.45% 48.86% 46.36% 39.93%
2008 28.69% 20.56% 21.95% 17.92% 20.26%
Gesamtsumme 100.00% 100.00% 100.00% 100.00% 100.00%

Formel-

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))

Die Formel wird wie folgt erstellt:

  1. Der Zähler, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), ist die sum der values in ResellerSales_USD[SalesAmount_USD] für die aktuelle Zelle in der PivotTable, wobei kontextbezogene filters auf die Spalten CalendarYear and ProductCategoryName angewendet wird.

  2. Für den Nenner entfernen Sie die vorhandene filter in CalendarYear mithilfe der Funktion ALL(Spalte). Dadurch wird die sum über den verbleibenden Zeilen in der ResellerSales_USD Tabelle berechnet, nachdem der vorhandene Kontext filters aus den Spaltenbeschriftungen angewendet wurde. Der netto effect ist, dass für den Nenner der sum über den ausgewählten ProductCategoryName (den implizierten Kontext filter) berechnet wird, and für allvalues in Year.

Beispiel 3

Calculate Beitrag Product Kategorien zum Gesamtumsatz pro Year

Angenommen, Sie möchten eine Tabelle erstellen, die den Prozentsatz des Umsatzes für jede product Kategorie auf einer year-nach-year-Basis anzeigt. Um den Prozentsatz für jede product Kategorie in einem bestimmten yearzu erhalten, calculate müssen Sie die sum des Umsatzes für diese bestimmte product Kategorie (ProductCategoryName) in year n and dann die resultierende divide durch den value des Umsatzes für die sum n über yearall Kategorien product. Mit anderen Worten, Sie möchten die filter auf year beibehalten, aber die filter bei ProductCategoryName entfernen, wenn Sie den Nenner des Prozentsatzes berechnen.

In der folgenden Tabelle werden die Ergebnisse angezeigt, wenn ein neues measure, Reseller Sales CategoryName, mithilfe der im Codeabschnitt gezeigten Formel erstellt wird. Um zu sehen, wie dies funktioniert, fügen Sie das Feld "CalendarYear" zum bereich Zeilenbeschriftungen der PivotTable hinzu, and das Feld "ProductCategoryName" zum Bereich Spaltenbeschriftungen hinzufügen. Fügen Sie dann die neue measure zum bereich Values der PivotTable hinzu. Um die Ergebnisse als Prozentsätze anzuzeigen, verwenden Sie die Formatierungsfeatures von Excel, um eine Prozentzahl format auf die Zellen anzuwenden, die die neue measureenthalten, Reseller Sales CategoryName.

Zeilenbeschriftungen Zubehör Fahrräder Kleidung Komponenten Gesamtsumme
2005 0.25% 91.76% 0.42% 7.57% 100.00%
2006 0.38% 82.64% 1.99% 14.99% 100.00%
2007 0,90% 79.42% 2.67% 17.01% 100.00%
2008 0,99% 83.69% 2.37% 12.96% 100.00%
Gesamtsumme 0.70% 82.47% 2.18% 14.65% 100.00%

Formel-

= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))

Die Formel wird wie folgt erstellt:

  1. Der Zähler, SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]), ist die sum des values in ResellerSales_USD[SalesAmount_USD] für die aktuelle Zelle in der PivotTable, wobei kontextbezogene filters auf die Felder angewendet and ProductCategoryName.

  2. Für den Nenner verwenden Sie die Funktion ALL(Spalte), um die filter für ProductCategoryName andcalculate die sum über den verbleibenden Zeilen in der ResellerSales_USD Tabelle zu entfernen, nachdem sie den vorhandenen Kontext filters aus den Zeilenbeschriftungen angewendet haben. Das effect ist, dass die sum für den Nenner über den ausgewählten Year (den implizierten Kontext filter) and für allvalues von ProductCategoryName berechnet wird.

Filter FunktionenALL FunktionALLEXCEPT FunktionFILTER Funktion