Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Medida tabular.

Hola

Necesito ayuda con esta medida:

Cree una medida que sume las ventas totales acumuladas de todos los clientes que no tuvieron ventas el año pasado.

Para esta tabla, los clientes A y C no tuvieron ventas el año pasado, por lo que la medida debería resultar en 1699,66 (1539,24 + 160,42).

Gracias

5 Replies

  • @GFire Cree una columna calculada para comprobar si un cliente tuvo ventas el año pasado:

    DAX
    HadSalesLastYear =
    VAR CurrentYear = 'Tabla'[Año]
    Cliente VAR = 'Mesa'[Cliente]
    Ventas de VARel año pasado =
    CALCULAR(
    SUM('Tabla'[totalSales]),
    FILTRO(
    'Mesa',
    'Mesa'[Cliente] = Cliente &&
    'Tabla'[Año] = Año actual - 1
    )
    )
    DEVOLUCIÓN
    IF(SalesLastYear > 0, 1, 0)

    Cree una medida para sumar las ventas totales de los clientes que no tuvieron ventas el año pasado:

    DAX
    TotalCumulativeSalesNoSalesLastYear =
    CALCULAR(
    SUM('Tabla'[totalSales]),
    FILTRO(
    'Mesa',
    'Tabla'[HadSalesLastYear] = 0
    )
    )

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      La medida debería resultar en 1699,66 (1539,24 + 160,42).

  • Puedes probar

    Cumulative Sales No Sales Last Year =
    VAR AllCustomers =
        CALCULATETABLE ( DISTINCT ( 'Table'[Customer] ), REMOVEFILTERS () )
    VAR PrevYear =
        YEAR ( TODAY () ) - 1
    VAR CustomersWithSalesLastYear =
        CALCULATETABLE ( DISTINCT ( 'Table'[Customer] ), 'Table'[Year] = PrevYear )
    VAR CustomersNoSalesLastYear =
        EXCEPT ( AllCustomers, CustomersWithSalesLastYear )
    VAR Result =
        CALCULATE ( SUM ( 'Table'[Sales] ), CustomersNoSalesLastYear )
    RETURN
        Result
    
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      La medida debería resultar en 1699,66 (1539,24 + 160,42).

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        También debe filtrar las filas en las que las ventas son 0

        Cumulative Sales No Sales Last Year] =
        VAR AllCustomers =
            CALCULATETABLE ( DISTINCT ( 'Table'[Customer] ), REMOVEFILTERS () )
        VAR PrevYear =
            YEAR ( TODAY () ) - 1
        VAR CustomersWithSalesLastYear =
            CALCULATETABLE ( DISTINCT ( 'Table'[Customer] ), 'Table'[Year] = PrevYear, 'Table'[Sales] > 0 )
        VAR CustomersNoSalesLastYear =
            EXCEPT ( AllCustomers, CustomersWithSalesLastYear )
        VAR Result =
            CALCULATE ( SUM ( 'Table'[Sales] ), CustomersNoSalesLastYear )
        RETURN
            Result