在 Power BI Desktop 中使用 SAP Business Warehouse 連接器

您可以使用 Power BI Desktop 來存取 SAP Business Warehouse (SAP BW) 數據。 SAP BW 連線 or 實作 2.0 已大幅改善 1.0 版的效能和功能。

如需 SAP 客戶如何受益於將 Power BI 連線到其 SAP BW 系統的相關信息,請參閱 Power BI 和 SAP BW 白皮書。 如需搭配 SAP BW 使用 DirectQuery 的詳細資訊,請參閱 DirectQuery 和 SAP Business Warehouse (BW)

重要

SAP BW 連接器 1.0 版已被取代。 新的連線使用 SAP BW 連接器的實作 2.0。 即將從連接器中移除所有 1.0 版的支援。 使用本文中的資訊來更新現有的 1.0 版報表,以使用連接器的實作 2.0。

使用 SAP BW 連線 or

請遵循下列步驟,使用 SAP BW 連線 or 來安裝和連線到數據。

必要條件

SAP 連線 or 的實作 2.0 需要 SAP .NET 連線 or 3.0。 您可以從 SAP 下載 SAP .NET 連線 or 3.0。 下載的存取權需要有效的 S 使用者登入。

重要

請務必使用 SAP .NET 連線 or 3.0。 SAP BW 應用程式伺服器連接器目前不支援 SAP .NET 連線 或 3.1。

.NET 4.0 架構連接器採用32位和64位版本。 選擇符合 Power BI Desktop 安裝版本的版本。

當您安裝時,請在 [選擇性安裝步驟] 中,確定您選取 [ 將元件安裝至 GAC]。

Screenshot of the SAP optional setup steps with Install assemblies to GAC selected.

注意

SAP BW 連線 or 的第一個版本需要 NetWeaver DLL。 目前的版本不需要 NetWeaver DLL。

在 Power BI Desktop 中 連線 SAP BW 數據

若要使用 SAP BW 連線 or 連線到 SAP BW 數據,請遵循下列步驟:

  1. 在 Power BI Desktop 中,選取 [ 取得數據]。

  2. 在 [取得數據] 畫面上,選取 [資料庫],然後選取 [SAP Business Warehouse Application Server] 或 [SAP Business Warehouse Message Server]。

    Screenshot that shows the Get Data options for SAP.

  3. 選取 Connect

  4. 在下一個畫面上,輸入伺服器、系統和客戶端資訊,以及是否要使用 ImportDirectQuery 連線方法。 如需詳細指示,請參閱:

    注意

    您可以使用 SAP BW 連線 or,從預設的 SAP BW 伺服器 Cube 匯入數據,或使用 DirectQuery 連線到數據。 如需搭配 DirectQuery 使用 SAP BW 連線 or 的詳細資訊,請參閱 DirectQuery 和 SAP Business Warehouse (BW)

    您也可以選取 [進階選項],然後選取 語言程式代碼、針對指定伺服器執行的自定義 MDX 語句 ,以及其他選項。 如需詳細資訊,請參閱 使用進階選項

  5. 選取 [ 確定 ] 以建立連線。

  6. 提供任何必要的驗證數據,然後選取 [連線]。 如需驗證的詳細資訊,請參閱 使用數據源進行驗證。

  7. 如果您未指定自定義 MDX 語句,[ 導覽器 ] 畫面會顯示伺服器上所有可用的 Cube 清單。 您可以從可用的 Cube 向下切入並選取專案,包括維度和量值。 Power BI 會顯示開放式分析介面公開的查詢和 Cube。

    當您從伺服器選取一或多個專案時, 導覽器 會顯示輸出數據表的預覽。

    Screenshot of a SAP table preview in the Navigator screen.

    [ 導覽器] 對話框也提供下列顯示選項:

    • 僅選取的專案。 根據預設, 導覽器 會顯示所有專案。 此選項有助於驗證您選取的最後一組專案。 或者,您可以在預覽區域中選取資料行名稱,以檢視選取的專案。
    • 啟用數據預覽。 此值為預設值,並顯示數據預覽。 取消選取此選項,藉由不再要求預覽數據來減少伺服器呼叫數目。
    • 技術名稱。 SAP BW 支援 Cube 內物件的使用者定義 技術名稱 。 Cube 擁有者可以公開 Cube 物件的這些易記名稱,而不是只公開對象的實體名稱。

    Screenshot of the display options in the Navigator window.

  8. 選取您要的所有物件之後,請選擇下列其中一個選項:

    • 載入 以將輸出數據表的整組數據列載入 Power BI Desktop 數據模型。 [ 報表 ] 檢視隨即開啟。 您可以開始可視化數據,或使用 [數據] 或 [模型] 檢視進行進一步修改
    • 轉換數據以使用數據開啟 Power Query 編輯器。 您可以將整組數據列帶入 Power BI Desktop 數據模型之前,先指定更多數據轉換和篩選步驟。

除了 SAP BW Cube 中的數據,您也可以從 Power BI Desktop 中各種其他數據源匯入數據,並將其合併成單一報表。 這項功能提供許多有趣的案例,以在 SAP BW 數據之上報告和分析。

SAP BW 實作 2.0 中的新選項

本節列出一些 SAP BW 連線 or 實作 2.0 功能和改進。 如需詳細資訊,請參閱 實作詳細數據

進階選項

您可以在 SAP BW 連線畫面的 [進階選項] 底下 設定下列選項

  • 執行模式 會指定 MDX 介面如何在伺服器上執行查詢。 下列選項有效:

    • BasXml
    • BasXmlGzip
    • DataStream

    預設值為 BasXmlGzip。 此模式可以改善低延遲或大量查詢的效能。

  • 批次大小 會指定要在執行 MDX 語句時擷取的數據列數目上限。 少數表示在擷取大型語意模型時,對伺服器進行更多呼叫。 較大的值可能會改善效能,但可能會導致 SAP BW 伺服器上的記憶體問題。 預設值為 50000

  • 啟用特性結構會變更導覽器顯示特性結構的方式。 此選項的預設值為 false 或未核取。 此選項會影響可供選取的物件清單,而且原生查詢模式不支援。

其他改善

下列清單描述其他實作 2.0 改善:

  • 效能較佳。
  • 能夠擷取數百萬個數據列,並透過批次大小參數微調。
  • 切換執行模式的能力。
  • 支援壓縮模式,特別有利於高延遲連線或大型語意模型。
  • 改善變數偵測 Date
  • Date (ABAP 類型 DATS)和 Time (ABAP 類型 TIMS) 維度會公開為日期和時間,而不是文字值。 如需詳細資訊,請參閱 支援 SAP BW 中的具型別日期。
  • 更好的例外狀況處理。 BAPI 呼叫中發生的錯誤現在已浮出水面。
  • BasXmlGzip 模式中的數據BasXml行折疊。 例如,如果產生的 MDX 查詢擷取 40 個數據行,但目前的選取範圍只需要 10 個,則此要求會傳遞至伺服器以擷取較小的語意模型。

更新現有的實作 1.0 報告

您可以變更現有的報表,以只在匯入模式中使用實作 2.0。

  1. 從 Power BI Desktop 中的現有報表中,選取 功能區中的數據轉換 ,然後選取要更新的 SAP Business Warehouse 查詢。

  2. 以滑鼠右鍵按下查詢,然後選取 [進階編輯器]。

  3. 進階編輯器SapBusinessWarehouse.Cubes,變更呼叫,如下所示:

  4. 判斷查詢是否已經包含選項記錄,例如下列範例:

    Screenshot that shows a plaintext query with an option record.

    如果是,請新增 [Implementation 2.0] 選項,並移除任何 ScaleMeasures 選項:

    Screenshot that shows a plaintext query with the added value Implementation = 2.0.

    注意

    此選項 ScaleMeasures 在此實作中已被取代。 連接器現在一律會顯示未調整的值。

  5. 如果查詢尚未包含選項記錄,請新增它。 例如,變更下列專案:

    Screenshot that shows a plaintext query with an option record added.

    變更為:

    Screenshot that shows a plaintext query of the new option with the added value Implementation = 2.0.

注意

SAP BW 連線 or 的實作 2.0 應該與第 1 版相容。 不過,由於不同的 SAP BW MDX 執行模式,可能會有一些差異。 若要解決任何差異,請嘗試在執行模式之間切換。

疑難排解

本節提供 SAP BW 連接器的一些疑難解答情況和解決方案。 如需詳細資訊,請參閱 SAP Business Warehouse 連接器疑難解答

SAP BW 中的數值數據會傳回格式錯誤的數值數據

在此問題中,SAP BW 會傳回具有小數點而非逗號的數值數據。 例如,1,000,000 會以 1.000.000 傳回。

SAP BW 會以逗號或句號作為小數分隔符傳回十進位數據。 若要指定 SAP BW 應該用於小數分隔符的這其中哪一個字元,Power BI Desktop 驅動程式會呼叫 BAPI_USER_GET_DETAIL。 此呼叫會傳回名為 DEFAULTS的結構,其具有稱為 DCPFM 的欄位,其會將十進位格式表示法儲存為下列其中一個值:

  • ' ' (空格) = 小數點為逗號: N.NNN,NN
  • 'X' = 小數點為句點: N,NNN.NN
  • 'Y' = 小數點為 N: NNN NNN,NN

發生此問題時,特定使用者的呼叫 BAPI_USER_GET_DETAIL 會失敗,該使用者取得格式錯誤的數據,並出現類似下列訊息的錯誤訊息:

 You are not authorized to display users in group TI:
     <item>
         <TYPE>E</TYPE>
         <ID>01</ID>
         <NUMBER>512</NUMBER>
         <MESSAGE>You are not authorized to display users in group TI</MESSAGE>
         <LOG_NO/>
         <LOG_MSG_NO>000000</LOG_MSG_NO>
         <MESSAGE_V1>TI</MESSAGE_V1>
         <MESSAGE_V2/>
         <MESSAGE_V3/>
         <MESSAGE_V4/>
         <PARAMETER/>
         <ROW>0</ROW>
         <FIELD>BNAME</FIELD>
         <SYSTEM>CLNTPW1400</SYSTEM>
     </item>

若要解決此錯誤,SAP 系統管理員必須授與 Power BI SAP BW 使用者執行 BAPI_USER_GET_DETAIL的許可權。 此外,請確認使用者的數據具有正確的 DCPFM 值。

需要 SAP BEx 查詢的連線能力

您可以啟用 [外部存取] 屬性,在 Power BI Desktop 中執行 BEx 查詢,如下圖所示:

Screenshot that shows enabling Release for External Access.

在此問題中, Navigator 不會顯示數據預覽,而是顯示 對象參考未設定為物件 錯誤訊息的實例。

SAP 使用者需要存取下列特定的 BAPI 函式模組,以取得元數據,並從 SAP BW 的 InfoProviders 擷取數據:

  • BAPI_MDPROVIDER_GET_CATALOGS
  • BAPI_MDPROVIDER_GET_CUBES
  • BAPI_MDPROVIDER_GET_DIMENSIONS
  • BAPI_MDPROVIDER_GET_HIERARCHYS
  • BAPI_MDPROVIDER_GET_LEVELS
  • BAPI_MDPROVIDER_GET_MEASURES
  • BAPI_MDPROVIDER_GET_MEMBERS
  • BAPI_MDPROVIDER_GET_VARIABLES
  • BAPI_IOBJ_GETDETAIL

若要解決此問題,請確認使用者具有模組和BAPI_IOBJ_GETDETAILMDPROVIDER存取權。

啟用追縱

若要進一步針對這些或類似的問題進行疑難解答,您可以啟用追蹤:

  1. 在 Power BI Desktop 中,選取 [檔案>選項和設定>選項]。
  2. [選項] 中,選取 [診斷],然後選取 [診斷選項] 下的 [啟用追蹤]。
  3. 嘗試在追蹤作用中時從 SAP BW 取得數據,並檢查追蹤檔案以取得詳細數據。

SAP BW 連線 ion 支援

下表描述 SAP BW 目前的 Power BI 支援。

Products [模式] 驗證 連接器 SNC 連結庫 支援
Power BI Desktop 任意 使用者/密碼 應用程式伺服器 N/A Yes
Power BI Desktop 任意 Windows 應用程式伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI Desktop 任意 透過仿真的 Windows 應用程式伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI Desktop 任意 使用者/密碼 訊息伺服器 N/A Yes
Power BI Desktop 任意 Windows 訊息伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI Desktop 任意 透過仿真的 Windows 訊息伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI 閘道 Import 與 Power BI Desktop 相同
Power BI 閘道 DirectQuery 使用者/密碼 應用程式伺服器 N/A Yes
Power BI 閘道 DirectQuery Windows 透過模擬 (固定使用者, 無 SSO) 應用程式伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI 閘道 DirectQuery 透過 Kerberos 使用 SSO 進行 DirectQuery 查詢選項 應用程式伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI 閘道 DirectQuery 使用者/密碼 訊息伺服器 N/A Yes
Power BI 閘道 DirectQuery Windows 透過模擬 (固定使用者, 無 SSO) 訊息伺服器 sapcrypto + gsskrb5/gx64krb5 Yes
Power BI 閘道 DirectQuery 透過 Kerberos 使用 SSO 進行 DirectQuery 查詢選項 訊息伺服器 gsskrb5/gx64krb5 No
Power BI 閘道 DirectQuery 透過 Kerberos 使用 SSO 進行 DirectQuery 查詢選項 訊息伺服器 sapcrypto Yes