cancel
Showing results for 
Search instead for 
Did you mean: 
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.

View solution in original post

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
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.