Forum Discussion

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

ALL() dentro de Summarize()

Hola

Tengo una tabla FACT_Sales que contiene las columnas
Artículo | Semana Calendario | Año | | Tienda | Unidades vendidas

En un panel de control, el usuario puede utilizar un filtro para seleccionar la semana y el año calendario actuales.
En una tabla que ahora quiero visualizar por artículo:

- el número medio de tiendas en las que se ha vendido un determinado artículo por semana

Así, por ejemplo:

- Usuarios selets CW48 y año 2024

- Medir la lógica: agrupe los valores por todas las semanas naturales, cuente las filas del almacén de columnas o las unidades. Promedio de filas de recuentos para todos los cws.

Espero haberlo explicado bien.

Mi medida, que se ve así, no me da el promedio de todas las semanas calendario, sino solo el valor de la semana calendario seleccionada actualmente.

AVERAGEX(
    SUMMARIZE(
        CALCULATETABLE(
            FACT_Sales,
            ALL(FACT_Sales[CW]),
        ),
        FACT_Migros_Sales[CW],
        "AGG_Value", COUNT(FACT_Sales[Units Sold])
    ),
    [AGG_Value]
)



Esperamos sus consejos :))

  • Bien, para ser honesto, el problema estaba en la estructura de mi tabla de fechas. Tengo una estructura compleja para poder alternar entre el año calendario y el año fiscal y no funcionó porque no estaba haciendo referencia a la tabla de fechas correcta. Por lo tanto, todos los enfoques, incluido el mío, funcionan en el scneario simplificado.

5 Replies

  • Hola @Trisulara88 , debe anular el filtro actual en Semana calendario y asegurarse de que el cálculo incluya todas las semanas.

    Promedio de tiendaspor semana =
    PROMEDIOX(
    RESUMIR(
    CALCULATETABLE(
    FACT_Sales,
    ALL(FACT_Sales[Calendar Week]) -- Ignorar el filtro de semana natural
    ),
    FACT_Sales[Semana Calendario], -- Agrupar por Semana Calendario
    "StoreCount", DISTINCTCOUNT(FACT_Sales[Store]) -- Contar tiendas distintas
    ),
    [StoreCount] -- Promedio del recuento de tiendas por semana
    )

    Espero que esto funcione en tu scenerio

  • Hola @Trisulara88 ,

    Por favor, pruebe la siguiente medida y hágamelo saber si funciona:

    Average Stores Per Article = 
    AVERAGEX(
        SUMMARIZE(
            CALCULATETABLE(
                FACT_Sales,
                ALL(FACT_Sales[Calendar Week])  -- Remove any filter on Calendar Week
            ),
            FACT_Sales[Article],  -- Group by Article
            FACT_Sales[Calendar Week],  -- Group by Calendar Week
            "Store Count", COUNTROWS(DISTINCT(FACT_Sales[Store]))  -- Count distinct stores per week
        ),
        [Store Count]  -- Take the average of the Store Count across all weeks
    )
  • Hola

    Comparta algunos datos con los que trabajar y muestre el resultado esperado. Además, se recomienda crear una tabla de calendario con una columna de número de semana.

  • Gracias. Las dos soluciones propuestas son básicamente lo que ya estoy haciendo, pero de alguna manera el All(Fact_Sales[Calendar Week]) dentro de Calculatetable falla al eliminar el filtro en Calendar Week... No estoy seguro de por qué está sucediendo esto

  • Bien, para ser honesto, el problema estaba en la estructura de mi tabla de fechas. Tengo una estructura compleja para poder alternar entre el año calendario y el año fiscal y no funcionó porque no estaba haciendo referencia a la tabla de fechas correcta. Por lo tanto, todos los enfoques, incluido el mío, funcionan en el scneario simplificado.