Loading

Beim Ausführen der Abfrage über die Live SAP HANA-Verbindung werden falsche aggregierte Kennzahlen zurückgegeben

Veröffentlichungsdatum: Aug 24, 2022
Beschreibung
Bei Verwendung einer Direktverbindung zu einer SAP HANA-Ansicht stellen Sie fest, dass die Werte von aggregierten Kennzahlen in Ihren Abfragen falsch sind. Wenn Sie eine Extraktverbindung verwenden, sind diese Abfrageergebnisse jedoch korrekt.

Cause

Wenn Hana SQL-Abfragen für eine Berechnungsansicht verarbeitet, die mithilfe eines Aggregationsknotens erstellt wurde, erfolgen möglicherweise Berechnungen mithilfe von aggregierten Werten, wofür bei der normalen SQL-Semantik detaillierte Werte verwendet werden würden.Beispielsweise würde für ein in Tableau als "price*quantity" definiertes berechnetes Feld von Hana möglicherweise die Berechnung SUM(price)*SUM(quantity) anstelle von SUM(price*quantity) durchgeführt werden.

Berechnungsansichten befinden sich im Schema "_SYS_BIC".

Wenn die Protokollebene “debuggen” oder höher lautet und Tableau eine Verbindung zu einer Berechnungsansicht herstellt, wird eine Zeile mit der folgenden Meldung protokolliert: "HanaConnection::CheckAnalyticView: Es wurde eine Analyseansicht vom Typ CALC erkannt".
Lösung
Dieses Verhalten wird von der Konfiguration der Ansicht in Hana Studio vorgegeben. Wenn es sich um eine Berechnungsansicht mit einem Aggregationsknoten handelt, ändern Sie die Ansicht in Hana Studio, indem Sie die Option "Flag beibehalten" für alle Spalten im Aggregationsknoten aktivieren, die Teil des primären Schlüssel für die Daten sind.Dadurch verarbeitet Hana Abfragen mit einer Detailgenauigkeit, die diese Spalten einschließt.

Wenn eine Änderung der Ansicht nicht realisierbar ist, wenden Sie eine der folgenden Problemumgehungen an:

Option 1

Verwenden Sie anstelle einer Direktverbindung einen Extrakt. Stellen Sie dabei sicher, dass Sie alle Dimensionen einbeziehen, die Teil des primären Schlüssels für die Daten sind.

Option 2

Vermeiden Sie die Verwendung von SAP HANA-Ansichten als Datenquelle. Verwenden Sie stattdessen die Originaltabelle, mit deren Hilfe die Ansicht erstellt wurde.

Option 3

(Beachten Sie, dass diese dritte Problemumgehung die Leistung beeinträchtigen kann)
Das Aggregationsverhalten kann umgangen werden, indem Sie einen Vorgang vom Typ “SELECT *” für die Ansicht ausführen. Dies ist mithilfe einer benutzerdefinierten SQL-Datenverbindung möglich (im Gegensatz zu einer Direktverbindung zu einer Ansicht). Beispiel:
  • Angenommen, Sie verfügen über eine Analyseansicht mit der Bezeichnung “User/SUPERSTORE_AV”.
  • Die benutzerdefinierte SQL-Abfrage würde dann SELECT * FROM "_SYS_BIC"."User/SUPERSTORE_AV" lauten.
Nummer des Knowledge-Artikels

001472896

 
Laden
Salesforce Help | Article