Loading

Las medidas agregadas indicadas al ejecutar una consulta desde una conexión en tiempo real de SAP HANA son incorrectas

Fecha de publicación: Aug 24, 2022
Descripción
Al emplear una conexión en tiempo real a una vista de SAP HANA, observamos que los valores de las medidas agregadas presentes en las consultas son incorrectos; sin embargo, los resultados de estas consultas son correctos cuando se usa una conexión de extracción.

Cause

Cuando HANA procesa las consultas SQL para una vista de cálculo que se creó usando un nodo de agregación, es posible que realice cálculos usando valores agregados, en los que, en circunstancias semánticas normales de SQL, se usarían valores detallados. Por ejemplo, para un campo calculado definido en Tableau como precio*cantidad, el cálculo que realiza HANA puede ser SUM(precio)*SUM(cantidad) en lugar de SUM(precio*cantidad).

Las vistas de cálculo residen en el esquema "_SYS_BIC".

Con el nivel de registro "debug" o superior, cuando Tableau se conecta a una vista de cálculo, consigna una línea con el siguiente mensaje: "HanaConnection::CheckAnalyticView: Detected an analytic view of type CALC".
Solución
Este comportamiento lo dicta la configuración de la vista en HANA Studio. Si es una vista de cálculo que incluye un nodo de agregación, modifique la vista en HANA Studio activando la opción "Mantener marca" para todas las columnas del nodo de agregación que formen parte de la clave principal de los datos. Esto hará que HANA procese las consultas con un nivel de detalle que incluye estas columnas.

Si no es posible modificar la vista, pruebe una de las siguientes soluciones provisionales:

Opción 1

Use una extracción en lugar de una conexión en tiempo real y asegúrese de incluir todas las dimensiones que forman parte de la clave principal de los datos.

Opción 2

Evite usar vistas de SAP HANA como fuente de datos. Lo más conveniente es usar la tabla original a partir de la cual se creó la vista.

Opción 3

(Nota: esta tercera solución provisional puede afectar al rendimiento).
El comportamiento de agregación se puede sortear aplicando "SELECT *" en la vista. Esto se puede hacer con una conexión de datos SQL personalizada (en lugar de con una conexión directa a una vista). Por ejemplo:
  • Imagine que tiene una vista analítica denominada "User/SUPERSTORE_AV".
  • La SQL personalizada sería SELECT * FROM "_SYS_BIC"."User/SUPERSTORE_AV".
Número del artículo de conocimiento

001472896

 
Cargando
Salesforce Help | Article