Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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:
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:
¿Hay alguna forma de hacerlo dinámicamente en Power BI?
Solved! Go to 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.
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.
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.
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.
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.
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.
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