LoginSignup
8
0

[DAX Studio] DAX クエリの書き方③

Last updated at Posted at 2023-12-03

DAX Studio ドキュメントの日本語訳

Power BI/DAX開発者必携ツールの「DAX Studio」ドキュメントを日本語訳していきます。
「非公式」なので、言い回しに疑問があれば必ず公式ドキュメントを参照してください。

公式サイト
https://daxstudio.org/

公式ドキュメント
https://daxstudio.org/docs/intro/

単一値の返り値

メジャーの結果を返したいだけの場合もあります。しかし、メジャーはテーブルではなく単一のスカラ値を返すので、以下のように記述しようとすると構文エラーが発生します。

EVALUATE
SUM ( Sales[Sales Amount] )

テーブル・コンストラクタの構文を使い、中括弧 { } でメジャーを囲むことで、この問題を解決することができます。

EVALUATE
{ SUM ( Sales[Sales Amount] ) }

テーブル・コンストラクタ構文をサポートしていない古いバージョンの表形式エンジンでは、ROW 関数を使用することができます。

EVALUATE
ROW ( "Sales Amount", [Sales Amount] )

これを DEFINE 節と組み合わせてメジャー式を作成し、単一の値を返すこともできます。

DEFINE
    MEASURE Sales[Total Sales] =
        SUM ( Sales[Sales Amount] )
EVALUATE
{ [Total Sales] }

複数のテーブルからカラムを選択する

複数のテーブルから列を使用してクエリを生成する最も簡単な方法は、SUMMARIZECOLUMNS 関数を使用することです。この関数は、列のリストを取り、フィルタとして使用するテーブル式のリスト (オプション) を取り、メジャー/式のリスト (オプション) を取ります。

SUMMARIZECOLUMNS`関数では、常に何らかのメジャーまたは式を使用することを強く推奨します。

EVALUATE
SUMMARIZECOLUMNS (
    Product[Color],
    Reseller[Business Type],
    FILTER ( ALL ( 'Product'[List Price] ), 'Product'[List Price] > 150.00 ),
    TREATAS ( { "Accessories", "Bikes" }, 'Product'[Category] ),
    "Total Sales", SUM ( Sales[Sales Amount] )
)
8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0