Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
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.
Fecha | Producto | ProdType | Planta | Presupuesto |
2020-09-01 | Perros | Grande | Corteza | 2 |
2020-09-01 | Perros | Medio | Corteza | 5 |
2020-09-01 | Perros | Pequeño | Corteza | 3 |
2020-09-01 | Gatos | Gatos | Maullar | 7 |
2020-08-02 | Perros | Grande | Corteza | 5 |
2020-08-02 | Perros | Medio | Corteza | 10 |
2020-08-02 | Perros | Pequeño | Corteza | 3 |
2020-08-02 | Gatos | Gatos | Maullar | 10 |
2020-08-01 | Perros | Grande | Corteza | 5 |
2020-08-01 | Perros | Medio | Corteza | 10 |
2020-08-01 | Perros | Pequeño | Corteza | 3 |
2020-08-01 | Gatos | Gatos | Maullar | 10 |
2020-07-02 | Perros | Grande | Corteza | 5 |
2020-07-02 | Perros | Medio | Corteza | 5 |
2020-07-02 | Perros | Pequeño | Corteza | 3 |
2020-07-02 | Gatos | Gatos | Maullar | 2 |
2020-07-01 | Perros | Grande | Corteza | 5 |
2020-07-01 | Perros | Medio | Corteza | 5 |
2020-07-01 | Perros | Pequeño | Corteza | 3 |
2020-07-01 | Gatos | Gatos | Maullar | 2 |
2020-06-02 | Perros | Grande | Corteza | 5 |
2020-06-02 | Perros | Medio | Corteza | 5 |
2020-06-02 | Perros | Pequeño | Corteza | 3 |
2020-06-02 | Gatos | Gatos | Maullar | 2 |
2020-06-01 | Perros | Grande | Corteza | 5 |
2020-06-01 | Perros | Medio | Corteza | 5 |
2020-06-01 | Perros | Pequeño | Corteza | 3 |
2020-06-01 | Gatos | Gatos | Maullar | 2 |
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
@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.
¿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.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |