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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

Intentar despivot columnas para usarlas como segmentación de datos tanto para el gráfico de columnas apiladas como para la matriz

Estoy compartiendo mi archivo Pbix aquí.

Estoy publicando esto por tercera vez porque mi problema no se ha resuelto, el requisito ha cambiado desde la publicación original.

Estoy tratando de usar el valor de las columnas como segmentación de datos tanto para el gráfico de columnas apiladas como para Matrix.

Recibí ayuda de la comunidad de que si creaba una medida, funcionaría en el gráfico de barras apiladas agrupando.

Pero, cuando intenté usar la agrupación en Matrix visual también, el valor total no aparece.

JustinDoh1_1-1633025700092.png

Entonces, pensé, tal vez las columnas de despivoting funcionarían como una cortadora para ambas imágenes, y decidí preguntar a la comunidad nuevamente.

Tengo columnas que tienen datos como este:

JustinDoh1_0-1633025273384.png

ot_hrs1 + ot_hrs2 = OT

dt_hrs1 + dt_hrs2 = DT

OT + DT = Total

Los requisitos son:

1) Cree tanto el gráfico de columnas apiladas como la matriz usando una segmentación de datos

2) Slicer debe tener opción de OT, DT y Total

3) En el gráfico de columnas apiladas:

  • OT solo debe mostrar el valor de OT
  • DT solo debe mostrar el valor de DT
  • Total debe mostrar tanto OT como DT apilados en la parte superior uno del otro.

Soy tan nuevo en las columnas de despivoting.

Si hay alguna necesidad de eliminar OT, DT o Total (ya que no son los valores originales, sino columnas calculadas) con el fin de que funcione, estaría bien.

Además, en cuanto a las columnas de despivoting, ¿cuáles son los pasos?

No incluí otras columnas necesarias para más adelante, pero si despivot columnas (digamos 5 columnas disponibles aquí), otras columnas también deben cambiarse, ¿correcto?

Gracias por su ayuda.

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@PaulDBrown

No estoy seguro de por qué no vi su respuesta.

Aquí hay un enlace para los datos de ejemplo. Gracias.

Como se indica en la publicación, también estoy compartiendo mi archivo Pbix.

@JustinDoh1

¡Gracias por volver a publicar el archivo (no puedo acceder a los datos a través del enlace) y disculpas, ya que realmente vi que había incluido un archivo de muestra en su publicación original después de que publiqué mi solicitud de datos! (Así que borré esa publicación).

Ok, mira si esto ayuda. Despivoting las columnas simplifica el desafío.

Básicamente necesita OT y DT en la misma columna con los valores correspondientes por fecha. (no necesita las columnas calculadas). Así que...

let
    Source = Csv.Document(File.Contents("C:\Users\Paul\OneDrive\1 Shared web\Comm PBIs\Unpivot columns\data.csv"),[Delimiter=",", Columns=5, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    OrigTable = Table.TransformColumnTypes(#"Promoted Headers",{{"Date1", type datetime}, {"dt_hrs1", Int64.Type}, {"dt_hrs2", Int64.Type}, {"ot_hrs1", Int64.Type}, {"ot_hrs2", Int64.Type}}),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(OrigTable, {"Date1"}, "Attribute", "Value"),
    #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Columns",{{"Attribute", "hrs"}}),
    #"Added Conditional Column" = Table.AddColumn(#"Renamed Columns", "Custom", each if Text.Contains([hrs], "dt") then "DT" else "OT"),
    #"Filtered Rows" = Table.SelectRows(#"Added Conditional Column", each ([Value] <> 0)),
    #"Renamed Columns1" = Table.RenameColumns(#"Filtered Rows",{{"Custom", "Type"}}),
    #"Filtered Rows1" = Table.SelectRows(#"Renamed Columns1", each true),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows1",{"hrs"})
in
#"Removed Columns"

Te conseguirá esto

FinalTable.JPG

(Si necesita la columna para hrs, simplemente elimine el último paso de la consulta)

A continuación, cree una tabla de dimensiones para "Tipo" y una tabla de fecha para obtener esta configuración del modelo:

Model.JPG

Crear las imágenes ahora es simple. Todo lo que necesita es una medida SUM para el valor, y

Configuración para el gráfico apilado y la matriz:

Stacekd Chart.JPGMatrix.JPG

Agregue una segmentación de datos de la tabla Dimension para Tipo (y una para fecha si es necesario)

Y obtienes esto:

Unpivot.gif

He adjuntado el archivo PBIX de ejemplo

@JustinDoh1

En cuanto a cómo despivot columnas, en la consulta se seleccionan las columnas que se desea despivot y se selecciona la opción Unpivot columnas en Transformar en la cinta de opciones.

Unpivot1.gif

Si hay muchas columnas para despivot, puede seleccionar la(s) columna(s) que no desea despivot y, en la misma opción, elegir "Unpivot other columns" en el menú desplegable de Unpivot.

Unpivot11.gif

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors