Power Query 可讓您彈性地從其支援的各種資料庫匯入資料。 它可以執行原生資料庫查詢,這可以節省您使用 Power Query 介面建立查詢所需的時間。 此功能對於使用已存在的複雜查詢特別有用,尤其是當您不想重建它或不確定如何使用 Power Query 介面進行重建時。
備註
原生資料庫查詢的其中一個目的是不產生副作用。 不過,Power Query 不保證查詢不會影響資料庫。 如果您執行其他使用者撰寫的原生資料庫查詢,系統會提示您確認這些查詢將以您的憑證進行評估。 如需詳細資訊,請移至 原生資料庫查詢安全性。
Power Query 可讓您在連線到資料庫時,在 進階選項 下的文字方塊中指定原生資料庫查詢。 在下列範例中,您會使用 在 SQL 陳述式 文字方塊中輸入的原生資料庫查詢,從 SQL Server 資料庫匯入資料。 在所有其他有 Power Query 支援的原生資料庫查詢的資料庫中,該程序都類似。
使用 Power Query 連線到 SQL Server 資料庫。 在連接器選項中選取 [SQL Server 資料庫 ] 選項。
在 SQL Server 資料庫 快顯視窗中:
使用原生資料庫查詢指定您要從中匯入資料的 伺服器 和 資料庫 。
在 [ 進階選項] 底下,選取 [SQL 陳述式 ] 欄位,然後貼上或輸入您的原生資料庫查詢,然後選取 [確定]。
如果您是第一次連線到此伺服器,則會顯示選擇驗證模式以連線到資料庫的提示。 選取適當的驗證模式,然後繼續。
備註
如果您無法存取資料來源 (伺服器和資料庫),則會顯示要求存取伺服器和資料庫的提示 (如果在 Power BI 中指定資料來源的存取要求資訊)。
如果已建立連線,則會在 Power Query 編輯器中傳回結果資料。
根據需要整理資料,然後選取 套用並關閉 以儲存變更並匯入資料。
支援原生資料庫查詢的連接器
下列 Power Query 連接器支援原生資料庫查詢。
| Connector | 原生資料庫查詢的類型 |
|---|---|
| Amazon Redshift | SQL 陳述式 |
| Azure Analysis Services 資料庫 | MDX 或 DAX 查詢 |
| 適用於 PostgreSQL 的 Azure 資料庫 | SQL 陳述式 |
| Azure Cosmos DB | SQL 陳述式 |
| Azure Synapse Analytics | SQL 陳述式 |
| Azure SQL 資料庫 | SQL 陳述式 |
| DataWorld.資料集 | dwSQL |
| Dataverse | SQL 陳述式 |
| Essbase | MDX 陳述式 |
| FHIR | FHIR 搜尋 |
| Google BigQuery(Google 大數據查詢) | SQL 陳述式 |
| IBM Db2 資料庫 | SQL 陳述式 |
| IBM Informix 資料庫 (Beta) | SQL 陳述式 |
| MySQL 資料庫 | SQL 陳述式 |
| ODBC | SQL 陳述式 |
| OLE 資料庫 | SQL 陳述式 |
| Oracle Database | SQL 陳述式 |
| PostgreSQL | SQL 陳述式 |
| SAP HANA 資料庫 | SQL 陳述式 |
| Snowflake | SQL 陳述式 |
| SQL Server Analysis Services 資料庫 | MDX 或 DAX 查詢 |
| SQL Server 資料庫 | SQL 陳述式 |
| TIBCO(R) 資料虛擬化 (Beta) | SQL 陳述式 |
| 維娜(測試版) | 模型查詢 (MQL) |
限制和問題
在使用原生資料庫查詢之前,您應該了解可能發生的限制和問題。
資料定義語言 (DDL) 作業
Power Query 不 支援 對資料來源執行資料定義語言 (DDL) 作業。 例如,此類操作的範例包括「DROP TABLE」、「CREATE TABLE」和「ALTER TABLE」。 嘗試使用此類命令可能會導致多次失敗和錯誤。
查詢摺疊
使用原生資料庫查詢時的查詢摺疊僅限於某些 Power Query 連接器。 如需詳細資訊,請參閱 原生查詢的查詢折疊。
原生資料庫查詢安全性
有時候,當您嘗試使用其他使用者或透過進階編輯器或編輯列建立的查詢時,基本上是顯示原生查詢輸入方塊的連接器對話方塊之外的任何其他路徑,您可能會收到一則訊息,指出:
如果出現此訊息,請選取 [編輯權限]。 此選取項目會開啟「 原生資料庫查詢 」對話方塊。 您有機會執行原生資料庫查詢,或取消查詢。
根據預設,如果您在連接器對話方塊之外執行原生資料庫查詢,則每次執行不同的查詢文字時,系統都會提示您。 此提示可確保您要執行的查詢文字已獲得您核准。
備註
您在取得資料作業中插入的原生資料庫查詢不會詢問您是否要執行查詢。 他們只是一直跑。
如果原生資料庫查詢是在 Power BI Desktop 或 Excel 中執行,您可以關閉原生資料庫查詢安全性訊息。 若要關閉安全性訊息:
如果您使用 Power BI Desktop,請在 [ 檔案 ] 索引標籤下,選取 [選項和設定 > ] [選項]。
如果您使用的是 Excel,請在 [資料 ] 索引標籤下,選取 [取得資料 > 查詢選項]。
在全域設定下,選取安全性。
清除 需要使用者核准才能取得新的原生資料庫查詢。
請選擇 [確定]。
您也可以撤銷先前在 Power BI Desktop 或 Excel 中針對指定資料來源核准的任何原生資料庫查詢的核准。 若要撤銷核准:
如果您使用 Power BI Desktop,請在 [ 檔案 ] 索引標籤下,選取 [選項和設定 > ] [資料來源設定]。
如果您使用的是 Excel,請在 [ 資料 ] 索引標籤下,選取 [ 取得資料來源 > 設定]。
在 [資料來源設定] 對話方塊中,選取 [全域許可權]。 然後選取包含您要撤銷其核准的原生資料庫查詢的資料來源。
選取 [編輯許可權]。
在 編輯許可權 對話方塊的 原生資料庫查詢 下,選取 撤銷核准。