Data-modeling-with-dax-extending-the-data-model
データモデルの拡張
この章では、前の章で作成したデータモデルを拡張する方法を学習します。 データモデルの拡張には以下が含まれます-
- テーブルの追加
- 既存のテーブルに計算列を追加する
- 既存のテーブルでのメジャーの作成
これらのうち、メジャーを作成することは非常に重要です。これは、データモデルを使用するユーザーがやり直しを避け、データと意思決定の分析中に時間を節約できるようにするデータモデルに新しいデータの洞察を提供することを伴うためです
損益分析には期間の操作が含まれ、DAXタイムインテリジェンス関数を使用するため、データモデルに日付テーブルが必要です。
日付テーブルを初めて使用する場合は、「日付テーブルについて」の章をご覧ください。
次のようにデータモデルを拡張することができます-
- データテーブル間にリレーションシップを作成するには、つまり 財務データテーブルと日付テーブル、財務データテーブルに計算列日付を作成する必要があります。
- さまざまなタイプの計算を実行するには、データテーブル-Finance Dataとルックアップテーブル-Accounts and Geography Locnの間に関係を作成する必要があります。
- いくつかの計算を実行し、必要な分析を実行するのに役立つさまざまなメジャーを作成する必要があります。
これらの手順は、基本的に、データモデルを使用した損益分析のデータモデリング手順を構成します。 ただし、これは、Power Pivotデータモデルで実行する任意の種類のデータ分析の一連の手順です。
さらに、以降の章のパワーピボットテーブルでメジャーの作成方法と使用方法を学習します。 これにより、DAXを使用したデータモデリングとPower PivotTablesを使用したデータ分析について十分に理解できます。
データモデルへの日付テーブルの追加
次のように会計年度にまたがる期間の日付テーブルを作成します-
- 新しいExcelワークシートで、ヘッダーを持つ日付と連続した日付(2011年7月1日から2018年6月30日まで)を持つ単一の列を持つテーブルを作成します。
- Excelからテーブルをコピーし、Power Pivotウィンドウに貼り付けます。 これにより、Power Pivotデータモデルに新しいテーブルが作成されます。
- テーブルにDateという名前を付けます。
- 日付テーブルの日付列のデータ型が日付(DateTime)であることを確認します。
次に、計算された列を追加する必要があります-会計年度、会計四半期、会計月、月を次のように日付テーブルに追加します-
会計年度
会計年度末が6月30日であるとします^^。 次に、会計年度は7月1日から6月30日までです。 たとえば、2011年7月1日(2011年7月1日)から2012年6月30日(2012年6月30日)までの期間は2012会計年度になります。
日付テーブルで、2012年度と同じものを表示するとします。
- 最初に日付の会計年度部分を抽出し、FYを追加する必要があります。
- 2011年7月から2011年12月までの日付の会計年度は1 + 2011です。
- 2012年1月から2012年6月までの日付の会計年度は0 + 2012です。 *一般化するには、会計年度末の月がFYEである場合、以下を行います- * _((Month – 1)/FYE) Year_ *の整数部分
- 次に、右端の4文字を取得して会計年度を取得します。
- DAXでは、と同じを表すことができます- + RIGHT(INT((MONTH( 'Date' [Date])-1)/'Date' [FYE])+ YEAR( 'Date' [Date])、4)
- DAX式を使用して、Dateテーブルに計算列Fiscal Yearを追加します- + _ = "FY"&RIGHT(INT((MONTH( 'Date' [Date])-1)/'Date' [FYE])+ YEAR( 'Date' [Date])、4)_
会計四半期
FYEが会計年度末の月を表す場合、会計四半期は次のように取得されます。
*_(((Month + FYE-1)/12)+ 3)/3)_* の整数部分
- DAXでは、と同じを表すことができます- + INT((MOD(MONTH( 'Date' [Date])+ 'Date' [FYE] -1,12)+3)/3)
- DAX式を使用して、Dateテーブルに計算列Fiscal Quarterを追加します- + _ = 'Date' [FiscalYear]& "-Q"&FORMAT(INT((MOD(MONTH( 'Date' [Date])+ 'Date' [FYE] -1,12)+ 3)/3)、 " 0 ")_
会計月
FYEが会計年度末を表す場合、会計月期間は次のように取得されます。
*_((Month + FYE-1)/12の剰余)+ 1_*
- DAXでは、と同じを表すことができます- + MOD(MONTH( 'Date' [Date])+ 'Date' [FYE] -1,12)+ 1
- DAX式を使用して、日付テーブルに計算列の会計月を追加します- + _ = 'Date' [会計年度]& "-P"&FORMAT(MOD(MONTH([Date])+ [FYE] -1,12)+1、 "00")_
月
最後に、次のように会計年度の月番号を表す計算列月を追加します-
_ = FORMAT(MOD(MONTH([Date])+ [FYE] -1,12)+1、 "00")& "-"&FORMAT([Date]、 "mmm")_
結果の日付テーブルは、次のスクリーンショットのようになります。
次のスクリーンショットに示すように、テーブルに日付を列の日付テーブルとしてマークし、日付を一意の値の列としてマークします。
計算列の追加
Finance DataテーブルとDateテーブルの間にリレーションシップを作成するには、Finance Dataテーブルに日付値の列が必要です。
- DAX式を使用して、財務データテーブルに計算列の日付を追加します- + _ = DATEVALUE( '金融データ' [会計月])_
データモデルのテーブル間の関係の定義
データモデルには次の表があります-
- データ表-財務データ
- ルックアップテーブル-アカウントと地理Locn
- 日付表-日付
データモデルのテーブル間の関係を定義するには、次の手順があります-
- Power Pivotのダイアグラムビューで表を表示します。
- テーブル間に次の関係を作成します-
- 財務データテーブルと列テーブルを持つアカウントテーブルの関係。
- Finance DataテーブルとGeography LocnテーブルとProfit Center列の関係。
- 財務データテーブルと、日付列を含む日付テーブルの関係。
クライアントツールから列を非表示にする
データテーブルに、ピボットテーブルのフィールドとして使用しない列がある場合、データモデルで非表示にできます。 そうすると、それらはピボットテーブルフィールドリストに表示されなくなります。
[財務データ]テーブルには、ピボットテーブルのフィールドとして使用しない、会計月、日付、アカウント、および利益センターの4つの列があります。 したがって、それらを非表示にして、ピボットテーブルフィールドリストに表示されないようにすることができます。
- [財務データ]テーブルの列-[会計月]、[日付]、[アカウント]、および[利益センタ]を選択します。
- 右クリックして、ドロップダウンリストで[クライアントツールから非表示]を選択します。
テーブルでメジャーを作成する
データモデルとPower PivotTablesを使用して、DAXを使用したデータモデリングと分析の準備がすべて整いました。
後続の章では、メジャーを作成する方法と、PowerPivotTablesでメジャーを使用する方法を学習します。 データテーブルにすべてのメジャーを作成します。 財務データ表。
データテーブルのDAX数式を使用してメジャーを作成します-Finance Data。これは、データ分析用の任意の数のピボットテーブルで使用できます。 メジャーは本質的にメタデータです。 データテーブルでメジャーを作成することはデータモデリングの一部であり、それらをPower PivotTablesで要約することはデータ分析の一部です。