TOP

DAX-レッスン1. DAXとは. 基本概念.

DAXとは?

DAXは数式言語(Data Analysis eXpressions、データ分析式と訳される)で、Microsoft社によって開発されました。この言語は単独では機能せず、MS ExcelにおけるPowerPivotアドインでの計算自動化のみを目的としています。

手短に言えば、DAXはピボットテーブルの数式です。ほとんどのDAX関数は、通常のExcel関数と似た名前と特性を持っていますが、PowerPivot内でのみ使用できます。ご存知の通り、通常のピボットテーブルは計算フィールド(DAXにおけるMeasureの類似品)を含めることができますが、これらのフィールドでは、加減乗除といった単純な算術演算しか実行できません。そこで、計算フィールドの機能を拡張するためにDAXが作成されました。


全体として、DAXは、一見すると難解な言語ではありませんが、その動作原理を理解するだけで十分です。Excelの数式とDAXの数式の違いは、Excelでは個々のセルや範囲を操作するのに対し、DAXではテーブル全体とその列にのみ参照できるという点です。

DAXコードを使い始めるには、Excel 2010用のPowerPivotをインストールするか、Excel 2013で同名のタブに移動する必要があります。

主要なDAX関数

Excelと同様に、DAX関数も特定のカテゴリに分類されます。

PowerPivotにおける計算

PowerPivotでは、ユーザーは2種類の計算フィールドを作成できます。

同じ数式でも、計算列またはメジャーのどちらで使用されるかによって、動作が異なる場合があります。数式が計算列で使用される場合、その列の各行にテーブル全体にわたって適用されます。値は行のコンテキストに依存する可能性があります。一方メジャーでは、計算結果はコンテキストにさらに依存します。これは、ピボットテーブルの構造や行および列のヘッダーの選択が、計算で使用される値に影響を与えることを意味します。

つまり、言い換えれば、ピボットテーブルを私たちが作成するとき、次のようになります。

DAX数式におけるコンテキスト

DAX言語には、コンテキストという概念も存在します。これは数式の機能を理解するために非常に重要です。PowerPivotの数式は、ピボットテーブルに適用されるフィルター、テーブル間のリレーションシップ、および数式内に存在するフィルターによって影響を受ける可能性があります。コンテキストは、動的な分析を可能にします。数式を作成し、トラブルシューティングを行う際には、コンテキストの目的を理解することが重要です。

したがって、DAXには3種類のコンテキストがあります。フィルターコンテキスト行コンテキスト、およびクエリコンテキストです。

フィルターコンテキストとは、各列で許可される値のセットで、行に適用されるフィルターの制限、または数式内で定義されているフィルター条件に応じて異なります。

行コンテキストは、事実上、現在の行の概念に対応します。計算列が作成されている場合、行コンテキストは、各個別の行の値と、現在の行に関連する列の値です。

クエリコンテキストは、ピボットテーブルの行と列のヘッダー(ピボットテーブルのレイアウト構造)に応じて、ピボットテーブルの各セルに対して暗黙的に作成されるデータサブセットを指します。

関連する記事:

LO Calc の YLC Utilities メニュー

LO Calc の YLC Utilities メニュー

Excel の YLC Utilities メニュー

Excel の YLC Utilities メニュー