March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola amigos.
Estoy buscando una fórmula DAX que compare dos tablas, Ventas y Stock. En Ventas tengo las ventas por Documento, Posición, Material y Cantidad. En el Stock tengo los movimientos para el documento, la posición y el material respectivos. Necesito comparar la cantidad de suma de stock para un Pedido/Pos/Material con la tabla Pedido/Pos/Material respectiva en Ventas. y si la suma de qty en stock es > a la tabla Sales poner un "1" en una columna en SALES, si es menor entonces poner "0" en una columna en VENTAS, para finalmente obtener el promedio de cumplimiento por Pedido/pos/Material.
Perdón por mi 😛 inglés
Espero que puedas ayudarme.
Gracias
Hola @JuanVR11 ,
Al principio, debe crear una relación basada en la columna"Material"entre dos tablas. A continuación, cree una columna con el siguiente DAX.
Column =
VAR a =
CALCULATE (
SUM ( 'Stock'[QTY] ),
ALLEXCEPT ( 'Sales', 'Sales'[Material], 'Sales'[Pedido], 'Sales'[Pos] )
)
RETURN
IF ( a < 'Sales'[QTY], 0, 1 )
Aquí está mi archivo de prueba para su referencia.
Hola, amigo mío.
Ahora funciona, aparentemente tuve un problema con algunos códigos de material que comete un error en la fórmula dax.
Tengo una última pregunta. Si en la tabla SALES tengo una "Fecha de entrega" y cada unidad en la tabla STOCK tienen su respectiva Fecha Mvt, ¿cómo puede en una fórmula dax decir que sólo si la última fecha de unidad es anterior a la "Fecha de entrega" en VENTAS debe ser "1" si no "0"???
Este es un ejemplo
Espero que puedas ayudarme.
Muchas gracias.
Hola @JuanVR11 ,
Puede hacer referencia al siguiente DAX, agregué una condición de fecha en él.
Column =
VAR a =
CALCULATE (
SUM ( 'Stock'[QTY] ),
ALLEXCEPT ( 'Sales', 'Sales'[Material], 'Sales'[Pedido], 'Sales'[Pos] )
)
VAR b =
CALCULATE (
MAX ( Stock[Mvt Date] ),
ALLEXCEPT ( 'Sales', 'Sales'[Material], 'Sales'[Pedido], 'Sales'[Pos] )
)
RETURN
IF ( a < 'Sales'[QTY] || b > Sales[Delivery Date], 0, 1 )
Gracias por tu respuesta, amigo mío.
Intenté el archivo PBI que enviaste, funciona en algunos casos, pero en otros no.
Como se puede ver en la imagen, el archivo "Material: 40330098145", ": 1010024533", "Pos: 20" debe ser "1" porque la suma de STOCK para la misma clave es 4 como la clave respectiva en la tabla SALES.
También es importante mencionar que Material en la tabla STOCK puede ser más de uno, como la tabla Material en VENTAS.
Aquí está el archivo pbi con un escenario real. Espero que puedas ayudarme con eso.
https://1drv.ms/u/s!AmfHhSleU-H8jWQTzXyeVUj2f-vf?e=5ejeWM
Muchas gracias.
@JuanVR11 - No estoy seguro de entender el problema, primero compruebe si su problema es un problema común que se enumeran aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulta este post sobre cómo responder a tu pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Muestra datos como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada a partir de datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.