Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Agregar encabezado de 2ª columna a Matrix

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):

Now.PNG

Lo que busco:

Want.PNG

Como siempre, cualquier ayuda apreciada.

Gracias

Emily

1 ACCEPTED 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

pq.jpg

2) Establezca una relación entre los campos de mes:

model.jpg

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

matrix setup.jpg

He adjuntado el archivo PBIX de ejemplo para usted

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

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

Syndicate_Admin
Administrator
Administrator

Si desea tener el segundo encabezado, se puede lograr, aunque con un poco de trabajo ...

Syndicate_Admin
Administrator
Administrator

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:

Captura de pantalla 2022-03-02 171038.jpg

¡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

Editor tabular 2x

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

pq.jpg

2) Establezca una relación entre los campos de mes:

model.jpg

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

matrix setup.jpg

He adjuntado el archivo PBIX de ejemplo para usted

Syndicate_Admin
Administrator
Administrator

@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?

https://www.sqlbi.com/tools/tabular-editor/

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.