Excel-dax-calculated-columns
Excel DAX-計算列
- 計算列*は、列値を定義するDAX式を使用して、ワークブックのデータモデルの既存のテーブルに追加する列です。 列の値をインポートする代わりに、計算列を作成します。
他のテーブル列と同様に、ピボットテーブル、ピボットグラフ、パワーピボットテーブル、パワーピボットグラフ、またはパワービューレポートで計算列を使用できます。
計算列について
計算列の作成に使用されるDAX数式は、Excelの数式に似ています。 ただし、DAX数式では、テーブル内の行ごとに異なる数式を作成することはできません。 DAX数式は、列全体に自動的に適用されます。
たとえば、1つの計算列を作成して、既存の列から年を抽出することができます-日付、DAXの式で-
= YEAR ([Date])
YEARはDAX関数であり、Dateはテーブル内の既存の列です。 ご覧のように、テーブル名は括弧で囲まれています。 これについては、この章で詳しく説明します– link:/excel_dax/excel_dax_syntax [DAX構文]。
このDAX数式を使用してテーブルに列を追加すると、数式を作成するとすぐに列の値が計算されます。 年の値で満たされたヘッダーCalculatedColumn1を持つ新しい列が作成されます。
列の値は、基になるデータが更新されるときなど、必要に応じて再計算されます。 既存の列、計算フィールド(メジャー)、およびその他の計算列に基づいて計算列を作成できます。
計算列の作成
次のスクリーンショットに示すように、オリンピック結果のデータモデルを検討してください。
- データビューをクリックします。
- [結果]タブをクリックします。
結果テーブルが表示されます。
上のスクリーンショットに見られるように、右端の列にはヘッダーがあります-列の追加。
- リボンの[デザイン]タブをクリックします。
- [列]グループの[追加]をクリックします。
ポインターが数式バーに表示されます。 つまり、DAX数式を含む列を追加していることになります。
- 数式バーに「= YEAR([日付])」と入力します。
上記のスクリーンショットに見られるように、ヘッダーのある右端の列–列の追加が強調表示されています。
- Enterを押します。
計算が完了するまでに少し(数秒)かかります。 お待ちください。
新しい計算列は、右端の[列の追加]の左側に挿入されます。
上記のスクリーンショットに示すように、新しく挿入された計算列が強調表示されます。 列全体の値は、使用されているDAX式に従って表示されます。 列ヘッダーはCalculatedColumn1です。
計算列の名前を変更する
計算列の名前を意味のある名前に変更するには、次のようにします-
- 列ヘッダーをダブルクリックします。 列名が強調表示されます。
- 列名を選択します。
- 年(新しい名前)と入力します。
上記のスクリーンショットに見られるように、計算列の名前が変更されました。
列を右クリックしてドロップダウンリストの[名前の変更]をクリックすることにより、計算列の名前を変更することもできます。
新しい名前がテーブル内の既存の名前と競合しないことを確認してください。
計算列のデータ型の確認
次のように計算列のデータ型を確認できます-
- リボンの[ホーム]タブをクリックします。
- データ型をクリックします。
上記のスクリーンショットを見るとわかるように、ドロップダウンリストには列に使用できるデータ型があります。 この例では、デフォルト(自動)データ型、つまり 整数が選択されます。
計算列のエラー
エラーは、次の理由で計算列で発生する可能性があります-
- テーブル間の関係の変更または削除。 これは、これらのテーブルの列を使用する数式が無効になるためです。
- 式には、循環または自己参照の依存関係が含まれています。
パフォーマンスの問題
前にオリンピックの結果の例で見たように、結果テーブルには約35000行のデータがあります。 したがって、DAX数式を使用して列を作成すると、すべての35000+列の値を一度に取得しますが、少し時間がかかりました。 データモデルとテーブルは、数百万行のデータを処理するためのものです。 したがって、DAX数式の参照が多すぎる場合、パフォーマンスに影響する可能性があります。 次のことを行うことでパフォーマンスの問題を回避できます-
- DAX数式に多くの複雑な依存関係が含まれている場合、一度に1つの大きな数式を作成するのではなく、新しい計算列に結果を保存する手順で作成します。 これにより、結果を検証し、パフォーマンスを評価できます。
- データの変更が発生した場合、計算列を再計算する必要があります。 再計算モードを手動に設定して、頻繁な再計算を節約できます。 ただし、計算列の値が正しくない場合、データを更新して再計算するまで、列はグレー表示されます。