9G
Hola,
Necesito calcular la Suma de Ventas para todos los Clientes donde se vendió un producto específico. EX.:
Tengo una tabla de matriz, con los productos como filas y necesito las ventas totales, la suma de las ventas para todos los clientes donde se vendió un producto específico y el % de distribución ponderada como columnas.
He calculado las Ventas Totales pero ahora necesito la otra variable «Suma de Ventas para todos los Clientes donde se vendió un producto específico» para poder calcular la Cobertura Ponderada.
El modelo de datos consta de 2 tablas:
1. Datos de ventas: con fecha, nombre del cliente, nombre de la marca, cantidad
2. Nombre de marca: con nombre de marca, convención de nomenclatura
El campo clave de la relación es Nombre de marca.
Como filtro tengo la fecha y la marca.
Gracias.
v-lili6-msft
En respuesta a 9G
hola @9G
Simplemente ajuste la fórmula de la siguiente manera:
All products QTY at Clients where P was sold 2 =
var _allclients=VALUES('Sales Table'[Client ])
Return
CALCULATE(SUM('Sales Table'[Qty]),FILTER(ALLEXCEPT('Sales Table','Sales Table'[Date]),'Sales Table'[Client ] in _allclients))
Saludos,
Lin
9G
@amitchandak @harshnathani @v-lili6-msft
Formato de tabla de datos de ventas:
Fecha | Cliente | Producto | Cantidad |
21/08/2020 | C1 | P3 | 0.1 |
22/08/2020 | C2 | P1 | 0.3 |
23/08/2020 | C3 | P2 | 0.89 |
24/8/2020 | C4 | P3 | 0.94 |
25/8/2020 | C5 | P1 | 0.4 |
26/8/2020 | C6 | P2 | 0.1 |
27/8/2020 | C7 | P1 | 0.6 |
28/8/2020 | C8 | P3 | 0.7 |
Formato de tabla de nombre de marca:
Producto | Convenio de denominación |
P1 | Producto 1 |
P2 | Producto 2 |
P3 | Producto 3 |
A continuación puede ver los resultados esperados:
Clientela | P Cant. | Todos los productos QTY en Todos los clientes | Todos los productos QTY en Clientes donde se vendió P | Distribución ponderada | |
P1 | 2837 | 2.6 | 63.77 | 55.82 | 88% |
P2 | 2893 | 2.37 | 63.77 | 55.06 | 86% |
P3 | 1820 | 1.24 | 63.77 | 46.24 | 73% |
Ya tengo las columnas»Clientes, P Qty, Todos los productos QTY en Todos los clientes». Ahora solo necesito la «CANTIDAD de todos los productos en los Clientes donde se vendió P» y una vez que la tenga, puedo calcular la Distribución ponderada dividiendo: «La CANTIDAD de todos los productos en los Clientes donde se vendió P» https://community.powerbi. com/»CANTIDAD DE TODOS LOS PRODUCTOS EN TODOS LOS CLIENTES» = «Distribución ponderada»
Gracias por adelantado.
v-lili6-msft
En respuesta a 9G
hola @9G
Basándonos en sus datos de muestra, no pudimos saber cómo calcular [All products QTY at Clients where P was sold]
y creo que si solo usas esta fórmula:
9G
En respuesta a v-lili6-msft
@v-lili6-msft Gracias por su respuesta.
Tabla 1:
Cliente | Producto | Cantidad |
C1 | P3 | 0.1 |
C2 | P1 | 0.3 |
C3 | P2 | 0.89 |
C4 | P3 | 0.94 |
C1 | P1 | 0.4 |
C2 | P2 | 0.1 |
C3 | P1 | 0.6 |
C4 | P3 |
0.7 |
Tabla 2:
Producto | Convenio de denominación |
P1 | Producto 1 |
P2 | Producto 2 |
P3 | Producto 3 |
Los resultados, basados en conjuntos de datos, son:
Clientela | P Cant. | Todos los productos QTY en Todos los clientes | Todos los productos QTY en Clientes donde se vendió P | Distribución ponderada | |
P1 | 3 | 1.3 | 4.03 | 2.39 | 59% |
P2 | 2 | 0.99 | 4.03 | 1.89 | 47% |
P3 | 2 | 1.74 | 4.03 | 2.14 | 53% |
Aprecio tu ayuda.
v-lili6-msft
En respuesta a 9G
hola @9G
Simplemente cree una medida como se muestra a continuación:
All products QTY at Clients where P was sold =
var _allclients=VALUES('Table 1'[Client ]) return
CALCULATE(SUM('Table 1'[Qty]),FILTER(ALL('Table 1'), 'Table 1'[Client ] in _allclients))
All products QTY at All Clients = CALCULATE(SUM('Table 1'[Qty]),ALL('Table 2'))
Weighted Distribution = DIVIDE([All products QTY at Clients where P was sold],[All products QTY at All Clients])
Resultado:
y aquí hay un archivo pbix de muestra, pruébelo.
Saludos,
Lin
9G
En respuesta a v-lili6-msft
@v-lili6-msft gracias por tu sugerencia. Parece estar cerca, pero no funciona para mi ejemplo. He jugado, tratando de «adaptar» la fórmula, pero me falta algo. Supongo que tiene que ver con los filtros que tengo (Fecha y Producto)
Adjunté archivos xlsx y .pbix aquí (https://gofile.io/d/qx4AlR). No tengo opción para adjuntar los archivos al hilo, lo siento.
v-lili6-msft
En respuesta a 9G
hola @9G
Simplemente ajuste la fórmula de la siguiente manera:
All products QTY at Clients where P was sold 2 =
var _allclients=VALUES('Sales Table'[Client ])
Return
CALCULATE(SUM('Sales Table'[Qty]),FILTER(ALLEXCEPT('Sales Table','Sales Table'[Date]),'Sales Table'[Client ] in _allclients))
Saludos,
Lin
v-lili6-msft
hola @9G
es posible que deba usar la función ALLxxxx a su medida para obtenerlo.
https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept…
si no es su caso, comparta su archivo pbix de muestra y el resultado esperado, eso será de gran ayuda.
Consulte esta publicación sobre cómo obtener una respuesta rápida a su pregunta:
https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Saludos,
Lin
amichandak
@9G, ¿puede compartir datos de muestra y resultados de muestra en formato de tabla?
nathani
Hola @9G,
Comparta datos de muestra y resultados esperados en formato de texto.
Saludos,
Nathani duro
¿Respondí tu pregunta? ¡Marca mi publicación como una solución! Agradecer con un Kudos!! (Haga clic en el botón Me gusta)