cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper V
Helper V

Cálculo del valor anterior por año, mes y día

Hola

Tengo una tabla de matriz que tengo que mostrar el Año , Mes y Fecha en filas y los recuentos de cuentas únicas por día como columna. A esto, necesito agregar una nueva columna para indicar el arriba /abajo del "calendario" anterior. Es decir, durante un día, necesito mostrar el swing arriba/abajo del día anterior. Para el mes, el recuento único en ese mes con el swing arriba/abajo del mes anterior y similar para el año.

Soy capaz de obtener los valores según por debajo de DAX para los días, pero los meses y años son incorrectos, ya que parece estar sumando los días, en lugar de la cuenta única para ese mes. Y posteriormente tiene que hacer esto cuando los datos aumentan por año.

AccessDateAcctID
9/1/2020A1001
9/1/2020B1001
9/1/2020C1001
9/1/2020D1001
9/1/2020E1001
9/2/2020A1001
9/2/2020B1001
9/2/2020C1001
9/2/2020D1001
9/2/2020E1001
9/2/2020F1001
9/3/2020B1001
9/4/2020C1001
9/4/2020D1001
9/5/2020C1001
9/5/2020D1001
9/5/2020E1001
9/5/2020F1001
9/5/2020G1001
8/1/2020A1001
8/1/2020B1001
8/1/2020C1001
8/1/2020D1001
8/1/2020E1001
8/2/2020C1001
8/2/2020D1001
8/2/2020E1001
8/4/2020C1001
8/3/2020D1001
8/3/2020E1001
8/4/2020F1001
8/4/2020G1001
8/5/2020D1001
8/5/2020E1001
8/5/2020F1001
7/1/2020A1001
7/1/2020B1001
7/1/2020C1001
7/1/2020D1001
7/1/2020E1001
7/2/2020B1001
7/2/2020C1001
7/2/2020D1001
7/3/2020A1001
7/3/2020B1001
7/3/2020C1001
7/3/2020D1001
7/3/2020E1001

La salida prevista para mes y día es ..

AccessDateCountof AcctIDSwing de conde anterior
Septiembre70
9/5/202053
9/4/202021
9/3/20201-5
9/2/202061
9/1/202052
Agosto72
8/5/202030
8/4/202031
8/3/20202-1
8/2/20203-2
8/1/202052
Jul50
7/5/202032
7/4/202050
7/3/202052
7/2/20203-2
7/1/202050

Así que julio tenía 5 cuentas únicas y agosto tenía 7 únicos por lo que el repunte de 2 para agosto. Los días individuales dentro de julio son correctos, ya que son únicos para ese día y así sucesivamente.

* Asumo sólo 5 días en un mes para este ejemplo. 8/1/20 está mirando el 7/5/20, y el 9/1/20 está mirando el 8/5. En el informe completo, 9/1 estará mirando 8/31, y 8/1 estará mirando 7/31 etc para el valor anterior para la oscilación arriba /abajo.

Los DAX que estoy usando son.

Recuento de AcctID: CALCULATE(DISTINCTCOUNT(Account[AcctID]),USERELATIONSHIP(Date[Date],Account[AccessDate]))

AcctID Yesterday ? CALCULATE(DISTINCTCOUNT(Account[AcctID]),DATEADD(Date[Date],-1,DAY),USERELATIONSHIP(Date[Date],Account[AccessdateDate]))

Oscilación del conteo anterior [Recuento de AcctID]-[Sedid ayer]

Por favor, hágamelo saber si mi identificación de solicitud posible dentro de la misma matriz? O tengo que separarlos en un año y mes y imágenes diarias.

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Support
Community Support

Hola @PBI5851 ,

¿Qué te parece esto:

Previous Count swing =
VAR ThisMonth =
    MONTH ( MAX ( 'Account'[AccessDate] ) )
VAR LastDayofPreviousMonth =
    CALCULATE (
        MAX ( 'Account'[AccessDate] ),
        FILTER (
            ALLSELECTED ( 'Account' ),
            MONTH ( 'Account'[AccessDate] ) = ThisMonth - 1
        )
    )
VAR ValueofLastDayofPreviousMonth =
    CALCULATE (
        [AcctID Count],
        FILTER (
            ALLSELECTED ( 'Account' ),
            'Account'[AccessDate] = LastDayofPreviousMonth
        )
    ) + 0
VAR PreviousCount =
    IF (
        HASONEVALUE ( Account[AccessDate] ),
        CALCULATE (
            [AcctID Count],
            FILTER (
                ALL ( 'Account' ),
                'Account'[AccessDate]
                    = MAX ( 'Account'[AccessDate] ) - 1
            )
        ),
        IF (
            ThisMonth = MONTH ( MINX ( ALLSELECTED ( Account ), Account[AccessDate] ) ),
            0,
            CALCULATE (
                [AcctID Count],
                FILTER (
                    ALLSELECTED ( 'Account' ),
                    MONTH ( 'Account'[AccessDate] ) = ThisMonth - 1
                )
            )
        )
    )
RETURN
    [AcctID Count]
        - IF (
            DAY ( MAX ( Account[AccessDate] ) ) = 1,
            ValueofLastDayofPreviousMonth,
            PreviousCount
        )

account.PNG

Saludos

Icey

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

4 REPLIES 4
Highlighted
Super User IV
Super User IV

@PBI5851 , Puede utilizar la tabla de fechas y la inteligencia de tiempo

Ejemplos

Día detrás de Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Day))

Este día: CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Date]-max('Date'[Date])))
Last Day ? CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Date]-max('Date'[Date])-1))
Last Day : CALCULATE(sum('order'[Qty]), previousday('Date'[Date]))

Mes

Ventas MTD: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
Last MTD Sales - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
Ventas del último mes: CALCULATE(SUM(Sales[Sales Amount]),previousmonth('Date'[Date]))
Last MTD (completar) Ventas : CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
valor del mes anterior: CALCULATE(sum(''Table''[valor total de horas]),previousmonth('Date'[Date]))

diff - [Ventas MTD]-[las últimas ventas MTD]
diff % á divide([MTD Sales]-[last MTD Sales],[last MTD Sales])

año

Ventas YTD á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
Last YTD Sales á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Este año Ventas: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR('Date'[Date]),"12/31"))
Ventas del año pasado: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales - CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Año detrás de Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Sólo año vs año, no un nivel por debajo

Este año: CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]-max('Date'[Year])))
Last Year ? CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]-max('Date'[Year])-1))

Power BI — Año tras año
https://medium.com/@amitchandak.1978/power-bi-ytd-questions-time-intelligence-1-5-e3174b39f38a
Power BI — Lun th On Month
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
Power BI — Day Intelligence
https://medium.com/@amitchandak.1978/power-bi-day-intelligence-questions-time-intelligence-5-5c3243d...

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. recomienda:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions


Apreciamos tus Felicitaciones.



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted

@amitchandak . Gracias. Usé tu sugerencia el día detrás de las ventas de otro boleto. Si lo leo correctamente, sus soluciones dan el valor correcto si se mira a sólo año o mes. Pero, ¿se puede hacer todo eso en un solo objeto visual.

Highlighted

@PBI5851 , Están planeando cambiar estas medidas.

Luego hemos creado una segmentación de medida.

He hecho una vez combinado se filtra para mes y año - https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...

Empleado del último período, cambié la cláusula de filtro, lo mismo para un año, mes y día

Otra forma es medir la segmentación: https://radacad.com/change-the-column-or-measure-value-in-a-power-bi-visual-by-selection-of-the-slic...

Dudo que haya una fórmula que pueda hacer. A menos que un año de retraso en los datos, esto funcionará con cada agrupación, día, mes y año

Año detrás de Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted
Community Support
Community Support

Hola @PBI5851 ,

¿Qué te parece esto:

Previous Count swing =
VAR ThisMonth =
    MONTH ( MAX ( 'Account'[AccessDate] ) )
VAR LastDayofPreviousMonth =
    CALCULATE (
        MAX ( 'Account'[AccessDate] ),
        FILTER (
            ALLSELECTED ( 'Account' ),
            MONTH ( 'Account'[AccessDate] ) = ThisMonth - 1
        )
    )
VAR ValueofLastDayofPreviousMonth =
    CALCULATE (
        [AcctID Count],
        FILTER (
            ALLSELECTED ( 'Account' ),
            'Account'[AccessDate] = LastDayofPreviousMonth
        )
    ) + 0
VAR PreviousCount =
    IF (
        HASONEVALUE ( Account[AccessDate] ),
        CALCULATE (
            [AcctID Count],
            FILTER (
                ALL ( 'Account' ),
                'Account'[AccessDate]
                    = MAX ( 'Account'[AccessDate] ) - 1
            )
        ),
        IF (
            ThisMonth = MONTH ( MINX ( ALLSELECTED ( Account ), Account[AccessDate] ) ),
            0,
            CALCULATE (
                [AcctID Count],
                FILTER (
                    ALLSELECTED ( 'Account' ),
                    MONTH ( 'Account'[AccessDate] ) = ThisMonth - 1
                )
            )
        )
    )
RETURN
    [AcctID Count]
        - IF (
            DAY ( MAX ( Account[AccessDate] ) ) = 1,
            ValueofLastDayofPreviousMonth,
            PreviousCount
        )

account.PNG

Saludos

Icey

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

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors