Power BI 中級資料建模
Maarten Van den Broeck
Content Developer

| 方法 | 優點 | 缺點 |
|---|---|---|
| 放在資料庫 | 從資料倉儲擷取時很適合! | 需要有資料庫 |
| 最易與多個服務共享,更新也簡單 | ||
| 存成檔案 | 不需資料庫,一次建立 | 需要製作檔案 |
| Power BI 對文字檔支援佳 | 更新不如放在資料庫容易 | |
| 用 DAX 建立 | 比前兩者更能自訂 | 需要撰寫自訂程式碼 |
| 不需外部前置作業 | 有些功能在此較難達成 |
Month_Year =CALENDAR(DATE(1950, 1, 1), TODAY()),
CALENDAR() 是內建函式,回傳指定範圍內所有日期Month_Year =CALENDAR(DATE(1950, 1, 1), TODAY()),
CALENDAR() 是內建函式,回傳指定範圍內所有日期[Date] 欄位,含 1950-01-01 到今天的每一天
$$
$$
$$| [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] 欄位,含 1950-01-01 到今天的每一天| 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] 欄位,含 1950-01-01 到今天的每一天| Month | Year |
|---|---|
| 01 | 1950 |
| 02 | 1950 |
| ... | ... |
| 06 | 2021 |

關聯以鍵為基礎
兩種鍵:
Power BI 僅支援「單一欄位」關聯
關聯以鍵為基礎
兩種鍵:
Power BI 僅支援「單一欄位」關聯
| First Name | Last Name | Birth year | Value |
|---|---|---|---|
| Chris P | Bacon | 1996 | 599 |
| Jane | Bonds | 1998 | 523 |
| Dwayne | Pipe | 1988 | -566 |
$$
| Composite Key | Value |
|---|---|
| Chris P-Bacon-1996 | 599 |
| Jane-Bondts-1998 | 523 |
| Dwayne-Pipe-1988 | -566 |
$$



較少見:
一對一
$$
多對多


Power BI 中級資料建模