首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从缩进行Excel中按行构造数据

从缩进行Excel中按行构造数据
EN

Stack Overflow用户
提问于 2022-11-09 10:53:43
回答 1查看 29关注 0票数 0

下面的分层数据缩进如下图像:

  • 会计分录

  • Date

  • Description

  • 会计帐户

我希望将每个缩进级别作为新数据集中的列,如下所示:

我尝试过转置矩阵,幂查询m,没有得到想要的结果,有很多记录,我需要尽可能自动的东西。

也许用蟒蛇熊猫我能做到?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-09 12:36:15

如果数据位于一列中,那么对于PowerQuery,您所需要知道的就是如何计算前导空格。

代码语言:javascript
复制
 = Text.Length([Column1])-Text.Length(Text.TrimStart([Column1]))

从那里,做一些if/thens,填充,然后过滤。

代码语言:javascript
复制
let  Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Entry", each if Text.Length([Column1])-Text.Length(Text.TrimStart([Column1])) = 0 then [Column1] else null),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Date", each if Text.Length([Column1])-Text.Length(Text.TrimStart([Column1])) = 1 then [Column1] else null),
#"Added Custom2" = Table.AddColumn(#"Added Custom1", "Description", each if Text.Length([Column1])-Text.Length(Text.TrimStart([Column1])) = 2 then [Column1] else null),
#"Added Custom3" = Table.AddColumn(#"Added Custom2", "Account", each if Text.Length([Column1])-Text.Length(Text.TrimStart([Column1])) = 3 then [Column1] else null),
#"Filled Down" = Table.FillDown(#"Added Custom3",{"Entry", "Date", "Description", "Account"}),
#"Added Custom4" = Table.AddColumn(#"Filled Down", "Custom", each Text.Length([Column1])-Text.Length(Text.TrimStart([Column1]))),
#"Filtered Rows" = Table.SelectRows(#"Added Custom4", each ([Custom] = 3)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Column1", "Custom"})
in  #"Removed Columns"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74373698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档