Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreThe FabCon + SQLCon recap series starts April 14th at 8am Pacific. If you’re tracking where AI is going inside Fabric, this first session is a can't miss. Register now
Hola, tengo una tabla base como debajo de la cual almacena los ingresos de mi organización. Esta tabla contiene datos de 2017 en adelante.
Uno de mis informes solicitados de BA como el siguiente donde seleccionará cualquiera de los dos Month_Year consecutivos y la salida debe ser como a continuación.
La salida anterior se muestra cuando se seleccionan los Month_Year de 20 y 20 de enero.
Lo que he hecho a partir de ahora es que, en el objeto visual Matrix, he puesto el campo Mes-Año en la parte Columna. Pero, ¿cómo puedo lograr el cálculo dinámico del nivel de mes?
¿Puede alguien ayudarme con él @Greg_Deckler
Solved! Go to Solution.
Hola @sahildoshi ,
Si quiere decir que la lógica de %Diff debe ser (4000-6000)/4000 a -33%, podemos intentar utilizar los siguientes pasos para cumplir con sus requisitos:
1. cree una tabla calculada:
Column Header Table =
var startDate = MIN('Table'[Date])
var endDate = MAX('Table'[Date])
var t = FILTER(CALENDAR(DATE(YEAR(startDate),MONTH(startDate),1),DATE(YEAR(endDate),MONTH(endDate)+1,1)-1),DAY([Date])=1)
return
ADDCOLUMNS(CROSSJOIN(DISTINCT('Table'[Component]),UNION(ADDCOLUMNS(t,"Month-Year",FORMAT([Date],"MMM-YYYY")),ADDCOLUMNS(t,"Month-Year","% Diff"))),"Sort Column",SWITCH([Month-Year],"% Diff",COUNTROWS(t)+1,RANKX(t,[Date],,ASC,Dense)))
2. Ordene la columna "Mes-Año" por "Ordenar columna"
3. cree una medida y utilíquela en la matriz visual:
Value Measure =
VAR t =
FILTER (
ALLSELECTED ( 'Column Header Table' ),
'Column Header Table'[Component]
IN DISTINCT ( 'Column Header Table'[Component] )
)
RETURN
IF (
ISINSCOPE ( 'Column Header Table'[Month-Year] ),
SWITCH (
SELECTEDVALUE ( 'Column Header Table'[Month-Year] ),
"% Diff",
VAR maxMonth =
CALCULATETABLE (
DISTINCT ( 'Column Header Table'[Month-Year] ),
FILTER (
t,
'Column Header Table'[Sort Column]
= CALCULATE (
MAX ( 'Column Header Table'[Sort Column] ),
FILTER ( t, 'Column Header Table'[Month-Year] <> "% Diff" )
)
)
)
VAR minMonth =
CALCULATETABLE (
DISTINCT ( 'Column Header Table'[Month-Year] ),
FILTER (
t,
'Column Header Table'[Sort Column]
= CALCULATE ( MIN ( 'Column Header Table'[Sort Column] ), t )
)
)
VAR valueInMaxMonth =
CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN maxMonth
)
)
VAR valueInMinMonth =
CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN minMonth
)
)
RETURN
FORMAT ( valueInMaxMonth / valueInMinMonth - 1, "Percent" ),
""
& CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN DISTINCT ( 'Column Header Table'[Month-Year] )
)
)
),
CALCULATE (
SUM ( 'Table'[Amount Received] ),
'Table'[Component] IN DISTINCT ( 'Table'[Component] )
)
)
Saludos
Hola @sahildoshi ,
Si quiere decir que la lógica de %Diff debe ser (4000-6000)/4000 a -33%, podemos intentar utilizar los siguientes pasos para cumplir con sus requisitos:
1. cree una tabla calculada:
Column Header Table =
var startDate = MIN('Table'[Date])
var endDate = MAX('Table'[Date])
var t = FILTER(CALENDAR(DATE(YEAR(startDate),MONTH(startDate),1),DATE(YEAR(endDate),MONTH(endDate)+1,1)-1),DAY([Date])=1)
return
ADDCOLUMNS(CROSSJOIN(DISTINCT('Table'[Component]),UNION(ADDCOLUMNS(t,"Month-Year",FORMAT([Date],"MMM-YYYY")),ADDCOLUMNS(t,"Month-Year","% Diff"))),"Sort Column",SWITCH([Month-Year],"% Diff",COUNTROWS(t)+1,RANKX(t,[Date],,ASC,Dense)))
2. Ordene la columna "Mes-Año" por "Ordenar columna"
3. cree una medida y utilíquela en la matriz visual:
Value Measure =
VAR t =
FILTER (
ALLSELECTED ( 'Column Header Table' ),
'Column Header Table'[Component]
IN DISTINCT ( 'Column Header Table'[Component] )
)
RETURN
IF (
ISINSCOPE ( 'Column Header Table'[Month-Year] ),
SWITCH (
SELECTEDVALUE ( 'Column Header Table'[Month-Year] ),
"% Diff",
VAR maxMonth =
CALCULATETABLE (
DISTINCT ( 'Column Header Table'[Month-Year] ),
FILTER (
t,
'Column Header Table'[Sort Column]
= CALCULATE (
MAX ( 'Column Header Table'[Sort Column] ),
FILTER ( t, 'Column Header Table'[Month-Year] <> "% Diff" )
)
)
)
VAR minMonth =
CALCULATETABLE (
DISTINCT ( 'Column Header Table'[Month-Year] ),
FILTER (
t,
'Column Header Table'[Sort Column]
= CALCULATE ( MIN ( 'Column Header Table'[Sort Column] ), t )
)
)
VAR valueInMaxMonth =
CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN maxMonth
)
)
VAR valueInMinMonth =
CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN minMonth
)
)
RETURN
FORMAT ( valueInMaxMonth / valueInMinMonth - 1, "Percent" ),
""
& CALCULATE (
SUM ( 'Table'[Amount Received] ),
FILTER (
'Table',
'Table'[Component] IN DISTINCT ( 'Column Header Table'[Component] )
&& 'Table'[Month_Year] IN DISTINCT ( 'Column Header Table'[Month-Year] )
)
)
),
CALCULATE (
SUM ( 'Table'[Amount Received] ),
'Table'[Component] IN DISTINCT ( 'Table'[Component] )
)
)
Saludos
Con el calendario de fechas, puede usar totalmtd o fechas mtd y cambiar % en ese
Ventas de MTD: CALCULATE(SUM(Sales[Sales]),DATESMTD('Fecha'[Fecha]))
ventas de MTD más importantes: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
diff %-divide([MTD Sales ],[últimas ventas MTD]) -1
Hola @amitchandak , la fórmula dada produce una salida en blanco en el objeto visual. A continuación se muestran mis fórmulas. Por favor, avísame si me he perdido algo.
En caso de que la dimensión de fecha no se inmovire en el mes actual y no esté utilizando un filtro de la dimensión de fecha. La fórmula MTD se ejecutará a partir de la fecha de finalización del calendario.
Así que tenga filtro de fecha o use un filtro de fecha relativa a nivel de página o visual.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.