Ventas LY por estado LFL, utilizando el estado LFL del día del año actual

Un usuario Pregunto ✅

Anónimo

Publicación por primera vez.

Interesado en consejos sobre cómo se calculan las ventas comparables en DAX y objetos visuales de BI. Tengo una tabla de hechos con días, departamentos y ventas. He utilizado una tabla manual que identifica no me gusta para el estado similar, agregada a través de Power Query, para asignar uno de los cuatro estados LFL (LFL, Nuevo, Cerrado, Cierres) a cada línea de la tabla de hechos. La asignación se basa en la comparación del estado de LFL del día con el estado de LFL del día -364.

Visual muestra correctamente las ventas por día / semana y la tienda clasificada por estado LFL para el año actual, pero cuando calcula el año pasado para la comparación (DATEADD -364 días), el estado recoge el índice del último año, fecha no actual. El año actual puede ser LFL pero el año pasado NUEVO.

Probé REMOVEFILTERS en la tabla de dimensiones LFL, muestra las ventas del año pasado en cada columna de estado LFL como se esperaba. ¿Cómo hacer que muestre solo dónde la tienda y la fecha tienen ventas del año actual, ignorando el estado LFL del año anterior en la línea relevante en la tabla de hechos, o una alternativa?

Anónimo

Encontré una solución usando Dax, pero agradecemos los comentarios sobre cómo optimizar esto porque funciona un poco lentoimage.png

vazmor

En respuesta a Anónimo

Hola, tengo el mismo problema, pero modelo diferente. Me ayudas.

Re: calcular la misma tienda o no la misma tienda – Microsoft Power BI Community

Anónimo

En respuesta a vazmor

Hola, no he podido asignar tiempo para acelerar este enfoque, pero creo que puede haber una solución adaptable aquí https://www.daxpatterns.com/like-for-like-comparison/

vazmor

En respuesta a Anónimo

Hola, gracias, si sigo estos pasos pero tampoco me da el resultado correcto, todavía obtengo el filtro.

En su fórmula tiene las siguientes tablas, estas tablas como las tiene, es decir, qué campos tiene allí.

dLFLCompare
dLFLstatus

Sales Last = 
VAR NumberOfYears =
     CALCULATE (
         DISTINCTCOUNT ( Dim_Date[Currency_Date] ),
         CROSSFILTER ( Fact_Sales[Id_Date], Dim_Date[Id_Date], BOTH ),
         ALLSELECTED ( )
     )
VAR StoresAndYears =
    CALCULATETABLE (
        SUMMARIZE (                    -- Group the Receipts table
            Fact_Sales,                            -- by store and year
            Dim_Store[Id_Store],
            Dim_Brand[Id_Brand],
                                  -- in order to count how
            Dim_Date[Currency_Date]      -- many years a store is present in
        ),                             -- 
        ALLSELECTED ( )                -- Over all selected years and stores
    )
VAR StoresAndYearCount =
     GROUPBY (
         StoresAndYears,
         Dim_Store[Id_Store],
         Dim_Brand[Id_Brand],              
         "@Years", SUMX ( CURRENTGROUP (), 1 )
     )
VAR OpenStores =
    FILTER (
        StoresAndYearCount,
        [@Years] = NumberOfYears 
    )

VAR Result =
    CALCULATE (
        [AmountLY],
        KEEPFILTERS ( OpenStores )     -- Filters Store[StoreKey] 
    )
RETURN
   Result

Anónimo

Veré esto próximo https://www.sqlbi.com/articles/custom-year-over-year-calculation-in-dax/

vazmor

En respuesta a Anónimo

Hola, ya he verificado todo lo que he hecho mi propio dax, aun no sale, no me filtra, podrias ayudarme solo con un ejemplo de tu modelo, con el que aplicaste la solucion dax.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *