Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
hola
No sé si sabe que Excel puede mostrar la contenida de una tabla modelo de datos. El resultado es tranquilo interesante porque puede usar el tipo de datos personalizado para asociar las tablas directamente en una hoja de cálculo.
Si no es el príncipe, especifique en el modelo de datos una tabla con un identificador de columna y en Excel, puede llamar a cada una de las columnas de esa tabla como en este ejemplo
Como pueden ver, pude crear una columna calculada para la última fecha de compra con esta medida
LastDateAchat = MAX(Ventes[Date_Commande])
Y usé la medida anterior para la segunda columna calculada para devolver el importe de la última compra
ValueLastPurchase = CALCULATE([CA],FILTER(Ventes,Ventes[Date_Commande]=Clients[LastDatePurchase]))
Pero, no soy capaz de encontrar el cálculo para devolver la cantidad de ventas del mes anterior
SalesLast_Month =
VAR Last_Month = DATE(YEAR(TODAY()),MONTH(TODAY())-1, 1)
RETURN IF (Clients[LastDatePurchase] >= Last_Month,
CALCULATE(
[CA],
FILTER(
Ventes,
Ventes[Date_Commande]>=DATE(YEAR(Clients[LastDatePurchase]), MONTH(Clients[LastDatePurchase])-1, 1))),
BLANK())
Sé que con una medida, es un pedazo de pastel pero con este cálculo, el resultado no es el esperado
Y el modelo de datos es básico: Clientes, Productos y Ventas (Ventes)
¿Alguna idea de devolver las ventas de cada ID de cliente con una columna calculada?
gracias
Solved! Go to Solution.
Ahí @selimovd,
He probado su solución, pero no resuelve el problema.
Pero encontré una manera de resolver esto con Power Query
He creado una tabla temporal con solo las ventas del mes anterior y aplico un grupo por.
Y por último, he fusionado la tabla cliente con estas tablas temparales.
Funciona, pero preferiría hacer el trabajo con una medida
Hola @FredLEGUEN,
probablemente encontré el error.
Cuando se trabaja en una columna calculada, debe tener en cuenta la transición de contexto (cuándo es el valor de la fila y cuándo de toda la tabla). En el momento en que se utiliza CALCULATE, la transición de contexto se produce desde la fila hasta el contexto de filtro.
En su caso, esto significa que ya no puede acceder a LastDatePurchase en la fila, por lo que debe guardarlo antes como una variable antes de que se produzca la transición.
Pruebe la siguiente medida:
SalesLast_Month =
VAR Last_Month = DATE( YEAR( TODAY() ), MONTH( TODAY() ) - 1, 1 )
VAR vLastDatePurchase = Clients[LastDatePurchase]
RETURN
IF(
Clients[LastDatePurchase] >= Last_Month,
CALCULATE(
[CA],
FILTER(
Ventes,
Ventes[Date_Commande] >= DATE( YEAR( vLastDatePurchase ), MONTH( vLastDatePurchase ) - 1, 1 )
)
),
BLANK()
)
Ahí @selimovd,
He probado su solución, pero no resuelve el problema.
Pero encontré una manera de resolver esto con Power Query
He creado una tabla temporal con solo las ventas del mes anterior y aplico un grupo por.
Y por último, he fusionado la tabla cliente con estas tablas temparales.
Funciona, pero preferiría hacer el trabajo con una medida
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |