科学の箱

科学・IT・登山の話題

PowerBI

メジャーと暗黙的なCalculate、コンテキスト変換

投稿日:

メジャーを計算すると必ず暗黙的なCalculateが追加され、その結果としてコンテキスト変換が発生する。これにより適切なグループにおいて、余計なことを意識することなく集計ができる。

 

SUMX (
    'Sales',
    RELATED ( 'Product'[Unit Price] ) * [Total Quantity]
)

 

上記のコードは実際に実行されるときには以下のようになる。

SUMX (
    'Sales', --- IterateするテーブルはSales
       RELATED('Product'[Unit Price], 
           --- 該当Salesに関連するProductを一行取得する。
                      Sales - Productはm:1の関係である。
         
             * CALCULATE(
           --- メジャーに暗黙的なCalculateを追加  
                  SUMX(
                     Sales,
                      --- コンテキスト変換により関連するSalesのみ取得される
                      --- Salesはテーブルが大きすぎる、ユニークではない可能性がある。
                     Sales[Quantity]
               ) --- 合計
               )
            )
)

 

ポイントとしてはイテレートが発生するテーブルは、行数が少ないこと、そして、ユニークであることを意識しておく。

メタ情報

inarticle



メタ情報

inarticle



-PowerBI

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ALLとREMOVEFILTERSの違い

フィルタを削除するという機能としては同じであるが、戻り値が異なる。 ALLはフィルタを削除した後のテーブルを返す。REMOVEFILTERSはテーブルのフィルターを削除するだけである。メジャーで計算す …

no image

グループ化して新しいテーブルを作るためのDAX

Groupbyで新しいテーブルをグループ化して戻すことができる。 第一引数がグループ化したいテーブル名、第二引数がグループ化するフィールド、第3引数がグループ化した結果を収めるフィールド名、第4引数が …

no image

RelatedをSQLにしてみるとどうなるか

VAR SalesOfCurrentProduct = RELATEDTABLE ( Sales ) RETURN COUNTROWS ( SalesOfCurrentProduct ) このコードは …

no image

新しいカラムとメジャーの違い

新しいカラムもメジャーもテーブルから値を作るという点では同じである。しかしテーブルで利用できるソースとなるデータの範囲が異なる。 わかりやすいのは新しいカラムである。新しいカラムを作るときには作成され …

no image

SUMとSUMXの違い

SUMXは第一パラメータにイテレートするテーブル、第二パラメータに計算式を指定する。SUMは第二パラメータに指定された式に紐づくテーブルをイテレートする。 SUM(Sales)は内部的には、SUMX …

2021年6月
« 5月   7月 »
 123456
78910111213
14151617181920
21222324252627
282930  

side bar top



アーカイブ

カテゴリー