Loading

Vengono restituire misure aggregate quando si esegue una query dalla connessione SAP HANA live

Data pubblicazione: Aug 24, 2022
Descrizione
Quando utilizzi una connessione live a una vista SAP HANA, noterai che i valori delle misure aggregate nelle tue query non sono corretti; tuttavia, i risultati delle query sono corretti quando utilizzi una connessione di estrazione.

Cause

Quando Hana elabora le query SQL per una Vista di calcolo strutturata utilizzando un nodo di aggregazione, può eseguire calcoli utilizzando valori aggregati, dove, in condizioni normali di semantica SQL, vengono utilizzati valori dettagliati. Ad esempio, per un campo calcolato definito in Tableau come prezzo*quantità, il calcolo eseguito in Hana potrebbe essere SUM(prezzo)*SUM(quantità) invece di SUM(prezzo*quantità).

Le viste di calcolo si trovano nello schema "_SYS_BIC".

Con il livello di log "debug" o superiore, quando Tableau si connette auna vista di calcolo registrerà una riga con il seguente messaggio: "HanaConnection::CheckAnalyticView: Detected an analytic view of type CALC" ("ConnessioneHana::ControlloVistaAnalitica: rilevata una vista analitica di tipo CALC")
Risoluzione
Questo comportamento è dettato dalla configurazione della vista in Hana Studio. Se si tratta di una vista di calcolo che include un nodo di aggregazione, modifica la vista in Hana Studio abilitando l'opzione "Mantieni flag" per tutte le colonne nel nodo di aggregazione che sono parte della chiave primaria dei dati. Questo farà sì che Hana elabori le query con un Level of Detail che include queste colonne.

Se non è possibile modificare la vista, prova una delle seguenti soluzioni alternative:

Opzione 1

Al posto di una connessione live, utilizza un'estrazione assicurandoti di includere tutte le dimensioni che fanno parte della chiave primaria dei dati.

Opzione 2

Evita di utilizzare le viste di SAP HANA come origine dati. Utilizza invece la tabella originale da cui è stata creata la Vista.

Opzione 3

(Nota: questa terza soluzione alternativa può influenzare le prestazioni)
Il comportamento di aggregazione può essere aggirato facendo un "SELECT *" nella Vista. Tale operazione può essere effettuata con una connessione dati SQL personalizzata (anziché con una connessione diretta a una vista). Ad esempio:
  • Supponiamo che tu abbia una vista analitica chiamata "User/SUPERSTORE_AV".
  • Allora l'SQL personalizzato sarebbe SELECT * FROM "_SYS_BIC"."User/SUPERSTORE_AV"
Numero articolo Knowledge

001472896

 
Caricamento
Salesforce Help | Article