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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

DATESINPERIOD(): cambiar el valor del mes no cambia el objeto visual

Login for previous month = 
/*covers following key points:
1. should use, could use
2. TRUE only i.e. those who have access
3. previous month */

    CALCULATE (
        [Total Logins],
        DATESINPERIOD('Calendar'[Date], min('Calendar'[Date]), -3, month ),
        //modified filter context
        filter(MainQuery, 
                MainQuery[P2P dashboard] IN { "Should use", "Could use" } &&
                MainQuery[Spend Analytics] IN { "Should use", "Could use" } &&   
                MainQuery[Demand Forecasting]  IN { "Should use", "Could use"} &&

                //MAKING SURE EVERYONE HAS ACCESS 
                MainQuery[P2P - Access] = "TRUE" &&
                MainQuery[Demand Forecasting - Access] = "TRUE" &&
                MainQuery[Spend Analytics -Access] = "TRUE" 
             )   /*loggin frequency is zero < ode="">

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

@DataLedAnalysis , cambie al máximo y pruebe

DATESINPERIOD('Calendario'[Fecha], max('Calendario'[Fecha]), -3, mes )

Con Min

si no hay una fecha en contexto, tomará la primera fecha en el calendario. Parcela por mes tomará la fecha de inicio del mes.

Pruebe con max

View solution in original post

Hay @DataLedAnalysis ,

El contexto para el DATESINPERIOD('Calendar'[date],,,,) no debe tener el contexto de filtro por MainQuery[Date].

Puede intentar agregar ALL(MainQuery[Date]),esta expresión se usa para quitar el filtro MainQuery[Date], antes de que el DATESINPERIOD('Calendar'[date],,,,).

Se ve así:

CALCULATE (
    [Total Logins],
    ALL ( MainQuery[Date] ),
    DATESINPERIOD ( 'Calendar'[Date], MIN ( 'Calendar'[Date] ), -3, MONTH ),
    //unresponsive line
    //modified filter context
    FILTER (
        MainQuery,
        MainQuery[P2P dashboard]
            IN { "Should use", "Could use" }
            && MainQuery[Spend Analytics]
            IN { "Should use", "Could use" }
            && MainQuery[Demand Forecasting]
            IN { "Should use", "Could use" }
            && //MAKING SURE EVERYONE HAS ACCESS 
        MainQuery[P2P - Access] = "TRUE"
            && MainQuery[Demand Forecasting - Access] = "TRUE"
            && MainQuery[Spend Analytics -Access] = "TRUE"
    ) /*loggin frequency is zero < ode="">

Para comprobar el contexto de DATESINPERIOD(), puede consultar el método en el archivo adjunto.

Saludos

Equipo de apoyo a la comunidad _ chenwu zhu

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@DataLedAnalysis , cambie al máximo y pruebe

DATESINPERIOD('Calendario'[Fecha], max('Calendario'[Fecha]), -3, mes )

Con Min

si no hay una fecha en contexto, tomará la primera fecha en el calendario. Parcela por mes tomará la fecha de inicio del mes.

Pruebe con max

Gracias, fue un error lógico al no intentar usar max en lugar de min. Sin embargo, funciona con una captura en la que tengo que usar la columna Fecha dentro de la tabla de datos principal, no la tabla de calendario:

DATESINPERIOD(MainQuery[Fecha],max(MainQuery[Fecha]) , -6, mes) Esta función aplica el contexto del filtro y funciona según lo previsto
DATESINPERIOD(calendario[fecha],Máximo('Calendario'[Fecha]) , -1, mes) Esta función no parece aplicar el contexto de filtro

¿Por qué sería este el caso? He comprobado y la tabla 'Calendario' estaba marcada como tabla de fechas, y relación con MainQuery[Fecha].

Hay @DataLedAnalysis ,

El contexto para el DATESINPERIOD('Calendar'[date],,,,) no debe tener el contexto de filtro por MainQuery[Date].

Puede intentar agregar ALL(MainQuery[Date]),esta expresión se usa para quitar el filtro MainQuery[Date], antes de que el DATESINPERIOD('Calendar'[date],,,,).

Se ve así:

CALCULATE (
    [Total Logins],
    ALL ( MainQuery[Date] ),
    DATESINPERIOD ( 'Calendar'[Date], MIN ( 'Calendar'[Date] ), -3, MONTH ),
    //unresponsive line
    //modified filter context
    FILTER (
        MainQuery,
        MainQuery[P2P dashboard]
            IN { "Should use", "Could use" }
            && MainQuery[Spend Analytics]
            IN { "Should use", "Could use" }
            && MainQuery[Demand Forecasting]
            IN { "Should use", "Could use" }
            && //MAKING SURE EVERYONE HAS ACCESS 
        MainQuery[P2P - Access] = "TRUE"
            && MainQuery[Demand Forecasting - Access] = "TRUE"
            && MainQuery[Spend Analytics -Access] = "TRUE"
    ) /*loggin frequency is zero < ode="">

Para comprobar el contexto de DATESINPERIOD(), puede consultar el método en el archivo adjunto.

Saludos

Equipo de apoyo a la comunidad _ chenwu zhu

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors