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

Tratando de encontrar el recuento de ayer, excluyendo los fines de semana

Estoy tratando de crear una fórmula para encontrar el recuento de entradas creadas ayer, pero si es sábado, domingo o lunes, dar recuento de entradas para el viernes.

Tengo una medida que me da la fecha de ayer, excluyendo los fines de semana, y una segunda medida que me acaba de dar el recuento de entradas para ayer. Tener problemas para peinar los dos.

Yesterday exc weekends = IF('Date'[DayOfWeek]="Sunday", DATEADD('Date'[Date], -2, DAY), IF('Date'[DayOfWeek]="Monday", DATEADD('Date'[Date], -3, DAY), DATEADD('Date'[Date], -1, DAY)))

Recuento de vales ayer = IF(ISBLANK(CALCULATE(COUNT(Query1[TICKET ID]), 'Date'[Date]=TODAY()-1)), 0, CALCULATE(COUNT(Query1[TICKET ID]), 'Date'[Date]=TODAY()-1))

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Allí, @aashton;

Puede intentar crear una medida de la siguiente manera:

count =
VAR _lastday =
    CALCULATE (
        MAX ( [Date] ),
        FILTER ( ALL ( 'Table' ), NOT ( WEEKDAY ( [Date], 2 ) ) IN { 6, 7 } )
    )
RETURN
    IF (
        WEEKDAY ( MAX ( [Date] ), 2 ) = 1,
        CALCULATE (
            COUNT ( [TICKET ID] ),
            FILTER ( ALL ( 'Table' ), DATEDIFF ( [Date], _lastday, DAY ) = 3 )
        ),
        CALCULATE (
            COUNT ( [TICKET ID] ),
            FILTER ( ALL ( 'Table' ), DATEDIFF ( [Date], _lastday, DAY ) = 1 )
        )
    )

La salida final se muestra a continuación:

vyalanwumsft_0-1625626320475.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Allí, @aashton;

Puede intentar crear una medida de la siguiente manera:

count =
VAR _lastday =
    CALCULATE (
        MAX ( [Date] ),
        FILTER ( ALL ( 'Table' ), NOT ( WEEKDAY ( [Date], 2 ) ) IN { 6, 7 } )
    )
RETURN
    IF (
        WEEKDAY ( MAX ( [Date] ), 2 ) = 1,
        CALCULATE (
            COUNT ( [TICKET ID] ),
            FILTER ( ALL ( 'Table' ), DATEDIFF ( [Date], _lastday, DAY ) = 3 )
        ),
        CALCULATE (
            COUNT ( [TICKET ID] ),
            FILTER ( ALL ( 'Table' ), DATEDIFF ( [Date], _lastday, DAY ) = 1 )
        )
    )

La salida final se muestra a continuación:

vyalanwumsft_0-1625626320475.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Allí, @aashton;

De acuerdo con su descripción, creo un pbix simple para mostrarlo, y creo una medida para comparar la diferencia.

compare = 
VAR _lastday=CALCULATE(MAX([Date]),FILTER(ALL('Table'),WEEKDAY([Date],2)<>6&&WEEKDAY([Date],2)<>7))
VAR _pre= CALCULATE(COUNT([TICKET ID]),FILTER(ALL('Table'),DATEDIFF([Date],_lastday,DAY)=1))
RETURN DIVIDE(CALCULATE(COUNT([TICKET ID]),FILTER(ALL('Table'),[Date]=_lastday))-_pre,_pre)

La salida final se muestra a continuación:

vyalanwumsft_0-1625121978711.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si esta publicación ayuda, entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@aashton , Lo que he hecho para esto he creado un rango de día laborable en mi fecha tbale , y luego puedo usar eso para el último día hábil

ejemplo de medida

This Day = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Work Date cont Rank]=max('Date'[Work Date cont Rank])))
Último día laborable = CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Work Date cont Rank]=max('Date'[Work Date cont Rank])-1))
diff =[Este día] - [Último día laborable]

columnas de la tabla de fechas

Día laborable = if(WEEKDAY([Fecha],2)>=6,0,1)
Fecha de trabajo = if(WEEKDAY([Date],2)>=6,BLANK(),[Date])
Fecha de trabajo Cont = if([Día laborable]=0,maxx(FILTER('Date',[Date]<EARLIER([Date]) && [Work Day]<> EARLIER([Work Day]) ),[Date]),[Date])
Fecha de trabajo cont Rank = RANKX(ALL('Date'),[Work Date Cont],,ASC,Dense)

Así que esto parece estar funcionando, pero me di cuenta de una cosa. Si es lunes, se supone que debe dar el recuento de entradas para el viernes anterior, pero da la suma de las entradas cuenta para el viernes, sábado y domingo. Eso es extraño. ¿Sabes cómo solo puedo obtener el conteo de boletos para el viernes?

Muchas gracias, lo conseguí trabajando. Lo que tengo que hacer ahora es comparar los números del último día laborable con el día anterior para obtener el cambio de %-edad. He intentado modificar su último día de trabajo meausre a por -2 en lugar de -1, pero eso no funcionó. ¿Sabes qué pieza debo ajustar?

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