【Power BI 教學】連線模式大解密:匯入 (Import) vs. DirectQuery 該怎麼選?
【Power BI 教學】連線模式大解密:匯入 (Import) vs. DirectQuery 該怎麼選?
CONNECTIVITY MODES // 連線架構解析
一、核心差異快速對照
在 Power BI 連接 SQL Server 等資料庫時,跳出的第一個對話框通常就是讓你選擇「資料連線模式」:到底要選 匯入 (Import) 還是 DirectQuery?選錯模式不僅可能導致報表載入極慢,還可能讓資料庫負擔過重。本文將帶你一次搞懂兩者的核心差異,以及在實際業務場景中該 how 做出最佳選擇!
| 比較項目 | 匯入 (Import) | DirectQuery |
|---|---|---|
| 資料存放位置 | 複製並壓縮後載入 Power BI 記憶體 | 留在原本的 SQL Server 資料庫 |
| 查詢與切換速度 | 極快(記憶體內運算,瞬間呈現) | 較慢(每次篩選皆重新送出 SQL 查詢) |
| 資料即時性 | 依排程更新(如每小時 / 每天一次) | 百分之百即時(直接讀取 DB 最新狀態) |
| DAX 函數支援 | 完整支援(可寫複雜運算與邏輯) | 部分受限(部分進階 DAX 語法不支援) |
| 對 SQL DB 的負擔 | 僅排程更新時載入,平時負擔極低 | 多人同時查看或頻繁切換時,負擔較高 |
IMPORT MODE // 高效能的首選方案
二、匯入 (Import) 模式的三大優勢
如果你設定了定期更新(例如每小時更新一次),且業務需求允許資料有短暫的時間落差,那麼 Import 模式 絕對是首選:
● 1. 極致的切換速度
資料已載入記憶體,使用者在切換產品、日期或篩選條件時,幾乎能在 0.1 ~ 1 秒 內得到反應。
● 2. 完整發揮 DAX 運算能力
支援如加權平均、累計值、複雜的日曆表關聯等進階 DAX 邏輯。
● 3. 保護線上記錄與 SQL 資料庫
平時使用者操作報表時完全不會打擾資料庫,只有在排程時間到達時才會進行抓取。
DIRECTQUERY MODE // 即時監控情境
三、DirectQuery 的適用場景
DirectQuery 唯一的強項就是「絕對的即時性」。
適用情境:如機台狀態即時監控(UP / DOWN / IDLE)、產線即時 WIP 看板等,需要主管或工程師看到「此時此刻」最新變化的看板。
注意事項:因為每一次點擊篩選都會對 SQL Server 重新執行 SELECT ... WHERE ...,若資料庫本身繁忙,報表切換時間可能會拉長到 5 ~ 10 秒 以上。
DECISION TREE // 選擇評估
四、快速決策樹:我該選哪一種?
在建立報表前,你可以先問自己這個核心問題:「使用者能不能接受資料延遲 30 分鐘或 1 小時?」
需要看到「此刻 / 這秒鐘」的最新狀態嗎?
│
├──► 是 (Yes) ──► 選 DirectQuery
│ (適用:即時設備狀態監控、Control Tower)
│
└──► 否 (No) ──► 選 匯入 (Import)
(適用:Daily Yield 報表、產能分析 Loading、月報/日報、KPI Dashboard)
│
├──► 是 (Yes) ──► 選 DirectQuery
│ (適用:即時設備狀態監控、Control Tower)
│
└──► 否 (No) ──► 選 匯入 (Import)
(適用:Daily Yield 報表、產能分析 Loading、月報/日報、KPI Dashboard)
💡 進階技巧:如果 SQL 資料庫累積了數百萬筆以上的龐大資料,建議採用 Import 模式 + 增量更新 (Incremental Refresh),既能維持快速的操作體驗,又不需要每次更新都重新抓取全量資料!
留言
張貼留言