ALL
テーブル内 all 行を返し、列の or を allvalues し、適用された可能性のある filters を無視します。 この関数は、テーブル内の行 filters に対する計算の作成 andall をクリアする場合に便利です。
構文
ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
パラメーター
用語 | 定義 |
---|---|
table |
filters をクリアするテーブル。 |
column |
filters をクリアする列。 |
ALL 関数の引数は、基本列への参照 or ベース テーブルへの参照である必要があります。 or 関数では、列式 ALL テーブル式を使用することはできません。
value を返す
テーブル orfilters 削除された列です。
備考
この関数は not 単独で使用されますが、他の計算が実行される結果のセットを変更するために使用できる中間関数として機能します。
DAX() 関数を含む ALL 式の通常の動作は、適用されるすべての filters が無視されることです。 ただし、特定の not クエリに必要な処理量を減らすためにフィルター処理を最適化する
auto-exist
テクノロジである DAXが原因で、これが DAX されるシナリオがいくつかあります。 自動存在 andALL() によって予期しない結果が得られない例は、(スライサーを使用する場合など) 同じテーブルの 2 つの or 列をフィルター処理する場合 and、measure() を使用する同じテーブルに ALL があります。 この場合、自動存在 and、filterの既存の組み合わせでのみ values されます。 このマージにより、measure は、結果が期待どおりに valuesand するのではなく、フィルター処理された values に基づいて allvalues の既存の組み合わせに基づいて計算されます。 自動存在 and 計算の effect の詳細については、Microsoft MVP Alberto Ferrari の Understanding DAX Auto-Existsql.bi.comに関する記事を参照してください。次の表では、さまざまなシナリオで ALLandALLEXCEPT 関数を使用する方法について説明します。
関数 and 使用法 形容 ALL() すべての場所 allfilters を削除します。 ALL() は、filters をクリアする場合にのみ使用できますが、テーブルを返 not。 ALL(テーブル) 指定したテーブルから allfilters を削除します。 effectでは、ALL(Table) はテーブル内の all の values を返し、それ以外の場合は適用された可能性のあるコンテキストから filters を削除します。 この関数は、多くのレベルのグループ化を使用する場合に便利 and、集計された value と合計 valueの比率を作成する計算を作成する必要があります。 first 例では、このシナリオを示します。 ALL (Column[, Column[, ...]]) テーブル内の指定した列から allfilters を削除します。テーブル all 他の列の他の filters は引き続き適用されます。 All 列引数は同じテーブルから取得する必要があります。 ALL(Column) バリアントは、他のコンテキスト filtersを維持するために、より具体的な列 orand コンテキスト allfilters 削除する場合に便利です。 second and 3 番目の例では、このシナリオを示します。 ALLEXCEPT(Table, Column1 [,Column2]...) 指定 all 列に適用されているテーブル filtersexcept 内のコンテキスト filters を削除します。 これは、テーブル内の多数の filtersnot列で all を削除する場合に便利なショートカットです。 この関数は、行レベル セキュリティ (RLS) 規則 not 計算列で使用する場合に、DirectQuery モードで使用するためにサポート or。
例 1
Calculate 売上合計に対するカテゴリ売上の比率
ピボットテーブル内の現在のセルの売上高を、find リセラーの売上合計で割って all するとします。 ピボットテーブル ユーザーがデータをフィルター処理 or グループ化する方法に関係なく分母が同じになるように、define を使用して正しい総計を作成する数式を ALL します。
次の表は、コード セクションに示す数式を使用して、新しい measureAll Reseller Sales Ratioを作成した場合の結果を示しています。 このしくみを確認するには、ピボットテーブルの [行ラベル] 領域に [CalendarYear] フィールドを追加 and、フィールド ProductCategoryName を [列ラベル] 領域に追加します。 次に、measure、 All Reseller Sales Ratio) をピボット テーブルの Values 領域にドラッグします。 結果をパーセンテージで表示するには、Excel の書式設定機能を使用して、containsを measure セルにパーセンテージの書式を適用します。
行ラベル | 小物 | バイク | 衣類 | コンポーネント | 総計 |
---|---|---|---|---|---|
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% |
総計 | 0.70% | 82.47% | 2.18% | 14.65% | 100.00% |
数式 を
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
数式は次のように構成されます。
numerator
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
は、ResellerSales_USD[SalesAmount_USD] 内の sum の values で、コンテキスト filters が CalendarYear and ProductCategoryName に適用されます。分母の場合は、まずテーブルResellerSales_USDを指定 and、ALL 関数を使用して、テーブルのコンテキスト allfilters 削除します。
次に、SUMX 関数を使用して、ResellerSales_USD[SalesAmount_USD] 列の sum を values します。 つまり、sum リセラーの販売にResellerSales_USD[SalesAmount_USD]の all が得られます。
例 2
Calculate 現在の Product を通じた売上合計に対する Year 売上比率
各 product カテゴリ (ProductCategoryName) の年間売上の割合を示すテーブルを作成するとします。 ProductCategoryName の各 year に対する各 value の割合を取得するには、その特定の dividesumyear カテゴリの売上の and を、同じ product カテゴリの sumproduct 年にわたって all する必要があります。 つまり、ProductCategoryName の filter を保持し、パーセンテージの分母を計算するときに filter の year を削除する必要があります。
次の表は、コード セクションに示す数式を使用して新しい
行ラベル | 小物 | バイク | 衣類 | コンポーネント | 総計 |
---|---|---|---|---|---|
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% |
総計 | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% |
数式 を
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
数式は次のように構成されます。
numerator
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
は、ピボット テーブル内の現在のセルの ResellerSales_USD sum の values であり、CalendarYear SalesAmount_USD filters ProductCategoryName 列にコンテキスト and が適用されます。分母の場合は、filter(Column) 関数を使用して CalendarYear の既存の ALL を削除します。 これにより、列ラベルから既存のコンテキスト sum を適用した後、ResellerSales_USD テーブルの残りの行に対する filters が計算されます。 ネット effect は、sum が選択された ProductCategoryName (暗黙のコンテキスト filter) andallの valuesYear に対して計算される分母に対して行われます。
例 3
Calculate あたりの売上合計に対する Product カテゴリの Year 貢献度
各 product カテゴリの売上の割合を yearyear 基準で表示するテーブルを作成するとします。 特定の productの各 year カテゴリの割合を取得するには、その特定の calculate カテゴリ (ProductCategoryName) の売上の sum を product n に year し、anddividevalue カテゴリに対する sum n の売上の year によって結果の all を product する必要があります。 つまり、filter の year を維持しながら、割合の分母を計算するときに ProductCategoryName の filter を削除する必要があります。
次の表は、コード セクションに示す数式を使用して、新しい measureReseller Sales CategoryNameを作成した場合の結果を示しています。 このしくみを確認するには、ピボットテーブルの [行ラベル] 領域に [CalendarYear] フィールドを追加 and、フィールド ProductCategoryName を [列ラベル] 領域に追加します。 次に、ピボットテーブルの measure 領域に新しい Values を追加します。 結果をパーセンテージで表示するには、Excel の書式設定機能を使用して、新しい formatを含むセルにパーセンテージ measure を適用 Reseller Sales CategoryNameします。
行ラベル | 小物 | バイク | 衣類 | コンポーネント | 総計 |
---|---|---|---|---|---|
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% |
総計 | 0.70% | 82.47% | 2.18% | 14.65% | 100.00% |
数式 を
= SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
数式は次のように構成されます。
numerator
SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
は、ピボットテーブル内の現在のセルの ResellerSales_USD[SalesAmount_USD] の sum の values で、コンテキスト filters がフィールドに適用されます。CalendarYear and ProductCategoryName。分母の場合は、ALL(Column) 関数を使用して、行ラベルから既存のコンテキスト filter を適用した後、ResellerSales_USD テーブルの残りの行に andcalculatesum ProductCategoryName の filters を削除します。 ネット effect は、分母に対して、ProductCategoryName の sumYear に対して選択した filter (暗黙のコンテキスト and) all に対して values が計算されます。