Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
queridos gurús de PBI
Estoy luchando por encontrar la forma más fácil de crear un cálculo / medida con una entrada dinámica del usuario.
Mi tabla inicial es la siguiente
artículo | descripción del artículo | Fy | Mes | dimensión | Cantidad |
ABC | ABC-Description | 2021 | 1 | Ordered | 55 |
ABC | ABC-Description | 2021 | 1 | forecast current month | 60 |
ABC | ABC-Description | 2021 | 1 | forecast m-1 | 70 |
ABC | ABC-Description | 2021 | 1 | forecast m-2 | 70 |
ABC | ABC-Description | 2021 | 1 | forecast m-3 | 100
|
Necesito, para cada elemento, calcular una fórmula con "ordenado" como entrada de corrección y selección de variables de "corecast m-*". La fórmula completa es = ABS(Ordenado - Pronóstico M-*)/(ABS(Ordenado)+ABS(Pronóstico M-*)) y me gustaría dar la posibilidad a cada usuario de cambiar de "pronóstico m-1" a "pronóstico m-3" usando una cortadora o un filtro.
El resultado final sería una tabla como
ITEM Item Descripción ordenada Fcast M-* (seleccionada por el usuario) Resultado de la fórmula
gracias @v-kalyj-msft
funciona muy bien. El único problema que he visto es que, dado que por tabla tiene múltiples entradas / grupos, tiene un comportamiento extraño cuando activo el total en la parte inferior de cada columna, lo que significa calcular lo mismo a nivel agregado (imagine que necesito agregar el artículo por familia de productos o por cliente.
¿Hay algo que pueda hacer para permitir que también el total muestre correctamente la suma de todas las filas de una columna?
gracias
Lo siento, no tengo muy claro a qué te refieres. Cuando enciendo el total, obtiene el resultado.
Si su muestra real es más complicada, ¿le gustaría exponer más o dar un ejemplo?
Saludos
Equipo de apoyo a la comunidad _ kalyj
Lo siento, fui demasiado rápido en responder 🙂
por lo tanto, un ejemplo de mi conjunto de datos es el siguiente
las filas individuales se calculan correctamente, sin embargo, el total en lugar de ser la suma de todas las entradas muestra solo el valor máximo (parece), preferiría ver la suma de todos los "Ordenados" y "Pronóstico". ¿Es posible añadiendo una operación "SUM" en la fórmula?
gracias por sus comentarios del rey
Saludos
Moia79
Lo siento por la respuesta tardía, modifico mi ejemplo para que contenga más elementos.
Luego modifique la fórmula de esta manera:
Ordered =
VAR _T =
SUMMARIZE (
'Table',
'Table'[Item],
"Ordered",
MAXX (
FILTER (
ALL ( 'Table' ),
'Table'[Item] = MAX ( 'Table'[Item] )
&& 'Table'[dimension] = "Ordered"
),
'Table'[Quantity]
)
)
RETURN
SUMX ( _T, [Ordered] )
Fcast M-* =
VAR _T =
SUMMARIZE (
'Table',
'Table'[Item],
"Fcast M-",
MAXX (
FILTER ( 'Table', 'Table'[dimension] = SELECTEDVALUE ( 'Table'[dimension] ) ),
'Table'[Quantity]
)
)
RETURN
SUMX ( _T, [Fcast M-] )
Formula result =
VAR _T =
SUMMARIZE (
'Table',
'Table'[Item],
"Formula resut",
ABS ( [Ordered] - [Fcast M-*] )
/ ( ABS ( [Ordered] ) + ABS ( [Fcast M-*] ) )
)
RETURN
SUMX ( _T, [Formula resut] )
Obtenga el resultado correcto:
Adjunto mi muestra a continuación para su referencia.
Saludos
Equipo de Apoyo a la Comunidad _ kalyj
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Funciona 🙂
gracias
De acuerdo con su descripción, aquí está mi solución.
Solo puede usar medidas, ya que el valor de las columnas calculadas no puede verse afectado por la segmentación de datos. Crea tres medidas.
Ordered =
MAXX (
FILTER (
ALL ( 'Table' ),
'Table'[Item] = MAX ( 'Table'[Item] )
&& 'Table'[dimension] = "Ordered"
),
'Table'[Quantity]
)
Fcast M-* =
MAXX (
FILTER ( 'Table', 'Table'[dimension] = SELECTEDVALUE ( 'Table'[dimension] ) ),
'Table'[Quantity]
)
Formula result =
ABS ( [Ordered] - [Fcast M-*] )
/ ( ABS ( [Ordered] ) + ABS ( [Fcast M-*] ) )
Obtén el resultado.
Adjunto mi muestra a continuación para su referencia.
Saludos
Equipo de apoyo a la comunidad _ kalyj
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.