2017-11-15 3 views
0

Angenommen, Sie haben eine analytische HANA-Sicht, aber Sie haben keinen Zugriff auf die Tabelle, die den Ursprung der analytischen Sicht darstellt.Können Sie eine HANA-Analyseansicht abfragen, als ob es sich um die Originaltabelle handelt?

Die analytische Ansicht enthält voraggregierte Spalten, aber Sie benötigen die Spalten ohne die Voraggregation, andernfalls wird die Abfrage das falsche Ergebnis erhalten.

Zum Beispiel, wenn die ganzzahligen Spalten Price und Profit vorhanden sind und Ihre Abfrage SELECT SUM (PREIS * PROFIT) hat. Mit der regulären Tabelle für jede Zeile würde eine PRICE * PROFIT-Berechnung erfolgen, und das Ergebnis würde dann zu SUM (PREIS * PROFIT) aus jeder Zeile aggregieren. Aber mit der Voraggregation der analytischen Ansicht erhalten Sie schließlich SUM (PREIS) * SUMME (GEWINN), was nicht dasselbe ist wie SUMME (PREIS * GEWINN).

Ja, wenn es eine weitere Spalte mit einem eindeutigen Wert pro Zeile gibt, die der Abfrage hinzugefügt werden kann, und Sie können mehrere Zeilen aus der analytischen Ansicht abrufen, die nach Bedarf aggregiert werden. Und Sie können ein SELECT * durchführen, um alle Zeilen ohne Voraggregation zu erhalten, aber das erlaubt es nicht, die SUM (PRICE * PROFIT) einzubeziehen.

In meinem Fall hat mein Programm keine Idee, welche Spalten den eindeutigen Wert haben würden, um die aggregierte Berechnung korrekt durchzuführen.

Gibt es eine Möglichkeit, eine analytische Ansicht abzufragen, als wäre es ihre ursprüngliche Tabelle?

Antwort

0

Ich habe eine Lösung: do a SELECT * als Unterabfrage, dann haben Sie die Original-Tabelle aus abfragen:

SELECT "State", SUM("Price" * "Profit") AS PxP FROM 
(
    SELECT * FROM AVTable 
) 
GROUP BY "State" 
+0

Was meinst du mit 'AVTable' in Ihrer Antwort? –

+0

AVTable ist der Name Ihrer Analyseansicht – DDx

Verwandte Themen