Indexing 特定范围内每次出现时的功率查询/功率BI增量数据
我试图将两个不同工作簿中的工作表与Power Query结合起来,但我在这方面遇到了困难 我不想在一个工作簿中增加“ID”列,因为在另一个工作簿中出现了值。 ID列有带字母标记的行:AB或BE。在这些字母之后,将关联特定的数字范围。对于AB和BE,数字的范围首先是0000到3000,3000到6000,然后是6001到8000,8001到9999 因此,我有以下可能性:Indexing 特定范围内每次出现时的功率查询/功率BI增量数据,indexing,powerbi,increment,powerquery,m,Indexing,Powerbi,Increment,Powerquery,M,我试图将两个不同工作簿中的工作表与Power Query结合起来,但我在这方面遇到了困难 我不想在一个工作簿中增加“ID”列,因为在另一个工作簿中出现了值。 ID列有带字母标记的行:AB或BE。在这些字母之后,将关联特定的数字范围。对于AB和BE,数字的范围首先是0000到3000,3000到6000,然后是6001到8000,8001到9999 因此,我有以下可能性: 从AB0000到AB3000 从AB3001到AB6000 从AB6001到AB8000 从AB8001到AB9999
- 从AB0000到AB3000
- 从AB3001到AB6000
- 从AB6001到AB8000
- 从AB8001到AB9999
- 从BE0000到BE3000
- 从BE3001到AB6000
- 从BE6001到BE8000
- 从BE8001到AB9999
- 从AB0000到AB3000,是意大利航空公司
- 从AB3001到AB6000为ItalyB BDE
- 从AB6001到AB8000是意大利航空公司
- 从AB8001到AB9999为ItalyB BDE
- 从BE0000到BE3000是英国皇家航空公司
- 从BE3001到AB6000,它是UKY BDE
- 从BE6001到BE8000是UKM ABC
- 从BE8001到AB9999,它是UKY BDE
|---------------------|
| Test |
|---------------------|
| AB0000 |
|---------------------|
| AB0001 |
|---------------------|
| AB3034 |
|---------------------|
| AB3035 |
|---------------------|
| AB6005 |
|---------------------|
| AB6006 |
|---------------------|
| AB8011 |
|---------------------|
| AB8012 |
|---------------------|
| BE0000 |
|---------------------|
| BE0001 |
|---------------------|
| BE3091 |
|---------------------|
| BE3092 |
|---------------------|
| BE6001 |
|---------------------|
| BE6002 |
|---------------------|
| BE6003 |
|---------------------|
| BE8104 |
|---------------------|
| BE8105 |
|---------------------|
和第二个文件,如下所示:
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
|---------------------|
| Test |
|---------------------|
| AB0002 |
|---------------------|
| AB0003 |
|---------------------|
| AB3036 |
|---------------------|
| AB6007 |
|---------------------|
| AB8013 |
|---------------------|
| BE0002 |
|---------------------|
| BE3091 |
|---------------------|
| BE3093 |
|---------------------|
| BE6004 |
|---------------------|
| BE8105 |
|---------------------|
| BE8106 |
|---------------------|
| BE8107 |
|---------------------|
| BE8108 |
|---------------------|
let
Source = #table({"Prefix", "Seq_Start", "Seq_End","Zone"},
{{"AB",0,2999,"UKM BDE"}, {"AB",3000,4999,"UKM ABC"}, {"AB",5000,7999,"UKY BDE"}, {"AB",8000,9999,"UKY ABC"},{"BE",0,2999,"ITALYZ BDE"},{"BE",3000,4999,"ITALYZ ABC"}, {"BE",5000,7999,"ITALYB BDE"}, {"BE",8000,9999,"ITALYB ABC"}}),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Seq_Start", Int64.Type}, {"Seq_End", Int64.Type}}),
#"Merged Queries" = Table.NestedJoin(#"Changed Type", {"Prefix"}, #"Source data with occurence", {"Unique key Prefix"}, "Source data with occurence", JoinKind.LeftOuter),
#"Expanded Source data with occurence " = Table.ExpandTableColumn(#"Merged Queries", "Source data with occurence", {"Number"}, {"Number"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Source data with occurence ", each [Number] >= [Seq_Start] and [Number] <= [Seq_End]),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Prefix", "Seq_Start", "Seq_End", "Zone"}, {{"NextSeq", each List.Max([Number]) + 1, type number}})
in
#"Grouped Rows"
那么我的结果如下:
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
|---------------------|
| Test |
|---------------------|
| AB0002 |
|---------------------|
| AB0003 |
|---------------------|
| AB3036 |
|---------------------|
| AB6007 |
|---------------------|
| AB8013 |
|---------------------|
| BE0002 |
|---------------------|
| BE3091 |
|---------------------|
| BE3093 |
|---------------------|
| BE6004 |
|---------------------|
| BE8105 |
|---------------------|
| BE8106 |
|---------------------|
| BE8107 |
|---------------------|
| BE8108 |
|---------------------|
let
Source = #table({"Prefix", "Seq_Start", "Seq_End","Zone"},
{{"AB",0,2999,"UKM BDE"}, {"AB",3000,4999,"UKM ABC"}, {"AB",5000,7999,"UKY BDE"}, {"AB",8000,9999,"UKY ABC"},{"BE",0,2999,"ITALYZ BDE"},{"BE",3000,4999,"ITALYZ ABC"}, {"BE",5000,7999,"ITALYB BDE"}, {"BE",8000,9999,"ITALYB ABC"}}),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Seq_Start", Int64.Type}, {"Seq_End", Int64.Type}}),
#"Merged Queries" = Table.NestedJoin(#"Changed Type", {"Prefix"}, #"Source data with occurence", {"Unique key Prefix"}, "Source data with occurence", JoinKind.LeftOuter),
#"Expanded Source data with occurence " = Table.ExpandTableColumn(#"Merged Queries", "Source data with occurence", {"Number"}, {"Number"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Source data with occurence ", each [Number] >= [Seq_Start] and [Number] <= [Seq_End]),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Prefix", "Seq_Start", "Seq_End", "Zone"}, {{"NextSeq", each List.Max([Number]) + 1, type number}})
in
#"Grouped Rows"
我尝试调整一个范围更有限的查询,通过添加类别,我得到了如下查询:
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| ItalyZ ABC |
|---------------------|
| ItalyB BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKM ABC |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
| UKY BDE |
|---------------------|
|---------------------|
| Test |
|---------------------|
| AB0002 |
|---------------------|
| AB0003 |
|---------------------|
| AB3036 |
|---------------------|
| AB6007 |
|---------------------|
| AB8013 |
|---------------------|
| BE0002 |
|---------------------|
| BE3091 |
|---------------------|
| BE3093 |
|---------------------|
| BE6004 |
|---------------------|
| BE8105 |
|---------------------|
| BE8106 |
|---------------------|
| BE8107 |
|---------------------|
| BE8108 |
|---------------------|
let
Source = #table({"Prefix", "Seq_Start", "Seq_End","Zone"},
{{"AB",0,2999,"UKM BDE"}, {"AB",3000,4999,"UKM ABC"}, {"AB",5000,7999,"UKY BDE"}, {"AB",8000,9999,"UKY ABC"},{"BE",0,2999,"ITALYZ BDE"},{"BE",3000,4999,"ITALYZ ABC"}, {"BE",5000,7999,"ITALYB BDE"}, {"BE",8000,9999,"ITALYB ABC"}}),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Seq_Start", Int64.Type}, {"Seq_End", Int64.Type}}),
#"Merged Queries" = Table.NestedJoin(#"Changed Type", {"Prefix"}, #"Source data with occurence", {"Unique key Prefix"}, "Source data with occurence", JoinKind.LeftOuter),
#"Expanded Source data with occurence " = Table.ExpandTableColumn(#"Merged Queries", "Source data with occurence", {"Number"}, {"Number"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Source data with occurence ", each [Number] >= [Seq_Start] and [Number] <= [Seq_End]),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Prefix", "Seq_Start", "Seq_End", "Zone"}, {{"NextSeq", each List.Max([Number]) + 1, type number}})
in
#"Grouped Rows"
let
Source=#表({“前缀”、“顺序开始”、“顺序结束”、“区域”},
{{“AB”,02999,“UKM BDE”},{“AB”,30004999,“UKM ABC”},{“AB”,50007999,“UKY BDE”},{“AB”,80009999,“UKY ABC”},{“BE”,02999,“ITALYZ BDE”},{“BE”,30004999,“ITALYZ ABC”},{“BE”,50007999,“ITALYB BDE”},{“BE”,80009999,“ITALYB ABC”}),
#“更改的类型”=表.TransformColumnTypes(源,{{“Seq_Start”,Int64.Type},{“Seq_End”,Int64.Type}),
#“合并查询”=表.NestedJoin(#“更改类型”、{“前缀”}、#“出现的源数据”、{“唯一键前缀”}、“出现的源数据”、JoinKind.LeftOuter),
#“发生时的扩展源数据”=Table.ExpandTableColumn(#“合并查询”、“发生时的源数据”、{“编号”}、{“编号”}),
#“筛选的行”=表。选择行(#“扩展的源数据及其发生”,每个[Number]>=[Seq\u Start]和[Number]您的查询显示“Table.Group”
你试过合并那两张表吗?我更喜欢“合并并创建新表”
表1和表2的标题不同,首先我对它们进行了均衡。如图中所示。然后合并并创建了新表。下面是代码部分
let
Kaynak = Table.Combine({#"Puantaj CkrEng", #"Puantaj Genel"}),
#"Filtrelenen Satırlar" = Table.SelectRows(Kaynak, each ([Firma] <> null)),
#"Yeniden Sıralanan Sütunlar" = Table.ReorderColumns(#"Filtrelenen Satırlar",{"Firma", "Resource ID", "Görev", "Tarih", "Yevmiye", "HaftaBasi"})
in
#"Yeniden Sıralanan Sütunlar"
let
Kaynak=Table.Combine({#“Puantaj CkrEng”,#“Puantaj Genel”}),
#“Filtrelen Satırlar”=表。选择行(Kaynak,每个([Firma]null)),
#“Yeniden Sıralanan Sıtunlar”=Table.ReorderColumns(#“filterelenen Satırlar”、{“Firma”、“Resource ID”、“Görev”、“Tarih”、“Yevmiye”、“HaftaBasi”})
在里面
#“Yeniden Sıralanan Sütunlar”
你能模拟出一个你的最终结果应该是什么样子的表格吗?嗨,我添加了一些元素,包括最终结果。我的主要问题之一是,如果我的“记录”以零个观察值(甚至一个)开始,例如UKY BDE,那么计数将从0或1开始,而不是从“5000”开始第一次观察UKY BDE和“5001”.您能提供更多详细信息吗?您的意思是:“Table.Combine(表作为列表,可选列作为任何列)作为表”?编辑了我的答案,并试图用我最好的@tomasmichehi@thanky you我要看一看!但我很难把它应用到我的问题上!非常感谢!我发现你的桌子也需要填充!这很有趣。我想知道是“3068”还是“68”@bibakcamki