TOP

DAX-レッスン 2. CALCULATE 関数

YouLibreCalc for Excel logo

説明

DAX の学習を開始する最初の関数は CALCULATE です。この関数には Excel に正確に対応する関数はありませんが、関数に相当します。 SUMIFS そして COUNTIFS 。つまり、この関数は他の計算関数にフィルターを適用するため、必要なデータのみを選択して計算に含めることができます。

関数 CALCULATE() の構文

=CALCULATE(< 統計的表現 >、< フィルター1 >、< フィルター2 >、...)

< 統計的表現 >

統計的表現 計算の結果 (テーブルではなく値) を返す必要があります。このため、この設定では次のような統計関数がよく使用されます。 SUM 最小 マックス 反対する

  1. SUM([ 列名 ])
  2. SUM([ 名前列1 ]) / MAX([ 名前列2 ])
  3. 別の計算フィールド (メジャー) の名前

< フィルター1 >、< フィルター2 >、...

フィルター 処理するデータの範囲を定義します。値を選択するための条件をここで指定します。

  1. [ 列名 ] = 自動
  2. [ 列名 ] >= 6
  3. ALL( 'テーブル名' ) または ALL( 'テーブル名' [ 列名 )
  4. FILTER ( 'テーブル名' 'テーブル名' [ 列名 ] = " ")

次のようなテーブルがあるとします。 Demo そしてロードされました PowerPivot

それを元に集計表を作成し、商品ごとにレコード数を数えてみましょう。

新しい計算フィールドを作成しましょう (Measure) ピボット テーブルの Count_All_Product。すべての行に対するレコードの合計数が表示されます。

計算フィールド Count_All_Product の数値をどのように取得しましたか 16 ?その説明は、関数を使用して、ピボット テーブルに適用されていたすべてのフィルター (ピボット テーブルの各行は個別のフィルター) をこのフィールドから削除したということです。 ALL() 。つまり、関数です ALL (Demo) テーブルに適用されている計算フィールド Count_All_Product のすべてのフィルターを削除するコマンドを与えます。 Demo

別のフィールドを追加しましょう (City) 行で各製品の売上を都市ごとに確認します。

フィールドに数字が表示されていることがわかります Count of Rows 変更されますが、計算フィールド Count_All_Product は変更されません。それは正しいです。最後のものでは、数式内のすべてのフィルターを削除したからです。ここで、数式にいくつかの小さな変更を加えて、結果を見てみましょう。

=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))

引数を ALL() 関数に置き換えて変更しました。 Demo の上 Demo[Product] 。これで、テーブル全体のフィルターは削除されなくなります。 Demo 、ただしその列のみ Demo[Product]

それで私たちはフィールドに何があるかを見るのです Count of Rows フィルターが有効です Product そして City 、および計算フィールド Count_All_Product のフィルターのみ City