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