Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Problema total con SAMEPERIODLASTYEAR

He estado luchando por algún tiempo ahora con este pequeño&easy(?) problema.. ☹️

Medida:

Ventas de Diff entre años ?

SI (

ISBLANK([Ventas totales el año pasado]);

BLANCO();

[Ventas totales (SUMX)] - [Ventas totales el año pasado]

)

pbi.JPG

Esto está casi bien... funciona cuando filtro el en el año 2020. Pero sin el filtro las ventas de diferencias totales son incorrectas. Debe ser 1725, mot 2020.

Measue:

Ventas totales el año pasado ?

CALCULAR(

[Ventas totales (SUMX)];

ALL('Tabla');

SAMEPERIODLASTYEAR('Tabla'[Fecha])

)

Medida:
Ventas totales (SUMX) ?
SUMX(
'Tabla';
'Table'[Amout] * 'Tabla'[Precio]
)
Puedo conseguir que funcione sin filtro, pero entonces no está trabajando con el filtro... Y estoy buscando una solución que funcione con y sin filtro. 😃
¡Ayuda pelase!
  • Hola , @Tom_SWE

    No muy claro.

    Tal vez lo que necesitas es una fórmula como esta:

    2Diff sales between years = SUMX(DISTINCT('Date'[Date]),
    IF (
        ISBLANK([Total sales last year]),
        BLANK(),
        [Total sales] - [Total sales last year]
    ))

    Aquí hay una demostración.

    Pbix adjunto

    Saludos
    Equipo de Apoyo Comunitario _ Eason
    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.

7 Replies

  • Las funciones de inteligencia de todos los tiempos necesitan una fecha de finalización para crear un período. Así que si usted no proporciona entonces se basará en la tabla / calendario.

    Mejor crear una tabla de calendario y utilizar esto.

    Total sales last year =
    CALCULATE(  [Total sales (SUMX)];  SAMEPERIODLASTYEAR('Date'[Date])
    )
    
    Or 
    Total sales last year =
    CALCULATE(  [Total sales (SUMX)];  datediff('Date'[Date],-1,Year)
    )

    Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de que tiene un calendario de fechas y se ha marcado como la fecha en la vista de modelo. Además, únase a él con la columna de fecha de su hecho/s. Consulte:
    https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
    https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
    https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

  • v-easonf-msft's avatar
    v-easonf-msft
    Icon for Community Support rankCommunity Support

    Hola, @Tom_SWE

    Tal vez solo necesite cambiar su fórmula como se muestra a continuación (necesita construir relaciones entre tablas primero):

    Total sales last year =
    SUMX (
        'Table',
        CALCULATE ( [Total sales], SAMEPERIODLASTYEAR ( 'Date'[Date] ) )
    )

    Se mostrará como se muestra a continuación:

    63.png

    Aquí hay una demostración.

    pbix unido

    Saludos
    Equipo de Apoyo Comunitario _ Eason
    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.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Gracias, pero esto todavía no está bien.
      Sin filtrar la columna Diff ventas entre años es:
      1515+15970+2320 a 20280 ... debería ser 19805

      Pero funciona si aplico el filtro de año 2020.

      20280 - Ventas totales (2019+2020) - Ventas totales el año pasado.

      Pero sólo debería mostrar diferencia entre años.

      Supongo que no es posible hacerlo así.

      Gracias , no vinculé el calendario a los datos bable!

      • v-easonf-msft's avatar
        v-easonf-msft
        Icon for Community Support rankCommunity Support

        Hola , @Tom_SWE

        No muy claro.

        Tal vez lo que necesitas es una fórmula como esta:

        2Diff sales between years = SUMX(DISTINCT('Date'[Date]),
        IF (
            ISBLANK([Total sales last year]),
            BLANK(),
            [Total sales] - [Total sales last year]
        ))

        Aquí hay una demostración.

        Pbix adjunto

        Saludos
        Equipo de Apoyo Comunitario _ Eason
        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.