Denodo

注意

下列連接器文章由 Denodo 提供,此連接器的擁有者和 Microsoft Power Query 連線 or 認證計劃的成員。 如果您有有關本文內容或想要看到本文變更的問題,請流覽Denodo網站,並使用該處的支援通道。

摘要

項目 說明
發行狀態 正式發行
產品 Power BI (語意模型)
Power BI (數據流)
網狀架構 (資料流 Gen2)
支援的驗證類型 基本
Windows

注意

某些功能可能會存在於一個產品中,但由於部署排程和主機特定功能,而不存在其他功能。

必要條件

若要使用此連接器,您必須已安裝Denodo平臺,並設定並啟動其服務。 如果使用 ODBC DSN 的連線,您必須已在 ODBC 數據源 管理員 istrator 中正確設定連線。

支援的功能

  • Import
  • DirectQuery (Power BI 語意模型)

從 Power Query Desktop 連線 至 ODBC 數據源

若要進行連線,請執行下列步驟:

  1. 若要連線到數據,請從 [首頁] 功能區選取 [取得數據],然後在 [資料庫] 區段中選取 [Denodo]。

    Power Query Desktop 中的 Denodo 連接器。

  2. 有兩種方式可以連線到您選擇的數據來源:

    • 透過 DSN (ODBC 資料來源名稱)
    • 使用 連接字串

    在 [Denodo 連線 or] 對話方塊的 [DSN 或 連線 ion String] 區段中,根據您偏好的連線類型,提供數據源名稱 (DSN)連線 ion String

    Denodo 連接器對話框。

    建立與 Denodo 相容的 連接字串 時,您必須考慮必須省略 Driver 欄位,因為連接器本身在連接時間會以透明方式設定此欄位。

    連接字串 必須包含三個必要參數:SERVERPORTDATABASE

    SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database name>
    

    此外,它可以包含選擇性參數: SSLmode

    SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database name>;SSLmode=<SSL mode>
    

    您必須省略驗證參數,因為後續步驟中已設定驗證。

    注意

    撰寫 連接字串 時,必須考慮:

    • 連接字串 必須保留其參數的正確順序:SERVER、PORT、DATABASE 和 SSLMode。
    • 這些參數的名稱必須一律以相同的方式撰寫。 例如,如果您選擇以大寫撰寫它們,則必須一律以大寫撰寫;如果您決定將字母大寫寫(以大寫寫撰寫文字的第一個字母和小寫的其餘字母),則必須一律以這種方式撰寫。

    否則,可能會防止Power BI將報表中的不同Denodo資料集辨識為屬於相同 Denodo 資料源,並因此要求每個數據源的個別驗證認證。

  3. 第二個區段 [啟用偵錯模式] 是選擇性字段,可讓您將追蹤資訊新增至記錄檔。 當您使用 [選項] 功能表中的 [診斷] 索引標籤,在應用程式中啟用追蹤時,Power BI Desktop 會建立這些檔案。 請注意,啟用偵錯模式預設值為 false,在此案例中,Denodo Power BI 自定義連接器的記錄檔中不會有任何追蹤數據。

  4. 第三個區段 Native Query 是一個選擇性欄位,您可以在其中輸入查詢。 如果使用此查詢欄位,產生的數據集將會是查詢的結果,而不是數據表或一組數據表。

    您可以撰寫查詢,該查詢只會查詢數據源相關聯的其中一個資料庫。

    SELECT title, name FROM film JOIN language ON film.language_id = language.language_id WHERE film.language_id = 1
    

    如果您要撰寫查詢多個資料庫的查詢,您必須在查詢中指定擁有每個資料表的資料庫。

    SELECT i_item_sk, country FROM sakila.country, ewd.item
    
  5. Denodo 連線 or 中的最後一個區段數據連線模式,您可以在匯入模式或 DirectQuery 模式之間進行選擇。

  6. 完成後,請選取 [ 確定]。

  7. 在顯示顯示 Denodo Virtual DataPort 中可用資料的預覽導覽器視窗之前,系統會要求您進行驗證。 Denodo Power BI 自定義連接器支援兩種驗證類型:Windows 和基本。

    • Windows:當您選擇使用 Windows 驗證 時,Power BI Desktop 會使用 Kerberos 驗證連線到虛擬 DataPort。

      Power BI Desktop 中的 Denodo Windows 驗證。

      在此案例中:

      • 必須在 Virtual DataPort 伺服器中啟用 Kerberos 驗證。

      • 數據源所連接的 Denodo Virtual DataPort 資料庫必須設定為 ODBC/ADO.net 驗證類型設定為 Kerberos 的選項

      • Power BI Desktop 必須在 Windows 網域中執行,因為 ODBC 驅動程式會從操作系統的票證快取要求 Kerberos 票證。

      • 請確定 DSN 組態的 [ 進階選項 ] 頁面包含使用 Kerberos 作為驗證方法所需的所有組態。

        Denodo DSN 設定的 [進階選項] 頁面。

    • 基本:此驗證類型可讓您使用虛擬 DataPort 伺服器認證,將 Power BI Desktop 連線到虛擬 DataPort 數據。

      Power BI Desktop 中的 Denodo 基本身份驗證。

  8. 完成後,請選取 [連線]。

  9. [導覽器] 中,從您想要的資料庫選取所需的數據,然後選擇 [載入],或如果您要修改傳入數據,請選擇 [ 轉換數據 ]。

    Denodo 導覽器。

使用內部部署數據閘道從 Power BI 服務 連線 至 ODBC 資料源

若要進行連線,請執行下列步驟:

  1. 設定作為網橋的內部部署數據閘道(企業閘道),在內部部署數據之間提供快速且安全的數據傳輸(Power BI Desktop 應用程式中的數據,而非雲端中的數據),以及 Power BI 服務。

  2. 登入並註冊您的閘道。 在內部部署數據閘道應用程式中,選取 [ 狀態 ] 索引標籤,確認您的閘道已上線且可供使用。

    開啟狀態索引標籤的內部部署數據閘道。

  3. 使用 Power BI 服務 中的閘道設定頁面,建立DenodoPower BI自定義連接器的數據源。

    新增 Denodo 數據源。

    若要建立資料源,您必須指定連線到您選擇的數據源的方式:

    • 透過 DSN
    • 使用 連接字串

    您也必須指定驗證模式。 可用的驗證方法如下:

    • Windows:當您選擇使用 Windows 驗證 時,Power BI 服務 使用 Kerberos 驗證聯機到虛擬 DataPort。 您需要:

      • [數據源] 設定 中,輸入使用者名稱和密碼以建立 Kerberos 票證。

      • 必須在 Virtual DataPort 伺服器中啟用 Kerberos 驗證。

      • 數據源所連接的 Denodo Virtual DataPort 資料庫必須設定為 ODBC/ADO.net 驗證類型設定為 Kerberos 的選項

      • 請確定 DSN 組態的 [ 進階選項 ] 頁面包含使用 Kerberos 作為驗證方法所需的所有組態。

        Denodo DSN 設定的 [進階選項] 頁面。

    • 基本:此驗證類型可讓您在 Power BI 服務 中建立數據源,以使用虛擬 DataPort 伺服器認證連線到虛擬 DataPort 數據。

  4. 如果您使用 Windows 驗證,您可以在數據源的 [進階設定] 下啟用單一登錄 (SSO) 驗證架構,以便使用相同的認證,讓使用者在Power BI 中存取報表以存取 Denodo 中所需的數據。

    使用 Kerberos 的 Denodo SSO。

    啟用 SSO 的選項有兩種: 透過 Kerberos 使用 SSO 進行 DirectQuery 查詢 ,並使用 SSO 透過 Kerberos 進行 DirectQuery 和匯入查詢。 如果您使用 DirectQuery 型報表,這兩個選項都會使用登入 Power BI 服務 的使用者 SSO 認證。 當您使用以匯為基礎的報表時,會有所差異。 在此案例中,前一個選項會使用數據源頁面 (使用者名稱和密碼] 欄位中輸入的認證,而後者則使用數據集擁有者的認證。

    請務必注意,您必須考慮特定必要條件和考慮,才能使用 Kerberos 型 SSO。 其中一些基本需求如下:

    • 必須針對執行 Microsoft Power BI 閘道的 Windows 使用者啟用 Kerberos 限制委派,而且應該根據 Microsoft 為此用途所提供的指示執行本機 Active Directory 和 Microsoft Entra ID 環境的設定。

      根據預設,Microsoft Power BI 閘道會在執行 SSO 驗證作業時傳送用戶主體名稱 (UPN)。 因此,您必須檢閱您將用來作為 Denodo Kerberos 驗證登入標識碼的屬性,如果與不同 userPrincipalName,請根據此值調整閘道設定。

    • 儲存在 \Program Files\On-premises data gateway 的 Microsoft Power BI Gateway 組態檔Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config有兩個稱為 ADUserNameLookupProperty 的屬性,可ADUserNameReplacementProperty讓閘道在運行時間執行本機 Microsoft Entra ID 查閱。 ADUserNameLookupProperty必須針對本機 AD 的哪個屬性指定,它必須對應來自 Microsoft Entra ID 的用戶主體名稱。 因此,在此案例中, ADUserNameLookupProperty 應該是 userPrincipalName。 然後,找到用戶之後, ADUserNameReplacementProperty 值會指出應該用來驗證模擬用戶的屬性(您將在 Denodo 中做為登入標識符的屬性)。

      您也應該考慮此組態檔中的變更位於閘道層級,因此會影響透過 Microsoft Power BI 閘道完成 SSO 驗證的任何來源。

  5. 建立 Denodo 連接器的數據源之後,您就可以重新整理 Power BI 報表。 若要在 powerbi.com 上發佈報表,您需要:

    • 在 Power BI Desktop 中開啟報表。
    • 選取 [檔案>發佈至>Power BI]。
    • 將報表儲存在電腦上。
    • 選取您要發佈的工作區。

疑難排解

當 Denodo 檢視中的欄位與其他檢視有 42 個以上的關聯時載入數據。

如果將 Denodo 檢視當做數據源匯入 Power BI 與其他檢視有 42 個以上的關聯性,則存取資料轉換視窗時,Power BI 可能會顯示下列錯誤:

Preview.Error: The type of the current preview value is too complex to display.

此錯誤是因為 Microsoft Power Query 平臺的限制。 若要解決此問題,請在數據轉換視窗中選取失敗的數據源(查詢),並使用 View> 存取進階編輯器 進階編輯器。 然後,以 M 語言編輯數據來源運算式,將下列屬性新增至 options 函數調用的 Denodo.Contents 自變數:

CreateNavigationProperties=false

因此,您的通話看起來會類似:

  Source = Denodo.Contents(<dsn>, null, [CreateNavigationProperties=false])

這個屬性會指示Power BI 不要嘗試並從在此數據源中存取之Denodo檢視註冊的關聯性產生導覽屬性。 因此,如果您需要其中一些關聯性實際存在於 Power BI 數據模型中, 您之後必須手動註冊這些關聯性。