我有一个自定义的日期表。
我需要为每个周期创建一个周期ID。
创建索引并不能解决问题,因为它不会根据期间对数字进行排名。
要为您提供我的数据示例以及我的预期结果,请参阅here
下面是示例数据:
id MonthInYear
----------- -----------
1 20180100
2 20180100
3 20180100
4 20180100
5 20180100
6 20180200
7 20180200
8 20180200
9 20180200
10 20180200
11 20180200
12 20180200
13 20180200
14 20180300
15 20180300
16 20180300
17 20180300
18 20180300
19 20180300
20 20180300
21 20180300
22 20180300
23 20180300我所需的结果屏幕截图:

如何根据上面Power Query中的预期结果创建排名周期ID?
发布于 2021-04-07 17:43:11
假设您的表名称为base_table,现在使用以下代码创建一个新的表base_table_date_id -
let
Source = base_table,
#"Changed Type" = Table.TransformColumnTypes(Source,{{"id", Int64.Type}, {"MonthInYear", Int64.Type}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"id"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Columns"),
#"Sorted Rows" = Table.Sort(#"Removed Duplicates",{{"MonthInYear", Order.Ascending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type)
in
#"Added Index"最后,使用MonthInYear. 将base_table和base_table_date_id这两个表合并到一个新表中新的表代码如下所示-
let
Source = Table.NestedJoin(base_table, {"MonthInYear"}, base_table_date_id, {"MonthInYear"}, "base_table_date_id", JoinKind.LeftOuter),
#"Expanded base_table_date_id" = Table.ExpandTableColumn(Source, "base_table_date_id", {"Index"}, {"base_table_date_id.Index"})
in
#"Expanded base_table_date_id"她是最终的输出-

https://stackoverflow.com/questions/66980991
复制相似问题