También se puede acceder directamente a una jerarquía definida en una vista de cálculo mediante sentencias SQL. La ventaja de esto es proporcionar acceso a los valores de nodo en cualquier nivel de la jerarquía en su código SQL. Los nodos se leen como si fueran columnas en una fuente de datos.
Por ejemplo, desea calcular el número total de días de ausencia para la línea de negocio Servicio. La línea de negocio de servicio se encuentra dentro de la jerarquía de la organización y tiene muchos niveles por debajo que representan todos los departamentos. Si acumula todos los niveles inferiores, podemos calcular el total de la línea de negocio de servicio.
Una sentencia SQL simple como : SELECT sum (absence_days) WHERE jer_node = cláusula ‘Service’ proporcionaría este valor. No necesitamos leer todos los niveles inferiores por separado para alcanzar el total. Los niveles inferiores se transfieren automáticamente.
Pero antes de poder escribir la consulta SQL, debe trabajar en la siguiente configuración:
La jerarquía que desea consultar debe crearse en una vista de cálculo de dimensión. La vista de cálculo de dimensión se consume en el nodo de join en estrella de un cubo con la vista de cálculo de join en estrella. Esto se debe a que SQL solo puede leer las jerarquías compartidas.
A continuación, debe habilitar la jerarquía compartida para que se exponga a SQL fijando un parámetro en la ficha Propiedades del nodo de semántica del cubo con vista de cálculo de combinación en estrella.
.png)
En la sección Acceso SQL de la pestaña Jerarquía del nodo semántico, debe localizar el nombre que se asigna a la columna de nodo, porque deberá hacer referencia a esto en la sentencia SQL.
Este nombre se puede sobrescribir para que se pueda proporcionar un nombre más significativo.
.png)
La lectura de jerarquías mediante SQL se admite tanto para niveles como para tipos superior-inferior.
Nota
Agregación de valores en una jerarquía mediante SQL
La siguiente figura muestra cómo se escribe el SQL y cómo aparecería el resultado. Simplemente consulte el nombre de columna del nodo de jerarquía generado en la sentencia SELECT como si fuera una columna regular en la fuente de datos.
La columna de nodo se puede utilizar en la cláusula GROUP BY. A continuación, el resultado muestra el indicador agregado para cada nodo de la jerarquía.
