Hola a todos,
Tengo una pregunta para crear una nueva tabla como se muestra a continuación.
Ya tengo 'Tabla A' en mi Power BI y quiero obtener esas columnas booleanas como valor en Tipo booleano en la nueva tabla y obtener otra columna para contar el número de valores verdaderos.
¿Puede alguien ayudarme qué DAX necesito usar para obtener esta nueva tabla en Power BI?
Solved! Go to Solution.
Hola @wonygkim ,
La lógica de cálculo que @amitchandak da es correcta. Pero algunos detalles de las fórmulas deben corregirse. Por favor, intente esto:
Dax:
new table =
UNION(
SUMMARIZE('Table', "Boolean Type" , "Boolean A","No of report", COUNTX(FILTER('Table', 'Table'[Boolean A] = "TRUE"), 'Table'[Boolean A])),
SUMMARIZE('Table', "Boolean Type" , "Boolean B","No of report", COUNTX(FILTER('Table', 'Table'[Boolean B] = "TRUE"),'Table'[Boolean B])),
SUMMARIZE('Table', "Boolean Type" , "Boolean C","No of report", COUNTX(FILTER('Table', 'Table'[Boolean C] = "TRUE"), 'Table'[Boolean C])),
SUMMARIZE('Table', "Boolean Type" , "Boolean D","No of report", COUNTX(FILTER('Table', 'Table'[Boolean D] = "TRUE"), 'Table'[Boolean D])))
M:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WilDSUQoJCnXFTsXqRCtFAjlujj7BrjhpkKoohE50RRCTYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Report = _t, #"Boolean A" = _t, #"Boolean B" = _t, #"Boolean C" = _t, #"Boolean D" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Report", type text}, {"Boolean A", type logical}, {"Boolean B", type logical}, {"Boolean C", type logical}, {"Boolean D", type logical}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Report"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Columns", {"Attribute", "Value"}, {{"Count", each Table.RowCount(_), Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Value] = true)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Value"})
in
#"Removed Columns"
Hola @wonygkim ,
La lógica de cálculo que @amitchandak da es correcta. Pero algunos detalles de las fórmulas deben corregirse. Por favor, intente esto:
Dax:
new table =
UNION(
SUMMARIZE('Table', "Boolean Type" , "Boolean A","No of report", COUNTX(FILTER('Table', 'Table'[Boolean A] = "TRUE"), 'Table'[Boolean A])),
SUMMARIZE('Table', "Boolean Type" , "Boolean B","No of report", COUNTX(FILTER('Table', 'Table'[Boolean B] = "TRUE"),'Table'[Boolean B])),
SUMMARIZE('Table', "Boolean Type" , "Boolean C","No of report", COUNTX(FILTER('Table', 'Table'[Boolean C] = "TRUE"), 'Table'[Boolean C])),
SUMMARIZE('Table', "Boolean Type" , "Boolean D","No of report", COUNTX(FILTER('Table', 'Table'[Boolean D] = "TRUE"), 'Table'[Boolean D])))
M:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WilDSUQoJCnXFTsXqRCtFAjlujj7BrjhpkKoohE50RRCTYgE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Report = _t, #"Boolean A" = _t, #"Boolean B" = _t, #"Boolean C" = _t, #"Boolean D" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Report", type text}, {"Boolean A", type logical}, {"Boolean B", type logical}, {"Boolean C", type logical}, {"Boolean D", type logical}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Report"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Columns", {"Attribute", "Value"}, {{"Count", each Table.RowCount(_), Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Value] = true)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Value"})
in
#"Removed Columns"
¡Muchas gracias! esto me ayuda a entender mucho mejor!
@wonygkim , Mejor despivot en Power Query y, a continuación, agregar allí.
https://radacad.com/pivot-and-unpivot-with-power-bi
Transponer : https://yodalearning.com/tutorials/power-query-helps-transposing-data/
https://radacad.com/power-bi-aggregation-step-1-create-the-aggregated-table
En dax resumiría y uniría
nueva tabla de la unión(
summarize(Table, "Boolean Type" , "No of report", countx(filter(Table, Table[Boolean A] á "True") Table[Boolean A])),
summarize(Table, "Boolean Type" , "No of report", countx(filter(Table, Table[Boolean b] á "True") Table[Boolean B])),
resume(Table, "Boolean Type" , "No of report", countx(filter(Table, Table[Boolean C] ? "True") Table[Boolean C])),
resume(Table, "Boolean Type" , "No of report", countx(filter(Table, Table[Boolean D] á "True") Table[Boolean D])))
Cambiar según la necesidad
Proud to be a Super User!
User | Count |
---|---|
165 | |
76 | |
37 | |
26 | |
17 |
User | Count |
---|---|
12 | |
4 | |
2 | |
2 | |
2 |