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 Amigos!
Estoy tratando de conseguir el atraso de ventas en mi área.
Tengo una tabla "VENTAS" con sus respectivos Documentos de Ventas. Los campos importantes son:
Pedido - Pos. - Material - Ctd.Ped - Fe.Despacho
Significa que para este Pedido, Pos, Material las ventas deben realizarse antes del 03-03-2020 y con las 60 unidades.
En otra tabla (MB51), tengo los movimientos de stock para una gran cantidad de materiales con Ped.Clte (igual que Pedido), PosPdCl (igual que Pos.), Material (igual que Material en VENTAS), Ctd.UME es la cantidad de movimiento, y Registrado es la fecha del movimiento.
Por lo tanto, necesito crear una columna donde si la suma de Ctd.UME (MB51) es igual a Ctd.Ped (VENTAS) y la fecha Registrado (MB51) es antes o igual a Fe.Despacho (VENTAS) para el mismo Pedido, Pos, Material. si esto está bien, debe ser "COMPLETADO" si no "INCOMPLETO"
Por favor, lo siento por mi inglés y espero que pueda ayudarme
Gracias
Solved! Go to Solution.
Hola
He intentado tanto la columna como la medida para alcanzar su requisito:
Por columna:
Column =
VAR a =
CALCULATE (
SUM ( SALES[Ctd. Ped.] ),
FILTER (
ALLSELECTED ( SALES ),
SALES[Material] = EARLIER ( MB51[Material] )
&& SALES[Pedido] = EARLIER ( MB51[Ped.cite.] )
&& SALES[Pos.] = EARLIER ( MB51[PosPdCI] )
)
)
VAR b =
IF (
MB51[Ped.cite.] = RELATED ( SALES[Pedido] )
&& MB51[Material] = RELATED ( SALES[Material] )
&& MB51[PosPdCI] = RELATED ( SALES[Pos.] ),
IF (
MB51[Registrado] <= RELATED ( SALES[Fe. Despacho] ),
CALCULATE (
SUM ( MB51[Ctd.UME] ),
FILTER (
ALLSELECTED ( MB51 ),
MB51[Ped.cite.] = EARLIER ( MB51[Ped.cite.] )
&& MB51[Material] = EARLIER ( MB51[Material] )
&& MB51[PosPdCI] = EARLIER ( MB51[PosPdCI] )
)
),
-1
),
-1
)
RETURN
IF ( a = b, "COMPLETED", "INCOMPLETED" )
Por medida:
Measure =
VAR a =
CALCULATE (
SUM ( SALES[Ctd. Ped.] ),
FILTER (
ALLSELECTED ( SALES ),
SALES[Material] IN FILTERS ( MB51[Material] )
&& SALES[Pedido] IN FILTERS ( MB51[Ped.cite.] )
&& SALES[Pos.] IN FILTERS ( MB51[PosPdCI] )
)
)
VAR b =
IF (
MAX ( MB51[Ped.cite.] ) IN FILTERS ( SALES[Pedido] )
&& MAX ( MB51[Material] ) IN FILTERS ( SALES[Material] )
&& MAX ( MB51[PosPdCI] ) IN FILTERS ( SALES[Pos.] ),
IF (
MAX ( MB51[Registrado] ) <= MAX ( SALES[Fe. Despacho] ),
CALCULATE (
SUM ( MB51[Ctd.UME] ),
FILTER (
ALLSELECTED ( MB51 ),
MB51[Ped.cite.] IN FILTERS ( MB51[Ped.cite.] )
&& MB51[Material] IN FILTERS ( MB51[Material] )
&& MB51[PosPdCI] IN FILTERS ( MB51[PosPdCI] )
)
),
-1
),
-1
)
RETURN
IF ( a = b, "COMPLETED", "INCOMPLETED" )
El resultado en mi ejemplo muestra:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto
Hola
He intentado tanto la columna como la medida para alcanzar su requisito:
Por columna:
Column =
VAR a =
CALCULATE (
SUM ( SALES[Ctd. Ped.] ),
FILTER (
ALLSELECTED ( SALES ),
SALES[Material] = EARLIER ( MB51[Material] )
&& SALES[Pedido] = EARLIER ( MB51[Ped.cite.] )
&& SALES[Pos.] = EARLIER ( MB51[PosPdCI] )
)
)
VAR b =
IF (
MB51[Ped.cite.] = RELATED ( SALES[Pedido] )
&& MB51[Material] = RELATED ( SALES[Material] )
&& MB51[PosPdCI] = RELATED ( SALES[Pos.] ),
IF (
MB51[Registrado] <= RELATED ( SALES[Fe. Despacho] ),
CALCULATE (
SUM ( MB51[Ctd.UME] ),
FILTER (
ALLSELECTED ( MB51 ),
MB51[Ped.cite.] = EARLIER ( MB51[Ped.cite.] )
&& MB51[Material] = EARLIER ( MB51[Material] )
&& MB51[PosPdCI] = EARLIER ( MB51[PosPdCI] )
)
),
-1
),
-1
)
RETURN
IF ( a = b, "COMPLETED", "INCOMPLETED" )
Por medida:
Measure =
VAR a =
CALCULATE (
SUM ( SALES[Ctd. Ped.] ),
FILTER (
ALLSELECTED ( SALES ),
SALES[Material] IN FILTERS ( MB51[Material] )
&& SALES[Pedido] IN FILTERS ( MB51[Ped.cite.] )
&& SALES[Pos.] IN FILTERS ( MB51[PosPdCI] )
)
)
VAR b =
IF (
MAX ( MB51[Ped.cite.] ) IN FILTERS ( SALES[Pedido] )
&& MAX ( MB51[Material] ) IN FILTERS ( SALES[Material] )
&& MAX ( MB51[PosPdCI] ) IN FILTERS ( SALES[Pos.] ),
IF (
MAX ( MB51[Registrado] ) <= MAX ( SALES[Fe. Despacho] ),
CALCULATE (
SUM ( MB51[Ctd.UME] ),
FILTER (
ALLSELECTED ( MB51 ),
MB51[Ped.cite.] IN FILTERS ( MB51[Ped.cite.] )
&& MB51[Material] IN FILTERS ( MB51[Material] )
&& MB51[PosPdCI] IN FILTERS ( MB51[PosPdCI] )
)
),
-1
),
-1
)
RETURN
IF ( a = b, "COMPLETED", "INCOMPLETED" )
El resultado en mi ejemplo muestra:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto
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 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |