中級 Power BI データモデリング
Maarten Van den Broeck
Content Developer

| 方法 | メリット | デメリット |
|---|---|---|
| データベースに格納 | データウェアハウスからデータを取得する場合に最適 | データベースが必要 |
| 複数サービスとの共有が容易、更新も簡単 | ||
| ファイルに保存 | データベース不要、一度作成すればよい | ファイルの作成が必要 |
| Power BI のテキストファイルサポートが優秀 | データベース格納より更新が煩雑 | |
| DAX で作成 | 前の 2 つより高いカスタマイズ性 | カスタムコードの記述が必要 |
| 外部の事前準備が不要 | 一部の機能が実装しにくい場合がある |
Month_Year =CALENDAR(DATE(1950, 1, 1), TODAY()),
CALENDAR() は範囲内の全日付を返す組み込み関数Month_Year =CALENDAR(DATE(1950, 1, 1), TODAY()),
CALENDAR() は範囲内の全日付を返す組み込み関数[Date] フィールドを作成
$$
$$
$$| [Date] |
|---|
| 1950-01-01 |
| 1950-01-02 |
| ... |
| 2021-06-30 |
Month_Year =SELECTCOLUMNS(CALENDAR(DATE(1950, 1, 1), TODAY()),"Month", MONTH([Date]), "Year", YEAR([Date]) )
CALENDAR() は範囲内の全日付を返す組み込み関数[Date] フィールドを作成| Month | Year |
|---|---|
| 01 | 1950 |
| 01 | 1950 |
| ... | ... |
| 06 | 2021 |
Month_Year =DISTINCT(SELECTCOLUMNS(CALENDAR(DATE(1950, 1, 1), TODAY()),"Month", MONTH([Date]), "Year", YEAR([Date]) ))
CALENDAR() は範囲内の全日付を返す組み込み関数[Date] フィールドを作成| Month | Year |
|---|---|
| 01 | 1950 |
| 02 | 1950 |
| ... | ... |
| 06 | 2021 |

リレーションシップはキーに基づく
キーの種類
Power BI では単一列のリレーションシップが必要
リレーションシップはキーに基づく
キーの種類:
Power BI では単一列のリレーションシップが必要
| 名 | 姓 | 生年 | 値 |
|---|---|---|---|
| Chris P | Bacon | 1996 | 599 |
| Jane | Bonds | 1998 | 523 |
| Dwayne | Pipe | 1988 | -566 |
$$
| 複合キー | 値 |
|---|---|
| Chris P-Bacon-1996 | 599 |
| Jane-Bondts-1998 | 523 |
| Dwayne-Pipe-1988 | -566 |
$$



使用頻度が低いもの:
一対一
$$
多対多


中級 Power BI データモデリング