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.
Saludos. Tratar con presupuestos y datos reales.
Tengo un usuario que solicitó una matriz que muestra 12 meses de datos. Si hay datos reales disponibles, la columna muestra datos reales. Si los datos reales no están disponibles, se muestra el presupuesto para ese período. Creé una medida "BudgetOrActual" que suma el presupuesto si la suma de real = 0 y la dejé caer en la matriz como el valor, funciona muy bien. El problema que tengo es alertar al usuario visualmente si los números que se muestran en la columna son números reales o de presupuesto.
Creé una 2ª medida para traerme las palabras presupuesto o real; si real = 0 entonces diga presupuesto de lo contrario diga real... pero no puedo agregar esa medida a la matriz como una "fila de hechos superior" debajo de los encabezados de columna en la matriz. ¿Alguna idea?
Lo que tengo ahora (recreado en Excel para proteger datos confidenciales):
Lo que busco:
Como siempre, cualquier ayuda apreciada.
Gracias
Emily
Solved! Go to Solution.
He editado este post ya que el modelo funciona con una relación activa entre las tablas
Claro, aquí va.
1) Debe crear una tabla que permita la estructura de columnas de la matriz. Esto se puede crear en Power Query, lo que además lo hará dinámico. Básicamente, necesita una tabla referenciada a la tabla de hechos y agregar una columna condicional que devuelva "Presupuesto" si la fila de "Actuales" está en blanco o "Reales"
Este es el código M que he usado
let
Source = Table,
#"Removed Columns" = Table.RemoveColumns(Source,{"dimension", "Budget"}),
#"Added Conditional Column" = Table.AddColumn(#"Removed Columns", "Calculation", each if [Actuals] = null then "Budget" else "Actuals"),
#"Removed Columns1" = Table.RemoveColumns(#"Added Conditional Column",{"Actuals"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Columns1")
in
#"Removed Duplicates"
Llegar
2) Establezca una relación entre los campos de mes:
3) crear medidas básicas simples para los datos reales y el presupuesto
Sum of Actuals =
SUM(Table[Actuals])
Sum of Budget =
SUM(Table[Budget])
4) Crea la medida final que usarás en la matriz
Final matrix measure =
SWITCH (
SELECTEDVALUE ( 'Matrix Header'[Calculation] ),
"Actuals", [Sum of Actuals],
"Budget", [Sum of Budget,
SUMX ( 'Table', IF ( ISBLANK ( [Sum Actuals] ), [Sum Budget], [Sum Actuals] ) )
)
5) finalmente configure la matriz visual utilizando el campo cualquiera para las filas, los campos de la tabla 'Matrix Header' como columnas y [Final matrix measure] como los valores. Formatea el visual a tu gusto
He adjuntado el archivo PBIX de ejemplo para usted
Todavía estoy tratando de que mi departamento de TI se una a Tabular Editor.... es de código abierto, pero no lo están teniendo por razones que aún no me han dicho ... tal vez vengan, tal vez no...
Mientras tanto (y con un montón de ayuda de él) implementé una variación de la solución de @PaulDBrown y está funcionando muy bien.
Realmente apreciamos la ayuda y el tiempo de todos, ¡esta comunidad es increíble!
Emily
Si desea tener el segundo encabezado, se puede lograr, aunque con un poco de trabajo ...
Puede recurrir al formato condicional para identificar los valores presupuestarios:
En mi ejemplo:
Matrix value = COALESCE([Sum Actuals], [Sum Budget])
y para el formato:
Format =
IF([Matrix value] = [Sum Budget], 1)
y, a continuación, aplique el formato condicional mediante la opción reglas para obtener:
¡Buena idea! Estoy trabajando con mi equipo de TI ahora para tratar de obtener la versión de código abierto de Tabular, pero si eso no funciona para mí, es probable que termine recurriendo a esto.
Pregunta: la primera, y última, vez que usé COALESCE en un modelo (hace unos días) realmente ralentizó el tiempo de carga de lo visual.... inutilizable básicamente, así que tuve que eliminarlo. Realmente no encontré mucha información sobre ese tema cuando lo busqué en Google. Viendo que lo está recomendando, ¿alguna vez ha oído hablar de / experimentado ese problema?
Gracias
Emily
Puede descargar un gratis (legítimo: es del mismo desarrollador) desde
En cuanto a COALESCE tendrás que probarlo en este caso y ver si es lo suficientemente eficiente o simplemente usar la medida que ya tienes, por supuesto.
Como mencioné en una publicación de seguimiento, en realidad puede crear la estructura que publicó creando un "encabezado personalizado" y un poco de magia DAX
Gracias @PaulDBrown .
¿Te importaría elaborar sobre la "columna personalizada y la magia de DAX"? Prefiero esa solución al formato condicional. También mi departamento de TI es, en el lado extremo, de lo que podemos y no podemos instalar en nuestras PC, por lo que una solución que no requiera otro programa es muy atractiva.
Gracias
Emily
He editado este post ya que el modelo funciona con una relación activa entre las tablas
Claro, aquí va.
1) Debe crear una tabla que permita la estructura de columnas de la matriz. Esto se puede crear en Power Query, lo que además lo hará dinámico. Básicamente, necesita una tabla referenciada a la tabla de hechos y agregar una columna condicional que devuelva "Presupuesto" si la fila de "Actuales" está en blanco o "Reales"
Este es el código M que he usado
let
Source = Table,
#"Removed Columns" = Table.RemoveColumns(Source,{"dimension", "Budget"}),
#"Added Conditional Column" = Table.AddColumn(#"Removed Columns", "Calculation", each if [Actuals] = null then "Budget" else "Actuals"),
#"Removed Columns1" = Table.RemoveColumns(#"Added Conditional Column",{"Actuals"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Columns1")
in
#"Removed Duplicates"
Llegar
2) Establezca una relación entre los campos de mes:
3) crear medidas básicas simples para los datos reales y el presupuesto
Sum of Actuals =
SUM(Table[Actuals])
Sum of Budget =
SUM(Table[Budget])
4) Crea la medida final que usarás en la matriz
Final matrix measure =
SWITCH (
SELECTEDVALUE ( 'Matrix Header'[Calculation] ),
"Actuals", [Sum of Actuals],
"Budget", [Sum of Budget,
SUMX ( 'Table', IF ( ISBLANK ( [Sum Actuals] ), [Sum Budget], [Sum Actuals] ) )
)
5) finalmente configure la matriz visual utilizando el campo cualquiera para las filas, los campos de la tabla 'Matrix Header' como columnas y [Final matrix measure] como los valores. Formatea el visual a tu gusto
He adjuntado el archivo PBIX de ejemplo para usted
@EMP , cree un grupo de cálculo en dos medidas y use eso: funcionará como una dimensión
Grupos de cálculo: segmentación de datos de medida, agrupación de encabezados de medida, conversión de medida a dimensión. Visualización de tabla compleja: https://youtu.be/qMNv67P8Go0
o
Grupos de cálculo - Utilice Medir con múltiplo pequeño: https://www.youtube.com/watch?v=LEn6ZnScMZc
@amitchandak - aprecia su respuesta. Si estoy entendiendo esta solución correctamente, requiere Tabular Editor, que es algo que mi empresa no tiene (y es poco probable que compre en este momento).
¿Alguna otra idea?
Gracias
Emily
@EMP , creo que el editor tabular 2 es de código abierto. ¿Puedes comprobarlo con TI?
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 | |
2 | |
2 | |
2 | |
1 |