Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
ghawes
Frequent Visitor

DAX SUM entre fechas no funciona como se esperaba

Tengo dos tablas:

  1. DateDim
  2. Hora

Estoy tratando de obtener la suma de hours_actual de mi tabla de tiempo donde están entre dos fechas de mi DateDim. Tienen una relación en la fecha.

Actualmente estoy usando la siguiente fórmula DAX:

PreviousPeriod_Hours : CALCULATE(SUM('Time'[hours_actual])
    ,DATESBETWEEN(
                  DateDim[FullDateAlternateKey],
                  [Start of Previous
                  Period], [End of Previous Period]),
                  ALL(DateDim)
                  )

Los valores de [Inicio del período anterior] y [Fin del período anterior] son fechas DAX calculadas, que se muestran como esperaba.

hx8y7.png

La fórmula dax me está dando la suma correcta total que estoy esperando. Sin embargo, si muestro las horas por mes entre las 2 fechas, están mostrando algo diferente en conjunto de lo que debería ser, y no se agregan a la suma que muestra.

F9nRc.png

Esperaba los siguientes valores:

nOxdx.png

No estoy seguro de dónde viene el 13, y el 28.25 parece ser una repetición del mes anterior del año siguiente. ¿Qué me estoy perdiendo aquí? ¿Es mi enfoque actual correcto, sólo estoy haciendo algo incorrectamente? o estoy tomando el enfoque equivocado por completo? ¡Gracias por cualquier idea!

Actualizado- Más contexto:

Obteniendo mis fechas utilizo el siguiente DAX

Inicio de este período ? FIRSTDATE(DateDim[FullDateAlternateKey])

Fin de este período ? LASTDATE(DateDim[FullDateAlternateKey])

Días en este período ? DATEDIFF([Inicio de este período],[Fin de este período],DAY)

Fin del período anterior ? PREVIOUSDAY(LASTDATE(DATEADD(DateDim[FullDateAlternateKey],-1*[Días en este período],DAY)))

Inicio del Período Anterior (PREVIOUSDAY(FIRSTDATE(DATEADD(DateDim[FullDateAlternateKey],-1*[Días en este período] + IF(MOD(Year('MeasureTable'[End of this Period]),4) á 0,1,0),DAY)))

A continuación, DateDim es solo una tabla de fechas generada, por ejemplo, una fila tiene el siguiente aspecto (2016-2021):

FullDateAlternateKeyañoMesNombre del mesCuartoSemana del AñoSemana del MesDíaDía de la semanaDía del AñoNombre del díaAño fiscalPeríodo fiscalTrimestre Fiscal
2016-01-0220161Enero111262Sábado201652

Y el hours_actual y la fecha se parecen a lo siguiente:

Date_Starthours_actual

2019-03-05 12:00:00 AM 5
2019-03-26 12:00:00 AM 3
2019-04-23 12:00:00 AM 0.75
2019-04-24 12:00:00 AM 0.08
2019-05-22 12:00:00 AM 4
2019-05-22 12:00:00 AM 2
2019-05-22 12:00:00 AM 1.75
2019-05-27 12:00:00 AM 8
2019-05-31 12:00:00 AM 0.25
2019-06-03 12:00:00 AM 0.25
2019-06-05 12:00:00 AM 0.25
2019-06-21 12:00:00 AM 1
2019-06-27 12:00:00 AM 2
2019-06-27 12:00:00 AM 0.5
2019-06-28 12:00:00 AM 1
2019-06-28 12:00:00 AM 3
2019-07-04 12:00:00 AM 3
2019-07-05 12:00:00 AM 3
2019-07-10 12:00:00 AM 2.5
2019-07-10 12:00:00 AM 0.5
2019-07-10 12:00:00 AM 1.5
2019-07-10 12:00:00 AM 0.5
2019-07-10 12:00:00 AM 2
2019-07-12 12:00:00 AM 2.5
2019-07-17 12:00:00 AM 1
2019-07-18 12:00:00 AM 0.5
2019-07-24 12:00:00 AM 0.5
2019-07-24 12:00:00 AM 1
2019-07-24 12:00:00 AM 1.5
2019-07-24 12:00:00 AM 1
2019-07-25 12:00:00 AM 1
2019-07-25 12:00:00 AM 0.5
2019-07-31 12:00:00 AM 1
2019-07-31 12:00:00 AM 1.5
2019-07-31 12:00:00 AM 1
2019-07-31 12:00:00 AM 0.5
2019-08-01 12:00:00 AM 2
2019-08-07 12:00:00 AM 4
2019-08-07 12:00:00 AM 3.75
2019-08-08 12:00:00 AM 4
2019-08-14 12:00:00 AM 1.25
2019-09-11 12:00:00 AM 3.5
2019-09-11 12:00:00 AM 2.5
2019-09-12 12:00:00 AM 3
2019-09-12 12:00:00 AM 1.75
2019-09-13 12:00:00 AM 4
2019-09-13 12:00:00 AM 1.75
2019-09-13 12:00:00 AM 3
2019-09-14 12:00:00 AM 2
2019-09-14 12:00:00 AM 3.25
2019-09-16 12:00:00 AM 0.5
2019-09-16 12:00:00 AM 0.5
2019-09-26 12:00:00 AM 2.5

Resumen:

En el ejemplo anterior estoy viendo un año fiscal, 01 de septiembre de 2019 -31 de agosto de 2020. Esto coloca las fechas anteriores entre el 01 de septiembre de 2018 - hasta el 31 de agosto de 2019. La suma se presenta correctamente mostrando 74,33 horas trabajadas en el ejercicio 2019. Sin embargo, la presentación de los valores en una tabla de ese año a mes no se muestra correctamente. Hubiera esperado ver valores entre marzo-agosto de 2019 en el año anterior.

2 REPLIES 2
Sumanth_23
Memorable Member
Memorable Member

hola @ghawes - ¿sería capaz de compartir un conjunto de datos de ejemplo para que pueda entender mejor el modelo de datos.

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!

Proud to be a Super User!



Hola @Sumanth_23 - Intenté añadir más contexto a la publicación anterior, pero las tablas salen combinando los datos cuando publico la actualización. ¿Eso da suficiente contexto? ¿O hay otra forma de compartir? ¡Gracias!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.