Denodo
注意
下列連接器文章由 Denodo 提供,此連接器的擁有者和Microsoft Power Query 連接器認證計劃的成員。 如果您有有關本文內容或想要看到本文變更的問題,請流覽Denodo網站,並使用該處的支援通道。
摘要
項目 | 說明 |
---|---|
發行狀態 | 正式發行 |
產品 | Power BI (語意模型) Power BI (數據流) 網狀架構 (資料流程 Gen2) |
支援的驗證類型 | 基本 Windows |
注意
某些功能可能會存在於一個產品中,但由於部署排程和主機特定功能,而不存在其他功能。
必要條件
若要使用此連接器,您必須已安裝Denodo平臺,並設定並啟動其服務。 如果使用 ODBC DSN 的連線,您必須已在 ODBC 數據源管理員中正確設定連線。
支援的功能
- Import
- DirectQuery (Power BI 語意模型)
從 Power Query Desktop 連線到 ODBC 數據源
若要進行連線,請執行下列步驟:
若要連線到數據,請從 [首頁] 功能區選取 [取得數據],然後在 [資料庫] 區段中選取 [Denodo]。
有兩種方式可以連線到您選擇的數據來源:
- 透過 DSN (ODBC 資料來源名稱)
- 使用連接字串
在 [Denodo 連接器] 對話方塊的 [DSN 或連接字串] 區段中,根據您偏好的連線類型,提供數據源名稱 (DSN) 或 [連接字串]。
建立與 Denodo 相容的 連接字串 時,您必須考慮必須省略 Driver 欄位,因為連接器本身在連接時間會以透明方式設定此欄位。
連接字串 必須包含三個必要參數:SERVER、PORT 和 DATABASE:
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 資料源,並因此要求每個數據源的個別驗證認證。
第二個區段 [啟用偵錯模式] 是選擇性字段,可讓您將追蹤資訊新增至記錄檔。 當您使用 [選項] 功能表中的 [診斷] 索引標籤,在應用程式中啟用追蹤時,Power BI Desktop 會建立這些檔案。 請注意,啟用偵錯模式的預設值為 false,在此案例中,Denodo Power BI 自定義連接器的記錄檔中不會有任何追蹤數據。
第三個區段 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
Denodo 連接器的最後一節是數據連線模式,您可以在匯入模式或 DirectQuery 模式之間進行選擇。
完成時,選取 [確定]。
在顯示顯示 Denodo Virtual DataPort 中可用資料的預覽導覽器視窗之前,系統會要求您進行驗證。 Denodo Power BI 自定義連接器支援兩種驗證類型:Windows 和基本。
Windows:當您選擇使用 Windows 驗證 時,Power BI Desktop 會使用 Kerberos 驗證連線到虛擬 DataPort。
在此案例中:
必須在 Virtual DataPort 伺服器中啟用 Kerberos 驗證。
數據源所連接的 Denodo Virtual DataPort 資料庫必須設定為 ODBC/ADO.net 驗證類型設定為 Kerberos 的選項。
Power BI Desktop 必須在 Windows 網域中執行,因為 ODBC 驅動程式會從操作系統的票證快取要求 Kerberos 票證。
請確定 DSN 組態的 [ 進階選項 ] 頁面包含使用 Kerberos 作為驗證方法所需的所有組態。
基本:此驗證類型可讓您使用虛擬 DataPort 伺服器認證,將 Power BI Desktop 連線到虛擬 DataPort 數據。
完成後,請選取 [ 連線]。
在 [導覽器] 中,從您想要的資料庫選取所需的數據,然後選擇 [載入],或如果您要修改傳入數據,請選擇 [ 轉換數據 ]。
使用內部部署數據閘道從 Power BI 服務 連線到 ODBC 數據源
若要進行連線,請執行下列步驟:
設定作為網橋的內部部署數據閘道(企業閘道),在內部部署數據之間提供快速且安全的數據傳輸(Power BI Desktop 應用程式中的數據,而非雲端中的數據),以及 Power BI 服務。
登入並註冊您的閘道。 在內部部署數據閘道應用程式中,選取 [ 狀態 ] 索引標籤,確認您的閘道已上線且可供使用。
使用 Power BI 服務 中的閘道設定頁面,建立DenodoPower BI自定義連接器的數據源。
若要建立資料源,您必須指定連線到您選擇的數據源的方式:
- 透過 DSN
- 使用連接字串
您也必須指定驗證模式。 可用的驗證方法如下:
Windows:當您選擇使用 Windows 驗證 時,Power BI 服務 使用 Kerberos 驗證聯機到虛擬 DataPort。 您需要:
在 [數據源設定] 中,輸入使用者名稱和密碼以建立 Kerberos 票證。
必須在 Virtual DataPort 伺服器中啟用 Kerberos 驗證。
數據源所連接的 Denodo Virtual DataPort 資料庫必須設定為 ODBC/ADO.net 驗證類型設定為 Kerberos 的選項。
請確定 DSN 組態的 [ 進階選項 ] 頁面包含使用 Kerberos 作為驗證方法所需的所有組態。
基本:此驗證類型可讓您在 Power BI 服務 中建立數據源,以使用虛擬 DataPort 伺服器認證連線到虛擬 DataPort 數據。
如果您使用 Windows 驗證,您可以在數據源的 [進階設定] 下啟用單一登錄 (SSO) 驗證架構,以便使用相同的認證,讓使用者存取 Power BI 中的報表,以存取 Denodo 中所需的數據。
啟用 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
的 Power BI 閘道組態檔Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
Microsoft有兩個稱為ADUserNameLookupProperty
ADUserNameReplacementProperty
的屬性,可讓網關在運行時間執行本機Microsoft Entra ID 查閱。ADUserNameLookupProperty
必須針對本機 AD 的哪個屬性指定,它必須對應來自 Microsoft Entra ID 的用戶主體名稱。 因此,在此案例中,ADUserNameLookupProperty
應該是userPrincipalName
。 然後,找到用戶之後,ADUserNameReplacementProperty
值會指出應該用來驗證模擬用戶的屬性(您將在 Denodo 中做為登入標識符的屬性)。您也應該考慮此組態檔中的變更位於閘道層級,因此會影響透過 Microsoft Power BI 閘道完成 SSO 驗證的任何來源。
建立 Denodo 連接器的數據源之後,您就可以重新整理 Power BI 報表。 若要在 powerbi.com 上發佈報表,您需要:
- 在 Power BI Desktop 中開啟報表。
- 選取 [檔案]>[發佈]>[發行至 Power BI]。
- 將報表儲存在電腦上。
- 選取您要發佈的工作區。
進階設定
使用 ConnectionTimeout 參數。
如果您想要控制在放棄嘗試與伺服器建立連線之前要等候的時間,您可以使用 ConnectionTimeout
參數。
此參數只能從 進階編輯器 使用。 若要這樣做, ConnectionTimeout
必須在記錄選項中加入 參數,將類型的 Duration
值與其產生關聯。
疑難排解
當 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 數據模型中, 您之後必須手動註冊這些關聯性。