cancel
Showing results forย 
Search instead forย 
Did you mean:ย 
Reply
Helper I
Helper I

Problemas para obtener el presupuesto total con FILTER, SUMX y DISTINCT

Hola

Estoy tratando de calcular el presupuesto total para los meses anteriores a una fecha seleccionada (la medida [fecha seleccionada]). Este es un ejemplo de los datos que estoy usando.

FechaProductoProdTypePlantaPresupuesto
2020-09-01PerrosGrandeCorteza2
2020-09-01PerrosMedioCorteza5
2020-09-01PerrosPequeรฑoCorteza3
2020-09-01GatosGatosMaullar7
2020-08-02PerrosGrandeCorteza5
2020-08-02PerrosMedioCorteza10
2020-08-02PerrosPequeรฑoCorteza3
2020-08-02GatosGatosMaullar10
2020-08-01PerrosGrandeCorteza5
2020-08-01PerrosMedioCorteza10
2020-08-01PerrosPequeรฑoCorteza3
2020-08-01GatosGatosMaullar10
2020-07-02PerrosGrandeCorteza5
2020-07-02PerrosMedioCorteza5
2020-07-02PerrosPequeรฑoCorteza3
2020-07-02GatosGatosMaullar2
2020-07-01PerrosGrandeCorteza5
2020-07-01PerrosMedioCorteza5
2020-07-01PerrosPequeรฑoCorteza3
2020-07-01GatosGatosMaullar2
2020-06-02PerrosGrandeCorteza5
2020-06-02PerrosMedioCorteza5
2020-06-02PerrosPequeรฑoCorteza3
2020-06-02GatosGatosMaullar2
2020-06-01PerrosGrandeCorteza5
2020-06-01PerrosMedioCorteza5
2020-06-01PerrosPequeรฑoCorteza3
2020-06-01GatosGatosMaullar2

Aquรญ estรก el DAX que estoy usando:

Monthly Buget Sum =
VAR _selectmonth = MONTH([select date])
VAR _previousmonth = _selectmonth - 1
VAR _selectyear = YEAR([select date])
RETURN
CALCULATE(
SUMX( DISTINCT('data table'[Budget]), 'data table'[Budget]),
FILTER(
ALL('data table'),
'data table'[Date].[Date] >= DATE(2020-06-01)
&& 'data table'[Date] <= _previousmonth
&& 'data table'[Plant} = MIN('data table'[Plant])
)
)

Si elijo 2020-06-02 para [fecha de selecciรณn], la suma de presupuesto mensual devuelve (en blanco) para ambas plantas, Bark y Meow. Esto se espera porque no hay mes antes de 06.

Si elijo 2020-07-01 para [fecha de selecciรณn], La suma de presupuesto mensual devuelve 13 para Bark y 2 para Meow. Esto es correcto, porque el presupuesto mensual para corteza es de 3 perros pequeรฑos, 5 medianos y 5 grandes. El presupuesto mensual para Meow es de 2.

Las cosas se vuelven raras cuando selecciono 2020-08-02. Suma de presupuesto mensual devuelve 4 para Meow, que es correcto (el presupuesto mensual para 06 era 2 y para 07 fue 2). Para Bark, Monthly Budget Sum devuelve 23, lo cual es incorrecto (el presupuesto mensual para 06 era 13 y para 07 era 13). La Suma de Presupuesto Mensual retirรณ el 3 (el presupuesto mensual para Perros Pequeรฑos).

Cuando configuro [seleccionar fecha] en 2020-09-01, Suma de presupuesto mensual devuelve 14 para la fรกbrica de Meow (que es correcta, 2 + 2 + 10) y 41 para la fรกbrica de corteza (que es incorrecta 13 + 10 (el presupuesto incorrecto) + 18).

ยฟPor quรฉ Power BI notifica un presupuesto mensual correcto para 06 y 08, pero no para 07 para la corteza de fรกbrica?

Cualquier ayuda que se pueda dar para resolver este problema, o reescribir mi DAX (tengo suficiente DAX para ser peligroso, pero eso es todo), serรญa muy apreciado.

Ademรกs, ยฟhay otra forma de diferenciar entre categorรญas en FILTER ademรกs de usar MAX() o MIN()? Sin una expresiรณn u otra, la suma de presupuesto mensual devuelve los presupuestos mensuales resumidos para todas las fรกbricas y no lo desglosa por categorรญa (es decir, por Bark y Meow).

Gracias por tu ayuda,

T

2 REPLIES 2
Super User IV
Super User IV

@TReynolds, lo he probado con la tabla Time Intelligence y Date.

Medida de presupuesto :SUMX( Values('data table'[Budget]), 'data table'[Budget])

Ventas MTD : CALCULATE([Budget Measure],DATESMTD('Date'[Date]))
last MTD Sales - CALCULATE([Budget Measure],DATESMTD(dateadd('Date'[Date],-1,MONTH)))
Ventas del รบltimo mes: CALCULATE([Budget Measure],previousmonth('Date'[Date]))
Last MTD (completar) Ventas - CALCULATE([Budget Measure],DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
valor del mes anterior: CALCULATE([Budget Measure],previousmonth('Date'[Date]))

diff - [Ventas MTD]-[las รบltimas ventas MTD]
diff % รก divide([MTD Sales]-[last MTD Sales],[last MTD Sales])

Power BI โ€” MTD
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e

Para obtener lo mejor de la funciรณn de inteligencia del tiempo. Asegรบrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Ademรกs, รบnete a ella con la columna de fecha de tus hechos. recomienda:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...


Apreciamos tus Felicitaciones.



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

New Member

ยฟPor quรฉ no crea una tabla calculada o hace que la consulta de base de datos lo haga? Serรญa trivial a nivel de base de datos.

Helpful resources

Announcements
secondImage

Experience whatโ€™s next for Power BI

Join us for an in-depth look at the new Power BI features and capabilities at the free Microsoft Business Applications Launch Event.

secondImage

Power BI Women

Join our monthly meetings and learning sessions.

secondImage

Congratulations!

We are excited to announce the Power BI Super Users!

secondImage

The largest Power BI virtual conference

100+ sessions, 100+ speakers, Product managers, MVPs, and experts. All about Power BI. Attend online or watch the recordings.