在 Power BI 中使用 DirectQuery 連線 至 SAP Business Warehouse

您可以使用 DirectQuery 直接連線到 SAP Business Warehouse (SAP BW) 數據源。 鑒於 SAP BW 的 OLAP/多維度本質,相較於 SQL Server 等關係型來源,DirectQuery 與 SAP BW 之間有許多重要差異。 這些差異摘要如下:

  • 在 DirectQuery 中,透過關係型來源,有一組查詢,如 [取得數據] 或 [Power Query 編輯器] 對話框中所定義,以邏輯方式定義欄位清單中可用的數據。 線上到 SAP BW 等 OLAP 來源時,此設定不是這種情況。 相反地,使用 Get Data 連接到 SAP 伺服器時,只會選取 InfoCube 或 BEx 查詢。 然後,選取之 InfoCube/BEx 查詢的所有索引鍵數位和維度都可在欄位清單中取得。
  • 同樣地,連線到 SAP BW 時沒有 Power Query 編輯器。 例如,您可以選取 [轉換>數據源設定] 來變更數據源設定,例如伺服器名稱。 您可以選取 [轉換數據>編輯參數] 來變更任何參數的設定。
  • 鑒於 OLAP 來源的獨特本質,除了針對 DirectQuery 施加的一般限制之外,還有適用於模型和視覺效果的其他限制。 本文稍後會說明這些限制。

此外,請務必瞭解Power BI中不支援許多SAP BW功能,而且由於SAP BW的公用介面本質,所以透過Power BI看到的結果與使用 SAP 工具時所看到的結果不符。 本文稍後將說明這些限制。 您應該仔細檢閱這些限制和行為差異,以確保透過Power BI看到的結果,如SAP公用介面所傳回,會正確解譯。

注意

在 Power BI Desktop 2018 年 3 月更新之前,透過 SAP BW 使用 DirectQuery 的功能處於預覽狀態。 在預覽期間,意見反應和建議的改進促使變更會影響使用該預覽版本所建立的報告。 現在,透過 SAP BW 的 DirectQuery 正式運作(GA)已發行,您必須捨棄任何使用透過預先 GA 版本建立之 SAP BW 上的 DirectQuery 的現有(預覽型)報告。

在透過 SAP BW 使用 GA 前版本的 DirectQuery 所建立的報表中,叫用 Refresh 時發生這些預先 GA 報表的錯誤,因為嘗試使用基礎 SAP BW Cube 的任何變更來重新整理元數據。 請使用 GA 版本的 DirectQuery over SAP BW,從空白報表重新建立這些報表。

其他模型限制

在 Power BI 中使用 DirectQuery 連線到 SAP BW 時,其他主要模型限制如下:

  • 不支援匯出數據行: 無法建立匯出數據行。 這個事實也表示無法使用建立匯出數據行的群組和叢集。
  • 量值的其他限制: DAX 表達式有其他限制,可用於量值以反映 SAP BW 所提供的支持層級。
  • 不支援定義關聯性: 關聯性是外部 SAP 來源固有的。 無法在模型中定義其他關聯性。
  • 無數據檢視: 數據檢視通常會在數據表中顯示詳細數據層級數據。 鑒於 SAP BW 之類的 OLAP 來源本質,此檢視無法透過 SAP BW 取得。
  • 數據行和量值詳細數據是固定的: 欄位清單中看到的數據行和量值清單是由基礎來源所修正,而且無法修改。 例如,您無法刪除資料行或變更其資料類型。 不過,它可以重新命名。
  • DAX 中的其他限制: DAX 有更多限制可用於量值定義,以反映來源的限制。 例如,您無法在數據表上使用聚合函數。

其他視覺效果限制

在 Power BI 中使用 DirectQuery 連線到 SAP BW 時,視覺效果中的其他主要限制如下:

  • 沒有數據行的匯總: 您無法變更視覺效果上數據行的匯總。 一律 不要摘要
  • 量值篩選已停用: 已停用量值篩選,以反映 SAP BW 所提供的支援。
  • 多重選取並包含/排除: 如果點代表多個數據行的值,視覺效果上的多重選取數據點功能就會停用。 例如,假設有條形圖顯示依國家/地區銷售,且 [圖例] 上的 [類別],則無法選取 [美國]、[自行車] 和 [法國]、[服裝] 的點。 同樣地,您無法選取 (USA, Bikes) 的點,並將它從視覺效果中排除。 這兩項限制都是為了反映 SAP BW 所提供的支援而強加。

支援 SAP BW 功能

下表列出所有未完全支援的 SAP BW 功能,或使用 Power BI 時的行為不同。

功能 描述
本機計算 BEx Query 中定義的本機計算會變更透過 BEx Analyzer 等工具顯示的數位。 不過,它們不會反映在透過公用 MDX 介面從 SAP 傳回的數位中。
因此,Power BI 視覺效果中所見的數位不一定符合 SAP 工具中對應視覺效果的數位。
例如,從將匯總設定為 Cumulat 或執行總和的 BEx 查詢連接到查詢 Cube 時,Power BI 會取回基數,忽略該設定。 分析師當然可以在Power BI中本機套用執行的總和計算,但在未執行此動作時,必須謹慎解釋數位的方式。
彙總 在某些情況下,特別是在處理多個貨幣時,SAP 公用介面傳回的匯總數位不符合 SAP 工具所顯示的結果。
因此,Power BI 視覺效果中所見的數位不一定符合 SAP 工具中對應視覺效果的數位。
例如,在 BEx Analyzer 中,不同貨幣的總計會顯示為 “*”,但 SAP 公用介面會傳回總計,而不需要任何這類匯總數位毫無意義的資訊。 因此,匯總 Power BI 會顯示 $、EUR 和 AUD 的數位。
貨幣格式設定 任何貨幣格式設定, 例如$2,3004000 AUD,不會反映在 Power BI 中。
量值單位 例如, 230 KG 的量值單位不會反映在 Power BI 中。
索引鍵與文字 (短、中、長) 對於 SAP BW 特性,例如 CostCenter,字段清單會顯示單一數據行 成本中心。 使用該數據行會顯示預設文字。 藉由顯示隱藏欄位,也可以看到傳回 SAP BW 所指派之唯一名稱的唯一名稱數據行,而且是唯一性的基礎。
無法使用索引鍵和其他文字欄位。
特性的多個階層 在 SAP 中,特性可以有多個階層。 然後在 BEx Analyzer 之類的工具中,當查詢中包含特性時,用戶可以選取要使用的階層。
在 Power BI 中,您可以在欄位清單中看到各種階層,做為相同維度上的不同階層。 不過,從相同維度上的兩個不同的階層中選取多個層級,會導致 SAP 傳回空白數據。
處理不完全的階層 Screenshot of ragged content, showing the treatment of ragged hierarchies.
縮放比例/反向符號 在 SAP 中,關鍵數位可以有縮放比例,例如 1000,定義為格式化選項,這表示所有顯示都會依該因數縮放。
它同樣可以設定反轉正負號的屬性集。 在視覺效果中使用Power BI中的這類重要數位,或做為使用未調整數位計算結果的一部分。 符號不會反轉。 基礎縮放比例無法使用。 在 Power BI 視覺效果中,軸上顯示的縮放單位 (K,M,B) 可以控制為視覺格式設定的一部分。
層級以動態方式顯示/消失的階層 一開始連線到 SAP BW 時,會擷取階層層級的相關信息,導致字段清單中的一組字段。 此資訊會快取,而且如果層級集合變更,則在叫用 Refresh 之前,欄位集不會變更。
這種情況只能在Power BI Desktop 中使用。 這類重新整理,以反映發行后無法於 Power BI 服務 中叫用層級的變更。
默認篩選 BEx 查詢可以包含預設篩選,這些篩選是由 SAP BEx Analyzer 自動套用。 這些篩選不會公開,因此Power BI中的對等用法預設不會套用相同的篩選。
隱藏的索引鍵數位 BEx 查詢可以控制關鍵人物的可見度,而隱藏的索引鍵圖形不會出現在 SAP BEx Analyzer 中。 此事實不會透過公用 API 反映,因此這類隱藏的關鍵數位仍會出現在欄位清單中。 不過,它們可以隱藏在Power BI 中。
數值格式設定 Power BI 中不會自動反映任何數值格式設定,例如小數點和小數點的數目。 不過,接著可以在Power BI 中控制這類格式設定。
階層版本控制 SAP BW 允許維護不同版本的階層,例如,2007 年與 2008 年的成本中心階層。 Power BI 中僅提供最新版本,因為公用 API 不會公開版本的相關信息。
時間相依階層 使用 Power BI 時,時間相依階層會在目前日期進行評估。
貨幣轉換 SAP BW 支援以 Cube 中保留的費率為基礎的貨幣轉換。 公用 API 不會公開這類功能,因此無法在 Power BI 中使用。
排序次序 您可以針對 SAP 中定義特性的排序順序,例如 依文字索引鍵排序順序。 此排序順序不會反映在PowerBI中。 例如,月可能會顯示為「四月」、「八月」等等。
您無法在 Power BI 中變更此排序順序。
技術名稱 [取得數據] 中,可以看到特性/量值名稱(描述)和技術名稱。 欄位清單只包含特性/量值名稱(描述)。
屬性 您無法存取 Power BI 中特性的屬性。
用戶語言設定 用來連線到 SAP BW 的地區設定會設定為連線詳細數據的一部分,而且不會反映最終報表取用者的地區設定。
文字變數 SAP BW 允許功能變數名稱包含變數的佔位元元, $YEAR$ Actuals例如 ,然後會由選取的值取代。 例如,如果已為變數選取 2016 年,欄位會顯示為 BEx 工具中的 2016 年實際 值。
Power BI 中的數據行名稱不會根據變數值而變更,因此會顯示為 $YEAR$ Actuals。 不過,您可以在 Power BI 中變更資料行名稱。
客戶結束變數 客戶結束變數不會由公用 API 公開,因此 Power BI 不支援。
特性結構 基礎 SAP BW 來源中的任何特性結構都會導致 Power BI 中公開量值爆炸。 例如,具有兩個量值Sales和 ,以及包含預算和實際的特性結構,則會公開四個量值:Sales.Budget、、Sales.ActualCosts.BudgetCosts.ActualCosts

如需 DirectQuery 的詳細資訊,請參閱下列資源: