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
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
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.