我需要你的帮助和技巧。有段时间我被堵住了。
在Power中,我必须对其中一个表T_BACKLOG执行转换。
我正在尝试获取创建问题的sprint的名称。在表T_BACKLOG中,我希望添加一个自定义列(SPRINT_NAME),以便从R_SPRINT中获取Sprint的名称。
请查找更多详细信息如下:
模型:无关系的表
R_SPRINT包含:
的结束日期。
T_BACKLOG包含:
问题的ID (ID) (CREATION_DATE)
预期结果T_BACKLOG“扩展”:
(CREATION_DATE)
THE LOGIC:基于T_BACKLOG中问题的创建日期,在表R_SPRINT中找到与sprint的开始日期(START_DATE)和结束日期(END_DATE)有关的正确的sprint。


(预先谢谢:)
加缪
发布于 2022-01-26 20:39:28
这是一个使用Power Query的解决方案:
步骤1:复制R_SPRINT表并启用它的加载。它应该是这样的。

Step2:在复制表中使用以下强大的查询代码。
注意:请记住,您必须调整下面的代码以适应您的情况。
let
//All your previos Steps. Remember to change "Changed Type" in the next row for your last step name.
#"Inserted Date Subtraction" = Table.AddColumn(#"Changed Type", "DATE_RANGE", each Duration.Days([END_DATE] - [START_DATE]), Int64.Type),
#"Added Custom" = Table.AddColumn(#"Inserted Date Subtraction", "DATE", each List.Dates([START_DATE],[DATE_RANGE]+1,#duration(1,0,0,0))
),
#"Expanded Custom" = Table.TransformColumnTypes(Table.ExpandListColumn(#"Added Custom", "DATE"),{{"DATE", type date}}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"DATE_RANGE"})
in
#"Removed Columns"如果正确地应用了代码,就会有如下表:

基本上,你有记录的每一天在冲刺范围内。
步骤3:现在我们可以使用这个新的“日期”列来连接两个表。
转到T_BACKLOG表并在两个表之间创建一个连接。然后展开表以获取"NAME“列。您可以使用以下代码:
#"Merged Queries" = Table.NestedJoin(#"Changed Type", {"CREATION_DATE"}, R_SPRINT, {"DATE"}, "R_SPRINT", JoinKind.LeftOuter),
#"Expanded R_SPRINT" = Table.ExpandTableColumn(#"Merged Queries", "R_SPRINT", {"NAME"}, {"R_SPRINT.NAME"})结果:

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