Loading

SAP HANA のライブ接続でクエリを実行しているときに正しくないメジャーの集計が返される

公開日: Aug 24, 2022
説明
SAP HANA のビューにライブ接続を使用すると、クエリのメジャーの集計値が正しくないことがわかります。ただし、抽出の接続を使用している場合、このクエリ結果は適切です。

Cause

集計ノードを使用して構築される計算ビューの SQL クエリが Hana で処理される場合、詳細値を使用する標準の SQL セマンティックとは異なり、集計値を使用して計算が実行される場合があります。たとえば、Tableau で "価格 x 数量" と定義された計算フィールドの場合、Hana で実行される計算は SUM(価格 x 数量) ではなく SUM(価格) x SUM(数量) となることがあります。

計算ビューは、スキーマ "_SYS_BIC" に配置されます。

ログ レベルが “debug” 以上の場合、Tableau で計算ビューに接続すると、次のメッセージが記録されます。"HanaConnection::CheckAnalyticView: Detected an analytic view of type CALC (HanaConnection::CheckAnalyticView: CALC タイプの分析ビューが検出されました)"
解決策
この動作は、Hana Studio のビューの構成に従います。これが集計ノードを含む計算ビューの場合、データのプライマリ キーに含まれる集計ノードのすべての列で [フラグを維持する] を有効にして、Hana Studio のビューを変更します。これにより、それらの列を含む詳細レベルで Hana がクエリを処理します。

ビューを変更できない場合、次の回避策のいずれかを試行します。

オプション 1

ライブ接続ではなく抽出を使用して、データのプライマリ キーに含まれるすべてのディメンションを確実に含めるようにします。

オプション 2

SAP HANA のビューをデータ ソースとして使用しないようにします。代わりに、ビューの作成元テーブルを使用します。

オプション 3

(注: この 3 番目の回避策では、パフォーマンスに影響が出る可能性があります)
集計動作は、ビューで “SELECT *” を実行することで回避できます。ビューへの直接接続とは対照的に、これはカスタム SQL データ接続を使用して実行できます。 例:
  • “User/SUPERSTORE_AV” という名前の分析ビューがあったとします。
  • カスタム SQL は SELECT * FROM "_SYS_BIC"."User/SUPERSTORE_AV" となります。
ナレッジ記事番号

001472896

 
読み込み中
Salesforce Help | Article