根据PowerBI中以前的单元格值将数据提取到列中
简短版本:在PowerBI,M语言中,我需要根据地址始终位于ID列中某个值的下一个单元格的知识,将地址从列数据提取到列地址 描述:我的数据集中有列数据和ID。我需要从包含大量随机信息的列数据中获取地址。我知道地址总是放在ID列中数字的下一个单元格中。我想提取地址,因此它们被放置在ID旁边,如列地址中所示。每个ID之间的行数不同,因此我无法使用index/rank等方法提取每个第6行左右。数据的结构基本如图所示 尝试过的方法:我知道我可以用一些基本的Excel公式类型来提取,但由于这一步只是长查询的一部分,我想在PowerQuery/M中对此进行讨论。我已经尝试了几种解决方案,例如制作索引列和复制数据集,删除第一行,然后合并两个表,以及下面描述的方法: 但这两个问题看起来都非常复杂,非常简单,所以希望有人能找到更好的解决方案根据PowerBI中以前的单元格值将数据提取到列中,powerbi,powerquery,Powerbi,Powerquery,简短版本:在PowerBI,M语言中,我需要根据地址始终位于ID列中某个值的下一个单元格的知识,将地址从列数据提取到列地址 描述:我的数据集中有列数据和ID。我需要从包含大量随机信息的列数据中获取地址。我知道地址总是放在ID列中数字的下一个单元格中。我想提取地址,因此它们被放置在ID旁边,如列地址中所示。每个ID之间的行数不同,因此我无法使用index/rank等方法提取每个第6行左右。数据的结构基本如图所示 尝试过的方法:我知道我可以用一些基本的Excel公式类型来提取,但由于这一步只是长查询
Data ID Address
RandomData 1 Address_Here
Address null
RandomData null
RandomData 2 Address_Here
Address null
RandomData null
RandomData null
RandomData 3 Address_Here
Address null
RandomData null
RandomData null
RandomData null
RandomData 4 Address_Here
Address null
RandomData null
RandomData 5 Address_Here
Address null
RandomData null
RandomData null
我想到了一种方法。添加两个索引列-一个从0开始,另一个从1开始,然后连接这些列上的合并表
AddIndex0 = Table.AddIndexColumn(SourceTable, "Index0", 0, 1, Int64.Type),
AddIndex1 = Table.AddIndexColumn(AddIndex0, "Index1", 1, 1, Int64.Type),
Merged = Table.ExpandTableColumn(
Table.NestedJoin(AddIndex0, "Index0", AddIndex1, "Index1", "Joined", JoinKind.LeftOuter),
"Joined",
{"Data", "ID"},
{"Prev_Data", "Prev_ID"}
)
我想到了一种方法。添加两个索引列-一个从0开始,另一个从1开始,然后连接这些列上的合并表
AddIndex0 = Table.AddIndexColumn(SourceTable, "Index0", 0, 1, Int64.Type),
AddIndex1 = Table.AddIndexColumn(AddIndex0, "Index1", 1, 1, Int64.Type),
Merged = Table.ExpandTableColumn(
Table.NestedJoin(AddIndex0, "Index0", AddIndex1, "Index1", "Joined", JoinKind.LeftOuter),
"Joined",
{"Data", "ID"},
{"Prev_Data", "Prev_ID"}
)
添加列。索引列 添加列。。自定义列。。。使用公式
=try if #"Added Index"{[Index]+1}[ID]=null and [ID]<> null then #"Added Index"{[Index]+1}[Data] else null otherwise null
添加列。索引列 添加列。。自定义列。。。使用公式
=try if #"Added Index"{[Index]+1}[ID]=null and [ID]<> null then #"Added Index"{[Index]+1}[Data] else null otherwise null
我能得到一张赞成票吗;?我能得到一张赞成票吗;?