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 a todos
Necesito hacer ventas en una matriz de precios. La matriz de precios tiene descuentos en la unidad vendida. Actualmente estoy ignorando la fecha, las tablas de productos en aras de la claridad, pero si las necesitamos, no dude en añadirlas en la explicación.
Este es un ejemplo sencillo.
Tabla de cuadrícula de precios con rotura (tabla importada)
Producto | Nivel | De | Para | PRECIO UNITARIO |
A | 1 | 0 | 10 | 10.00 |
A | 2 | 11 | 20 | 8.50 |
A | 3 | 21 | 999999 | 7.75 |
B | 1 | 0 | 15 | 45.00 |
B | 2 | 16 | 999999 | 37.00 |
D | 1 | 0 | 999999 | 25.00 |
Tabla de ventas con cantidad ordenada (tabla importada)
Factura | Producto | Qty | PRECIO UNITARIO |
1 | A | 3 | 10.00 |
2 | D | 45 | 25.00 |
3 | C | 3 | 12.00 |
4 | A | 15 | 8.50 |
5 | A | 17 | 8.50 |
6 | B | 7 | 45.00 |
7 | B | 9 | 45.00 |
Resultados deseados
Producto | Nivel | De | Para | PRECIO UNITARIO | QTYSOLD |
A | 1 | 0 | 10 | 10.00 | 3 |
A | 2 | 11 | 20 | 8.50 | 32 |
A | 3 | 21 | 999999 | 7.75 | 0 |
B | 1 | 0 | 15 | 45.00 | 16 |
B | 2 | 16 | 999999 | 37.00 | 0 |
D | 1 | 0 | 999999 | 25.00 | 45 |
Mi reto aquí es que no quiero usar el precio porque siempre hay una buena razón de negocio para cambiar el precio de un pedido. La cantidad debe ser el controlador para cubo esas ventas. Por supuesto, el nivel no está en la tabla de ventas... que habría sido fácil.
El producto C no está en la cuadrícula de precios y no debe aparecer en el resultado deseado. Si no se vendió nada, entonces tenemos que mostrar 0.
999999 es siempre el valor superior del último nivel, incluso si sólo hay un nivel.
Estoy luchando con el valor de búsqueda o el primer en blanco en la mesa de ventas, pero no creo que esta sea la manera correcta de hacer esto. Voy a intentar el comando dax relacionado, pero actualmente cualquier comentario es bienvenido.
Muchas gracias
François
Solved! Go to Solution.
Hola @francoisl ,
Puede actualizar la medida "QTYSOLD " como se muestra a continuación:
QTYSOLD ? CALCULAR ( SUM ( 'Ventas'[QTY] ), FILTRO ( 'Ventas', 'Ventas'[PRODUCTO] á MAX ( 'Precio'[Producto] ) && 'Ventas'[CANTIDAD]>'MAX('Precio'[FROM]) &&'Ventas'[CANTIDAD]<-MAX('Precio'[A]) ) ) + 0 |
Saludos
Rena
Hola @francoisl ,
Puede crear dos medidas como se indica a continuación:
QTYSOLD =
CALCULATE (
SUM ( 'Sales'[QTY] ),
FILTER (
'Sales',
'Sales'[PRODUCT] = MAX ( 'Price'[Product] )
&& 'Sales'[UNIT PRICE] = MAX ( 'Price'[UNIT PRICE] )
)
) + 0
Measure =
SUMX (
VALUES ( 'Price'[Product] ),
SUMX ( VALUES ( 'Price'[Level] ), [QTYSOLD] )
)
Saludos
Rena
Hola a todos
Estaba buscando específicamente una solución que utiliza un intervalo y no el precio.
Gracias voy a seguir buscando una solución específica.
F
Hola @francoisl ,
Puede actualizar la medida "QTYSOLD " como se muestra a continuación:
QTYSOLD ? CALCULAR ( SUM ( 'Ventas'[QTY] ), FILTRO ( 'Ventas', 'Ventas'[PRODUCTO] á MAX ( 'Precio'[Producto] ) && 'Ventas'[CANTIDAD]>'MAX('Precio'[FROM]) &&'Ventas'[CANTIDAD]<-MAX('Precio'[A]) ) ) + 0 |
Saludos
Rena
Parece que las soluciones anteriores están bastante cerca.
Agregue una columna a la tabla PriceGrid como esta:
ColQTYSOLD = CALCULATE(SUM(SalesTable[QTY]), FILTER(SalesTable, SalesTable[PRODUCT] = PriceGrid[PRODUCT] && SalesTable[QTY] >= PriceGrid[FROM] && SalesTable[QTY] <= PriceGrid[TO])) + 0
@francoisl, puede obtener una nueva columna en la tabla de cuadrícula de precios como
QTYSOLD á sumx(filter(Sales,sales[PRODUCT]-PriceGrid[PRODUCT] &&sales[UNIT PRICE]-PriceGrid[UNIT PRICE] ), sales[QTY])
También puede utilizar ventas[PRECIO UNITARIO]>-PriceGrid[from] from && sales[UNIT PRICE]< ?PriceGrid[to] en lugar de ventas[PRECIO DE UNIDAD]-PriceGrid[PRECIO DE UNIDAD]
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |