sifar786
estoy teniendo lo siguiente tabla no pivotada eso contiene Valores porcentuales probados por estadísticas y ellos Stat-letras y Indicadores de posición de Stat-Letters en filas separadas.
---------------------------------------- CODE | ATTR | TEXT | VALUE ---------------------------------------- 1 mean I love it 0.45 2 mean I love it 0.67 3 mean I love it 0.49 4 mean I love it 0.21 5 mean I love it 0.66 1 mean I love it abd 2 mean I love it e 3 mean I love it cd 4 mean I love it a 5 mean I love it ab 1 mean I love it 1 2 mean I love it 1 3 mean I love it 1 4 mean I love it 1 5 mean I love it 1 1 wt-mean I hate it 0.22 2 wt-mean I hate it 0.56 3 wt-mean I hate it 0.13 4 wt-mean I hate it 0.89 5 wt-mean I hate it 0.50 1 wt-mean I hate it ab 2 wt-mean I hate it ae 3 wt-mean I hate it c 4 wt-mean I hate it b 5 wt-mean I hate it de 1 wt-mean I hate it 1 2 wt-mean I hate it 1 3 wt-mean I hate it 1 4 wt-mean I hate it 1 5 wt-mean I hate it 1
Quiero agrupar en la columna CÓDIGO y agregar el Letras probadas por estadísticas y indicadores de posición como columnas separadas como a continuación:
---------------------------------------------------------------- CODE | ATTR | TEXT | VALUE LETTERS POSITION ---------------------------------------------------------------- 1 mean I love it 0.45 abd 1 2 mean I love it 0.67 e 1 3 mean I love it 0.49 cd 1 4 mean I love it 0.21 a 1 5 mean I love it 0.66 ab 1 1 wt-mean I hate it 0.22 ab 1 2 wt-mean I hate it 0.56 ae 1 3 wt-mean I hate it 0.13 c 1 4 wt-mean I hate it 0.89 b 1 5 wt-mean I hate it 0.50 de 1
El problema que encuentro al agrupar los datos en la columna Valor es que la columna tiene tipos de datos mixtos (texto, número). ¿Cómo dividirlos en columnas individuales como se muestra a continuación?
Alba
Hola @sifar786
Si puede usar la columna de código para ordenar los datos como lo hizo en la primera tabla, podría hacerlo. Pegue lo siguiente en una consulta en blanco para ver los pasos:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("hdDNCsIwDMDxVxk5T1m6tbpH8BnKDulaUPDjUvT1LUXiKclphX/a/UiMgDDCo9CzfS7D/fUuw62283RcPGxjBCf1cOp9Fu+vvS9Sd9i7F98PvQs+SlnjFc22Z01GGouShkKNhBoJNZG6KGTQpx64X6n+F+2YJY34wDhpBGcmSiPnlaHijyaD+1uwjKViUHfDmQxkLgYRDSEaQDSAaABb374=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [CODE = _t, ATTR = _t, TEXT = _t, VALUE = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"CODE", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"CODE", "ATTR", "TEXT"}, {{"Count", each Text.Combine([VALUE],",")}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows", "Count", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Count.1", "Count.2", "Count.3"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"ATTR", type text}, {"TEXT", type text}, {"Count.1", Int64.Type}, {"Count.2", type text}, {"Count.3", Int64.Type}})
in
#"Changed Type1"
Por favor marque la pregunta resuelta cuando termine y considere dar felicitaciones si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
shaowu459
Hola, @sifar786
Copie y pegue el siguiente código en el editor avanzado, recuerde cambiar «Table1» al nombre de la tabla de origen.
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
res = Table.SplitColumn(Table.Group(Source, {"CODE", "ATTR", "TEXT"},{"n",each _[VALUE]}),"n",each _,{"VALUE","LETTERS","POSITION"})
in
res
shaowu459
Hola, @sifar786
Copie y pegue el siguiente código en el editor avanzado, recuerde cambiar «Table1» al nombre de la tabla de origen.
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
res = Table.SplitColumn(Table.Group(Source, {"CODE", "ATTR", "TEXT"},{"n",each _[VALUE]}),"n",each _,{"VALUE","LETTERS","POSITION"})
in
res
Alba
Hola @sifar786
Si puede usar la columna de código para ordenar los datos como lo hizo en la primera tabla, podría hacerlo. Pegue lo siguiente en una consulta en blanco para ver los pasos:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("hdDNCsIwDMDxVxk5T1m6tbpH8BnKDulaUPDjUvT1LUXiKclphX/a/UiMgDDCo9CzfS7D/fUuw62283RcPGxjBCf1cOp9Fu+vvS9Sd9i7F98PvQs+SlnjFc22Z01GGouShkKNhBoJNZG6KGTQpx64X6n+F+2YJY34wDhpBGcmSiPnlaHijyaD+1uwjKViUHfDmQxkLgYRDSEaQDSAaABb374=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [CODE = _t, ATTR = _t, TEXT = _t, VALUE = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"CODE", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"CODE", "ATTR", "TEXT"}, {{"Count", each Text.Combine([VALUE],",")}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows", "Count", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Count.1", "Count.2", "Count.3"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"ATTR", type text}, {"TEXT", type text}, {"Count.1", Int64.Type}, {"Count.2", type text}, {"Count.3", Int64.Type}})
in
#"Changed Type1"
Por favor marque la pregunta resuelta cuando termine y considere dar felicitaciones si las publicaciones son útiles.
Comuníquese conmigo en privado para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.
Salud
Matt Allington
Te sugiero agregar una columna personalizada como
= probar Número.Desde([Value]) de lo contrario nulo
esto debería agregar una columna con números o nulo. Llame a la columna «Personalizada». Luego puede usar esta columna para agregar otra columna
= si [Custom] = nulo luego «Texto» sino «Número»
llámalo Personalizado2
luego puede eliminar personalizado y pivotar Custom2.
Estoy seguro de que hay una manera de hacerlo con menos pasos, pero no estoy en mi PC para probarlo. 🙂