使用原生資料庫查詢從資料庫匯入數據

Power Query 可讓您彈性地從支援的各種資料庫匯入數據。 它可以執行原生資料庫查詢,以節省使用Power Query介面建置查詢所需的時間。 這項功能特別適用於使用已經存在的複雜查詢,而且您可能不想或知道如何使用Power Query 介面重建。

注意

原生資料庫查詢的其中一個意圖是非副作用。 不過,Power Query 不保證查詢不會影響資料庫。 如果您執行其他使用者所撰寫的原生資料庫查詢,系統會提示您確定您知道會使用認證評估的查詢。 如需詳細資訊,請參閱 原生資料庫查詢安全性

Power Query 可讓您在連接到資料庫時,於 [進階選項] 底下的文字框中指定原生資料庫查詢。 在下列範例中,您將使用 SQL 語句文字框中輸入的原生資料庫查詢,從 SQL Server 資料庫匯入數據。 此程式在Power Query支援之原生資料庫查詢的所有其他資料庫中都類似。

  1. 使用 Power Query 將 連線 至 SQL Server 資料庫。 在 連接器選取範圍中選取 [SQL Server 資料庫] 選項。

  2. 在 [ SQL Server 資料庫] 彈出視窗中:

    1. 指定您想要使用原生資料庫查詢匯入資料的伺服器和資料庫

    2. 在 [進階選項] 下,選取 [SQL 語句] 字段並貼上或輸入原生資料庫查詢,然後選取 [確定]。

      執行原生資料庫查詢。

  3. 如果這是您第一次連線到此伺服器,您會看到提示以選取要連線到資料庫的驗證模式。 選取適當的驗證模式,然後繼續。

    注意

    如果您沒有資料來源的存取權(伺服器和資料庫),您會看到要求存取伺服器和資料庫的提示(如果在數據源的 Power BI 中指定了存取要求資訊)。

  4. 如果已建立連線,則會在 Power Query 編輯器 中傳回結果數據。

    視需要塑造數據,然後選取 [ 套用和關閉 ] 以儲存變更並匯入數據。

支援原生資料庫查詢的 連線 器

下列 Power Query 連接器支援原生資料庫查詢。

連接器 原生資料庫查詢的類型
Amazon Redshift SQL statement
Azure Analysis Services 資料庫 MDX 或 DAX 查詢
適用於 PostgreSQL 的 Azure 資料庫 SQL statement
Azure Cosmos DB SQL statement
Azure Synapse Analytics SQL statement
Azure SQL Database SQL statement
DataWorld.Dataset dwSQL
Dataverse SQL statement
Essbase MDX 語句
FHIR FHIR 搜尋
Google BigQuery SQL statement
IBM Db2 資料庫 SQL statement
IBM Informix 資料庫 (搶鮮版) SQL statement
MySQL 資料庫 SQL statement
ODBC SQL statement
OLE DB SQL statement
Oracle Database SQL statement
PostgreSQL SQL statement
SAP HANA 資料庫 SQL statement
Snowflake SQL statement
SQL Server Analysis Services 資料庫 MDX 或 DAX 查詢
SQL Server 資料庫 SQL statement
TIBCO(R) 資料虛擬化 (Beta) SQL statement
維納 (Beta) 模型查詢 (MQL)

限制和問題

使用原生資料庫查詢之前,您應該先瞭解可能遇到的限制和問題。

查詢摺疊

使用原生資料庫查詢時的查詢折疊僅限於特定數量的Power Query 連接器。 如需詳細資訊,請移至 原生查詢的查詢折疊。

原生資料庫查詢安全性

有時候,當您嘗試使用其他使用者建立的查詢,或透過 進階編輯器 或公式列建立的查詢時,基本上是在顯示原生查詢輸入方塊的連接器對話方塊外部的任何其他路徑時,您可能會收到一則訊息,指出:

原生資料庫查詢訊息。

如果您看到此訊息,請選取 [ 編輯許可權]。 此選取項目會開啟 [ 原生資料庫查詢 ] 對話框。 您將有機會執行原生資料庫查詢,或取消查詢。

原生資料庫查詢核准。

根據預設,如果您在連接器對話方塊外執行原生資料庫查詢,則每次執行不同的查詢文字時都會提示您,以確保將執行的查詢文字已由您核准。

注意

您在取得資料作業中插入的原生資料庫查詢不會詢問您是否要執行查詢。 他們只會執行。

如果在 Power BI Desktop 或 Excel 中執行原生資料庫查詢,您可以關閉原生資料庫查詢安全性訊息。 若要關閉安全性訊息:

  1. 如果您使用 Power BI Desktop,請在 [ 檔案 ] 索引標籤底下,選取 [ 選項和設定 > 選項]。

    如果您使用 Excel,請在 [ 資料] 索引標籤底下,選取 [ 取得數據 > 查詢選項]。

  2. 在 [全域設定] 底下,選取 [安全性]。

  3. 清除 [需要使用者核准新的原生資料庫查詢]。

  4. 選取 [確定]。

您也可以撤銷先前在 Power BI Desktop 或 Excel 中針對指定數據源核准的任何原生資料庫查詢核准。 若要撤銷核准:

  1. 如果您使用 Power BI Desktop,請在 [檔案] 索引標籤底下,選取 [選項] 和 [>設定數據源設定]。

    如果您使用 Excel,請在 [數據] 索引標籤底下,選取 [取得>數據源] 設定。

  2. 在 [ 數據源設定 ] 對話框中,選取 [ 全域許可權]。 然後選取數據源,其中包含您想要撤銷其核准的原生資料庫查詢。

  3. 選取編輯權限

  4. 在 [編輯許可權] 對話框的 [原生資料庫查詢] 下,選取 [撤銷 核准]。

    撤銷原生資料庫查詢核准。