ISINSCOPE

La función ISINSCOPE devuelve el booleano True si la columna indicada como argumento es el nivel siendo considerado en una jerarquía de columnas, y False en caso contrario, lo que nos permite crear medidas que tengan diferente comportamiento en función del nivel de la jerarquía a las que se apliquen.

Sintaxis

ISINSCOPE(
    columnName
)

Parámetros
  • columnName: Nombre de la columna para la que se desea averiguar si es el nivel considerado o no en una jerarquía.
Valor devuelto

La función ISINSCOPE devuelve un booleano.

Ejemplos

Para ver esta función en funcionamiento vamos a trabajar con dos tablas relacionadas entre sí (aunque solo la segunda sería necesaria): la primera ("Sales") contiene información de ventas incluyendo el campo Amount que contiene el importe de cada venta. La segunda ("Geography") contiene información sobre localizaciones, incluyendo el nombre del país, la región y la ciudad:

Tabla Geography

Ahora creamos una visualización tipo matriz y arrastramos al campo de filas los campos Country, Region y City para crear una jerarquía implícita (también podríamos haberla creado explícitamente). A continuación llevamos el campo Amount a la matriz para ver las ventas por país, región o ciudad. Para que sea más obvio el funcionamiento de la función ISINSCOPE, se configura la matriz para que muestre los símbolos + y - a la izquierda de las cabeceras de filas de forma que sea sencillo expandir unas cabeceras y otras no:

Matriz mostrando las ventas por localización

En la anterior imagen vemos que se están mostrando las ventas para países (primer nivel de la jerarquía), para regiones (segundo nivel de la jerarquía) y para ciudades (tercer nivel de la jerarquía). Y es aquí donde resulta de utilidad la función ISINSCOPE: llevada a la matriz, nos permite averiguar si, por ejemplo, es el campo City el que está siendo visualizado en una de las filas. Vamos a crear la siguiente medida:

Nivel = 
    SWITCH(
        TRUE(),
        ISINSCOPE(Geography[City]), 3,
        ISINSCOPE(Geography[Region]), 2,
        ISINSCOPE(Geography[Country]), 1        
    )

Estamos, simplemente, devolviendo el valor 3 si el nivel siendo visualizado es el correspondiente a la ciudad, el valor 2 si es el de la región, y 1 si es el del país (en este caso se devuelve la primera condición que se cumpla). Si llevamos esta medida a nuestra matriz obtenemos el siguiente resultado:

Matriz mostrando las ventas por localización indicando el nivel siendo mostrado
Categoría
Información
Enviado por admin el Sáb, 20/07/2019 - 20:06