¿Cómo usar nombres de medida como valores de FILA y los valores de medida como COLUMNA en Power BI?

Un usuario Pregunto ✅

divo

Hola a todos,

Estoy tratando de reproducir el siguiente informe de cuadro en Power BI

Currículum.PNG

Tengo las siguientes medidas en Power BI:

1. total_end (corresponde a Actual en la tabla anterior), end_var, end_ytd, end_ytd_var

2. saidi (corresponde a Actual en la tabla anterior), saidi_var, saidi_ytd, saidi_ytd_var

3. saifi (corresponde al real en la tabla anterior), saifi_var, saifi_ytd, saifi_ytd_var

4. nbre (corresponde a Actual en la tabla anterior), nbre_var, nbre_ytd, nbre_ytd_var

En mi intento de representar la tabla anterior en PBI, he creado una tabla llamada indicadores con columnas (nombre, real, var, ytd, var_ytd). Columna nombre tiene filas (FIN, SAIFI, SAIDI y NBRE) y usando declaraciones if-else, he llenado las otras columnas en consecuencia. Con este enfoque, puedo mostrar los datos como se muestra arriba, PERO ahora el desafío que tengo tiene que ver con los filtros de fecha. Cuando selecciono un mes y un año, los valores en esta tabla creada no cambian. A continuación se muestra un código de muestra de cómo se rellena la tabla:

actual = if (indicators[name] = "END",[total_end],if(indicators[name] = "SAIDI", [total_saidi], if(indicators[name] = "SAIFI", [total_saifi], if(indicators[name] = "NBRE", [nombre_ouvrage]))))

¿Cómo puedo hacer que los valores en esta tabla cambien cuando los filtros de fecha cambian porque ahora se muestran los valores globales en su lugar? ¿O hay un mejor enfoque o visual que pueda usar?

Mi modelo es el siguiente:

Modelo.PNG

hola, @divo

A partir de su fórmula y captura de pantalla, podemos saber que ha creado una nueva columna en la tabla de indicadores.

Primero, debes saber que la columna calculada y la tabla de cálculo no pueden verse afectadas por ninguna segmentación.
Aviso:
1. La columna/tabla de cálculo no admite cambios dinámicos en función del filtro o la segmentación.
2. la medida puede verse afectada por el filtro/slicer, por lo que puede usarlo para obtener un resultado de resumen dinámico.
aquí está la referencia:
https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/
En segundo lugar, solo necesita crear un la medida en lugar de columna por esta fórmula:

Measure =
IF (
    SELECTEDVALUE ( indicators[name] ) = "END",
    [total_end],
    IF (
        SELECTEDVALUE ( indicators[name] ) = "SAIDI",
        [total_saidi],
        IF (
            SELECTEDVALUE ( indicators[name] ) = "SAIFI",
            [total_saifi],
            IF ( SELECTEDVALUE ( indicators[name] ) = "NBRE", [nombre_ouvrage] )
        )
    )
)

Luego arrastre los indicadores[name] archivado y esta medida en una tabla visual, funcionará bien.

Saludos,

Lin

hola, @divo

A partir de su fórmula y captura de pantalla, podemos saber que ha creado una nueva columna en la tabla de indicadores.

Primero, debes saber que la columna calculada y la tabla de cálculo no pueden verse afectadas por ninguna segmentación.
Aviso:
1. La columna/tabla de cálculo no admite cambios dinámicos en función del filtro o la segmentación.
2. la medida puede verse afectada por el filtro/slicer, por lo que puede usarlo para obtener un resultado de resumen dinámico.
aquí está la referencia:
https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/
En segundo lugar, solo necesita crear un la medida en lugar de columna por esta fórmula:

Measure =
IF (
    SELECTEDVALUE ( indicators[name] ) = "END",
    [total_end],
    IF (
        SELECTEDVALUE ( indicators[name] ) = "SAIDI",
        [total_saidi],
        IF (
            SELECTEDVALUE ( indicators[name] ) = "SAIFI",
            [total_saifi],
            IF ( SELECTEDVALUE ( indicators[name] ) = "NBRE", [nombre_ouvrage] )
        )
    )
)

Luego arrastre los indicadores[name] archivado y esta medida en una tabla visual, funcionará bien.

Saludos,

Lin

divo

En respuesta a v-lili6-msft

Hola @v-lili6-msft,

Muchas gracias. funciona perfectamente

Atentamente,

divo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *