Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Cambiar el nombre de las medidas dinámicamente (según año o mes)

Obtuve una tabla de hechos y una fecha como una tabla de dimensiones. Calculé tres medidas relacionadas con el registro utilizando la tabla de hechos. Una medida es el registro total en el último año fiscal, la segunda es sobre el registro total en YTD (significa año financiero actual), y la última es sobre el registro total en el último mes. Nombré mi medida de la siguiente manera:

Nuevo Registro - Último FY = ...........

Nuevo registro - YTD = ...............

Nuevo Registro- Último Mes = ...........

Utilicé estas medidas para trazar el gráfico de barras como se muestra en la siguiente figura:

leo_89_0-1634255558747.png

Quiero mostrar el nombre de la medida en el gráfico de tal manera que si es 'Nuevo registro - Último FY', entonces debería mostrarse como 'FY21' o si es 'Nuevo registro - YTD', entonces debería mostrarse como 'FY22'. Mi resultado deseado se ve de la siguiente manera:

leo_89_1-1634255752424.png

¿Hay alguna forma de hacerlo dinámicamente en Power BI?

1 ACCEPTED SOLUTION

Hay @leo_89

La columna Eje X es dinámica. Agrego una columna de ordenación en la tabla calculada, luego podemos usar ordenar en medida para determinar fy dinámico, FY YTD y mes.

X Axis =
VAR _T =
    {
        "FY" & ""
            & FORMAT ( TODAY (), "yy" ) & " " & "YTD",
        "FY" & ""
            & FORMAT ( TODAY (), "yy" ) - 1,
        "Mon" & ""
            & FORMAT ( TODAY (), "mm" ) - 1
    }
VAR _T2 =
    ADDCOLUMNS (
        _T,
        "Sort",
            IF (
                CONTAINSSTRING ( [Value], "YTD" ),
                2,
                IF ( CONTAINSSTRING ( [Value], "Mon" ), 3, 1 )
            )
    )
RETURN
    _T2

FY siempre mostrará FY + El número del año pasado, FY YTD siempre mostrará FY + año actual + YTD, y mon siempre mostrará mon + el mes pasado.

Ex:

Año = mes 2021 = 10, mostrará FY 2020 (último año), FY 2021 YTD (año actual) y Mon9 (último mes),

Año = mes 2021 = 11, mostrará FY 2020 (último año), FY 2021 YTD (año actual) y Mon10 (último mes),

Medir:

Measure = SWITCH(SUM('X Axis'[Sort]),1,[New Registration - Last FY],2,[New Registration - YTD],3,[New Registration- Last Month])

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hay @leo_89

Creo que solo agrega tres medidas en el campo de valor para crear el gráfico de columnas. Aquí está mi prueba. Ves que mi resultado es el mismo que el tuyo en la captura de pantalla.

1.png

Si desea mostrar nombres en el eje X, debe agregar columnas en el eje X. Te sugiero que crees una tabla caluclatada con todos los nombres que necesites. A continuación, cree una nueva medida para combinar tres medidas a una por nombres.

X Axis = {"FY"&""&FORMAT(TODAY(),"yy"),"FY"&""&FORMAT(TODAY(),"yy")-1,"Mon"&""&FORMAT(TODAY(),"mm")-1}

Entonces la nueva medida es la siguiente.

Measure = SWITCH(MAX('X Axis'[X axis]),"FY20",[New Registration - Last FY],"FY21",[New Registration - YTD],"Mon9",[New Registration- Last Month])

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

@RicoZhou , Gracias por su respuesta.

El único problema con la solución es que tengo que cambiar el nombre del mes cada mes en la medida. De lo contrario, no funcionaría.

Hay @leo_89

La columna Eje X es dinámica. Agrego una columna de ordenación en la tabla calculada, luego podemos usar ordenar en medida para determinar fy dinámico, FY YTD y mes.

X Axis =
VAR _T =
    {
        "FY" & ""
            & FORMAT ( TODAY (), "yy" ) & " " & "YTD",
        "FY" & ""
            & FORMAT ( TODAY (), "yy" ) - 1,
        "Mon" & ""
            & FORMAT ( TODAY (), "mm" ) - 1
    }
VAR _T2 =
    ADDCOLUMNS (
        _T,
        "Sort",
            IF (
                CONTAINSSTRING ( [Value], "YTD" ),
                2,
                IF ( CONTAINSSTRING ( [Value], "Mon" ), 3, 1 )
            )
    )
RETURN
    _T2

FY siempre mostrará FY + El número del año pasado, FY YTD siempre mostrará FY + año actual + YTD, y mon siempre mostrará mon + el mes pasado.

Ex:

Año = mes 2021 = 10, mostrará FY 2020 (último año), FY 2021 YTD (año actual) y Mon9 (último mes),

Año = mes 2021 = 11, mostrará FY 2020 (último año), FY 2021 YTD (año actual) y Mon10 (último mes),

Medir:

Measure = SWITCH(SUM('X Axis'[Sort]),1,[New Registration - Last FY],2,[New Registration - YTD],3,[New Registration- Last Month])

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Puede hacerlo con un grupo de cálculo. Cree un elemento de cálculo asociado a cada medida y asigne al elemento el nombre que desea que se muestre y, a continuación, utilice la columna "Nombre" del grupo de cálculo como eje x del objeto visual.

¿Todavía no está utilizando los grupos de cálculo? - YouTube

Palmadita

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors