Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Me gustaría pedir ayuda con el siguiente problema.
Datos de muestra
Id. del artículo: fecha de stock
1 10 2022.12.12. 1
1 14 2022.12.14 2
1 7 2022.12.14 3
1 18 2022.12.16 4
Tengo un filtro de fecha (el usuario puede cambiarlo) y una matriz. Me gustaría ver el nivel de stock inicial, basado en el filtro de fecha (fecha mínima). Si hay más registros en la misma fecha, el último ID decide el nivel de stock correcto.
Resultado previsto:
Filtro de fecha establecido en 2022.12.12 - 2022.12.16 --> Stock 10
Filtro de fecha establecido en 2022.12.14 - 2022.12.14 --> Stock 7 (misma fecha, ID diferente)
Filtro de fecha establecido en 2022.12.15 - 2022.12.16 --> Stock 7 (No hay registro en 2022.12.15, por lo que la fecha más cercana es 2022.12.14)
Probé esta parte superior para obtener el stock correcto, pero no funciona 😕
MAXX(
TOPN (
1,
FILTRO(view_PBI_BTK,MIN(view_PBI_BTK[fecha])-1),
view_PBI_BTK[fecha], ASC,view_PBI_BTK[Id],DESC
),
view_PBI_BTK[stock]
)
Gracias.
Hola
Por favor, compruebe la imagen de abajo y el archivo pbix adjunto.
Expected result measure: =
VAR _mindateslicer =
MIN ( 'Calendar'[Date] )
VAR _maxdatedata =
MAXX (
FILTER (
ALL ( Data ),
Data[ItemID] = MAX ( Data[ItemID] )
&& Data[Date] <= _mindateslicer
),
Data[Date]
)
RETURN
MAXX (
FILTER (
ALL ( Data ),
Data[ID]
= MAXX (
GROUPBY (
FILTER (
ALL ( Data ),
Data[ItemID] = MAX ( Data[ItemID] )
&& Data[Date] = _maxdatedata
),
"@maxID", MAXX ( CURRENTGROUP (), Data[ID] )
),
[@maxID]
)
),
Data[Stock]
)
Hola
Gracias por la respuesta.
Probé esta solución, pero con mi número de registro de ~ 60 millones, desafortunadamente ni siquiera calcula nada 😞
Hola
Gracias por sus comentarios, y por favor pruebe lo siguiente si muestra algún resultado y se adapta a sus necesidades.
Expected result measure: =
VAR _mindateslicer =
MIN ( 'Calendar'[Date] )
VAR _maxdatedata =
MAXX (
FILTER (
ALL ( Data ),
Data[ItemID] = MAX ( Data[ItemID] )
&& Data[Date] <= _mindateslicer
),
Data[Date]
)
VAR _maxid =
MAXX (
GROUPBY (
FILTER (
ALL ( Data ),
Data[ItemID] = MAX ( Data[ItemID] )
&& Data[Date] = _maxdatedata
),
"@maxID", MAXX ( CURRENTGROUP (), Data[ID] )
),
[@maxID]
)
RETURN
CALCULATE ( MAX ( Data[Stock] ), REMOVEFILTERS ( calendar ), Data[ID] = _maxid )
Hola
Gracias por la respuesta. Probé esta medida y obtuve resultados mixtos.
Lo bueno: Para algunos productos obtuve el resultado correcto.
Lo malo: El tiempo de cálculo es muy lento con la matriz completa, y en algunos casos ni siquiera obtuve ningún resultado.
Utilicé la función TopN para obtener la cantidad de stock final y funciona muy bien. Si eso se pudiera cambiar de alguna manera para ver el registro fuera del filtro de fecha, pero mantener otros filtros estaría bien ... si es posible...
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |