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
vivivera
New Member

La salida de la función Dax promedio móvil de 7 días tiene el mismo valor que la entrada original

Hola a todos

Estaba tratando de calcular 7 días Rolling average PowerBi y aquí están mis códigos:

Trt7dayRA ?
VAR __LAST_DATE á LASTDATE('Torontodaily'[Fecha].[ Fecha])
devolución
AVERAGEX (
DATESBETWEEN('Torontodaily'[Fecha].[ Fecha], DATEADD(__LAST_DATE, -6, DAY), __LAST_DATE),
CALCULATE(SUM([Trttoday]))
)
Pero la salida es siempre el mismo número que mi entrada [Trttoday], como muestra la siguiente tabla:
FechaTrttodayTrt7dayRA
12/20/2020345345
12/19/2020453453
12/18/2020222222
Mi suposición es porque estamos usando una columna calculada como referencia, pero no estoy seguro.
¿Podría uno de ustedes ayudarme?
Se lo agradezco mucho.
Gracias
Real
1 ACCEPTED SOLUTION
v-rzhou-msft
Community Support
Community Support

Hay @vivivera

Creo que tu dax puede funcionar en medida. Si quieres construir una columna calcista, puedes probar mi camino.

C.ROlling 7 Days Avg =
AVERAGEX (
    FILTER (
        Torontodaily,
        Torontodaily[Date]
            >= EARLIER ( Torontodaily[Date] ) - 6
            && Torontodaily[Date] <= EARLIER ( Torontodaily[Date] )
    ),
    Torontodaily[Trttoday]
)

El resultado es el siguiente.

1.png

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
joshyT7
Frequent Visitor

Hola @vivivera,

Como @littlemojopuppy se menciona, querrá utilizar CALCULATE, DATESINPERIOD y también LASTDATE para crear su medida media móvil. Este es un método mejor que usar una columna calculada.

También es aconsejable utilizar una tabla de fechas para esto también.

Tengo un video en mi canal de YouTube que recorre los pasos. Echa un vistazo y avísame si tienes alguna pregunta.


Puedes encontrar el video aquí: https://youtu.be/mCm7QtNFf1Y

¡Gracias!

Josh

Ashish_Mathur
Super User
Super User

Hola

Cree una tabla de calendario y establezca una relación desde la columna Fecha de la tabla de Toronto hasta la columna Fecha de la tabla de calendario. Para el objeto visual, arrastre la columna Fecha de la tabla Calendario. He asumido que Trttoday es una columna en la mesa de Toronto. Escriba estas medidas:

Medida 1 - SUM('Torontodaily'[Trttoday])

Medida 2 - calculate([Measure 1],datesbetween(calendar[date],min(calendar[date])-6,min(calendar[date])))

Espero que esto ayude.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
v-rzhou-msft
Community Support
Community Support

Hay @vivivera

¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

v-rzhou-msft
Community Support
Community Support

Hay @vivivera

Creo que tu dax puede funcionar en medida. Si quieres construir una columna calcista, puedes probar mi camino.

C.ROlling 7 Days Avg =
AVERAGEX (
    FILTER (
        Torontodaily,
        Torontodaily[Date]
            >= EARLIER ( Torontodaily[Date] ) - 6
            && Torontodaily[Date] <= EARLIER ( Torontodaily[Date] )
    ),
    Torontodaily[Trttoday]
)

El resultado es el siguiente.

1.png

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@vivivera , si tiene fecha con marca de tiempo, a continuación, crear una fecha como

Fecha : [Fecha y hora].fecha

O
Fecha: date(year([Datetime]),month([Datetime]),day([Datetime]))

Prefiere no usar .date en inteligencia de tiempo. Utilice también una tabla de fechas

Prueba a medir como uno de estos. En la visualización de la fecha de uso de la tabla de fechas (cambie 6 a 7 , si es necesario)

Rolling 7 á divide(CALCULATE(sum('Torontodaily'[Trttoday]),DATESINPERIOD('Date'[Date],MAX(Torontodaily[Date]),-6,DAY)) ,
CALCULATE(distinctCOUNT('Date'[Date]),DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-6,DAY), not(isblank(('Torontodaily'[Trttoday])))

Rolling 7 á divide(CALCULATE(sum('Torontodaily'[Trttoday]),DATESINPERIOD('Date'[Date],MAX('Date'[Date ]),-6,DAY)) ,

O
CALCULATE(distinctCOUNT('Date'[Date]),DATESINPERIOD('Date'[Date],MAX('Date'[Date]),-6,DAY), not(isblank(('Torontodaily'[Trttoday])))

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. Consulte :radacad sqlbi My Video Series Aprecia tus Felicitaciones.

littlemojopuppy
Community Champion
Community Champion

Hola Vera -

Aquí está el DAX que utilizo para un total de siete días para usuarios activos. Desea sustituir una expresión por AVERAGE() donde tengo [Usuarios activos]

    CALCULATE(
        [Active Users],
        DATESINPERIOD(
            'Calendar'[Date],
            LASTDATE('Calendar'[Date]),
            -7,
            DAY
        )
    )

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.