cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

YTD dinámico basado en la segmentación de datos

Hola

Un poco más reciente para power BI aquí. Estoy intentando crear una medida que calcule YTD en función de una segmentación de datos. No puedo adjuntar el panel debido a problemas de privacidad, pero haré todo lo posible para describir las tablas correspondientes.

Tengo una tabla llamada "Ingresos" que tiene las siguientes columnas:

año

mes

cuenta

escenario

valor

Número de mes (función relacionada con otra tabla)

Hay otra tabla denominada Meses que tiene tres columnas denominadas número de mes, mes y date_format (en un formato de fecha adecuado). Esta tabla tiene una relación con los ingresos e impulsa la función relacionada en la otra tabla.

Hay una segmentación de datos en mi panel de control para date_format (meses).

Lo que estoy tratando de hacer es calcular dinámicamente un ingreso YTD basado en el mes elegido en la segmentación, pero no puedo hacerlo. Esencialmente, cuando se elige "Abril", debe ser la suma de todos los ingresos correponding menor o igual a la columna de número de mes en mi tabla de ingresos, pero no puedo hacer que funcione correctamente. Esta medida se pondrá en una matriz y se organizará por "unidad", que es otra tabla con una relación con los ingresos. A continuación se muestra la función que he intentado usar, pero no puedo hacer que funcione correctamente.

Rev YTD Test = calculate(sum(Revenue_COGS[Value]),filter(all(Revenue_COGS),Revenue_COGS[Scenario]="ACTUAL" & Revenue_COGS[Year] = "2021" & Revenue_COGS[Account] = "Revenue" & Revenue_COGS[Month Number] <= value(selectedvalue(Months[Date_Format].[Month]))))

Si alguien pudiera ayudarme eso sería increíble, si es necesario puedo enviar el archivo pbi con datos ficticios.

Gracias de antemano.

1 ACCEPTED SOLUTION

Hay @asteinbach ,

Modifique sus 2 medidas de la siguiente manera:

Revenue_Calc_2021_Actual = Calculate(sum('Revenue_COGS'[Value]),'Revenue_COGS'[Account] = "Revenue",'Revenue_COGS'[Year]=2021,'Revenue_COGS'[Scenario] = "ACTUAL",FILTER(Revenue_COGS,DATE('Revenue_COGS'[Year],Revenue_COGS[Month Number],1)<=SELECTEDVALUE('Months'[Date_Format]))

EBITDA_Actual = (Revenue_COGS[Revenue_Calc_2021_Actual] - Calculate(sum(Costs[Value]),Costs[Year]=2021,Costs[Scenario]="ACTUAL",FILTER('Costs',
DATE('Costs'[Year],'Costs'[Month Number],1)<=SELECTEDVALUE('Months'[Date_Format]))) + [Dep_Amo_Impair_Actual])

Y verás:

vkellymsft_1-1626946623332.png

En cuanto a la orientación de Department_Hiearchy a Revenue_COGS es única y de uno a muchos, por lo que cuando se utiliza el mes de la tabla Meses, los datos no se pueden filtrar correctamente. Es por eso que tienes que agregar el filtro de mes a las expresiones.

Compruebe mi archivo .pbix adjunto.

Saludos
Kelly

¿Respondí a su pregunta? Marcar mi post como una solución!

View solution in original post

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

Hay @asteinbach ,

¿Ha comprobado mi última respuesta? ¿Su problema está resuelto ahora?

Saludos
Kelly

¿Respondí a su pregunta? Marcar mi post como una solución!

Kelly

Sí lo vi. Trabajando en obtener un archivo con datos ficticios, que va a tomar un tiempo ya que tiene varias fuentes de datos diferentes.

Syndicate_Admin
Administrator
Administrator

Hay @asteinbach ,

Pls compartir su archivo pbi con datos ficticios.

Saludos
Kelly

¿Respondí a su pregunta? Marcar mi post como una solución!

Déjame saber si este enlace funciona. Esencialmente, el cálculo debe (teóricamente) ser un cálculo basado en el valor seleccionado de la segmentación de datos. Por lo tanto, para "Mayo", debe ser la suma de todos los valores iguales o anteriores a Mayo en la tabla. Sin embargo, no pude hacer que eso funcionara.

Hay @asteinbach ,

Modifique sus 2 medidas de la siguiente manera:

Revenue_Calc_2021_Actual = Calculate(sum('Revenue_COGS'[Value]),'Revenue_COGS'[Account] = "Revenue",'Revenue_COGS'[Year]=2021,'Revenue_COGS'[Scenario] = "ACTUAL",FILTER(Revenue_COGS,DATE('Revenue_COGS'[Year],Revenue_COGS[Month Number],1)<=SELECTEDVALUE('Months'[Date_Format]))

EBITDA_Actual = (Revenue_COGS[Revenue_Calc_2021_Actual] - Calculate(sum(Costs[Value]),Costs[Year]=2021,Costs[Scenario]="ACTUAL",FILTER('Costs',
DATE('Costs'[Year],'Costs'[Month Number],1)<=SELECTEDVALUE('Months'[Date_Format]))) + [Dep_Amo_Impair_Actual])

Y verás:

vkellymsft_1-1626946623332.png

En cuanto a la orientación de Department_Hiearchy a Revenue_COGS es única y de uno a muchos, por lo que cuando se utiliza el mes de la tabla Meses, los datos no se pueden filtrar correctamente. Es por eso que tienes que agregar el filtro de mes a las expresiones.

Compruebe mi archivo .pbix adjunto.

Saludos
Kelly

¿Respondí a su pregunta? Marcar mi post como una solución!

View solution in original post

Hola Kelly,

Gracias por enviar eso. Parece que esto todavía no logra lo que espero conseguir. Esos cálculos todavía producen solo resultados mensuales (aunque con expresiones significativamente más eficientes que las que tengo actualmente). Por lo que puedo decir, cuando cambio las segmentaciones de datos, esos cálculos todavía producen solo resultados mensuales. Lo que espero obtener son los resultados de las calcluaciones que alteró, pero la suma del mes actualmente seleccionado en la rebanadora, y todos los meses anteriores antes de eso, si eso tiene sentido.

Por ejemplo, si se selecciona Mayo en la segmentación de datos, los ingresos YTD para Real (total) deben ser 146.292.211. Si se selecciona abril, los ingresos de YTD deben 82,288,481. El cálculo actual todavía escupe 64.003.730 para mayo y 57.647.527 para abril. Esos son correctos para esos meses específicos, no son números YTD. Sé estos de calcualtions fuera de línea.

Hay @asteinbach ,

¿Te refieres al resultado que marqué en rojo?

vkellymsft_0-1627291549692.png

Saludos
Kelly

¿Respondí a su pregunta? Marcar mi post como una solución!

Kelly

Accidentalmente marqué su último post como una solución, pero no, todavía no funciona. Cuando cambio la segmentación de datos de mes, de hecho cambia ingresos reales. Esto se debe a que está siendo mostrado por la medida de "Ingresos dinámicos" con ingresos YTD, que es una declaración de SI horrible que escribí y la razón por la que estoy tratando de obtener una mejor manera de hacerlo. La fórmula que editaste todavía no calcula YTD cuando se cambia la segmentación de datos, sigue siendo ese solo mes

Syndicate_Admin
Administrator
Administrator

@asteinbach Difícil de ser específico sin datos de ejemplo/ejemplo.

Usted puede encontrar esto útil - https://community.powerbi.com/t5/Community-Blog/To-bleep-With-Time-Intelligence/ba-p/1260000

Además, vea si mi Inteligencia del Tiempo de la Manera Difícil proporciona una manera diferente de lograr lo que usted va para.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TIT...

Helpful resources

Announcements
PBI_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Get Ready for Power BI Dev Camp

Microsoft named a Leader in The Forrester Wave

Microsoft received the highest score of any vendor in both the strategy and current offering categories.

Get Ready for Power BI Dev Camp

Power BI Dev Camp - September 30th, 2021

Mark your calendars and join us for our next Power BI Dev Camp!

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.