The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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.
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:
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:
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.
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.
¡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
(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:
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:
Agregue una segmentación de datos de la tabla Dimension para Tipo (y una para fecha si es necesario)
Y obtienes esto:
He adjuntado el archivo PBIX de ejemplo
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.
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.