科学の箱

科学・IT・登山の話題

PowerBI

計算列とメジャーの違い

投稿日:2021年6月11日 更新日:

計算列は値を一つ一つの行しか見ない。いったん計算されるとPower BI上のVisualで変更されることはない。

それに対してメジャーは選択の範囲により計算に入力する行の範囲が異なってくる。すべての行を対象とすれば計算列と同じ扱いになる。しかしVisual上での選択、あるいはVisual上でカラムで絞り込んでいったときの選択により、計算対象となる行が動的に変化する。

例えば下記のコードを考えてみる。

Filterに対してAllが設定されていないために、Visual上で選択されたカラムにより暗黙的な絞り込みが行われる。例えば時間、カテゴリー、ロケーションなどにより暗黙的に選択されたレコードセットが出来上がり、そのレコードセットに対して、Filter関数が機能する。SUMXはレコードセットからフィルターされた結果の新しいレコードセットをすべての走査して、計算する。

'Product'[Product Sales Amount Multiple Items] =
SUMX (
    FILTER (
        RELATEDTABLE ( Sales ),
        Sales[Quantity] > 1
    ),
    Sales[Quantity] * Sales[Unit Price]
)

 

メタ情報

inarticle



メタ情報

inarticle



-PowerBI

執筆者:


comment

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

関連記事

no image

EVALUATEにおけるVARとMEASUREの違い

VARは式をフィルタコンテキストを適用する前に評価される。 DEFINE VAR TotalSales = sumx(sales,Sales[Quantity]) — これだとSalesテーブルのす …

no image

SUMとSUMXの違い

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

no image

カレンダーを作成する

カレンダーマスターを作成 Calendar = ADDCOLUMNS ( CALENDAR (DATE(2017,1,1), DATE(2021,12,31)), “DateAsInteger”, F …

no image

参照先テーブルから値を取得する

前提条件としてモデルでリンクが設定されていてかつActiveになっていること。   related関数は第一引数にテーブル+フィールド名を与えるとリンクが張られている値をとってくれる。 &n …

no image

DAXを一言でいうと

DAXを理解するのは難しいが、一言でいうとテーブルを戻すlambda関数と考えればよい。 テーブル情報を入力として、計算をしてテーブルを返す。それだけである。 ただし入力と出力の型が決まっているために …

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

side bar top



アーカイブ

カテゴリー