table 中的 Power Query 最大值

Power Query MAX Value from a table

我试图通过电源查询将 table 的最大日期转换为不同的日期。目前我被卡住了,我得到的只是一个基于条件的 table 。不确定这是否清楚,所以我将用代码进行解释。这是我目前的代码:

let
    Source = Table.NestedJoin(Table.NestedJoin(SKU,{"SKU"},q_UltColh_NEW,{"SKU"},"qUltColh_NEW",JoinKind.LeftOuter),{"SKU"},r_STK,{"SKU"},"Rep_Stk", JoinKind.LeftOuter),
.
.
.
#"Expanded Origem" = ...
    #"Expanded Origem" = Table.ExpandTableColumn(#"Merged Queries", "Origem", {"Desc_ORI", "Parent_ORI"}, {"Origem.Desc_ORI", "Origem.Parent_ORI"}),
    #"Added Last_Rec" = Table.AddColumn(#"Expanded Origem", "Last_Rec", each 
                                                            let SKU = [SKU]
                                                            in Table.SelectRows(r_GOODSREC,each [SKU]=SKU)
)
in
    #"Added Last_Rec"

我有两个 table:

SKU     Desc
46_24_  ABC
103_5_  DEF

doc_DATE    RowNo   SKU     Cod_ART     QTT
10/01/2017  1       46_24_  46.24       50
14/01/2017  1       46_24_  46.24       100
14/01/2017  1       103_5_  103.5       50
16/01/2017  1       103_5_  103.5       100

我想得到:

SKU     Desc    Last_Entry  Qtt
46_24_  ABC     14/01/2017  50
103_5_  DEF     16/01/2017  100

我的代码返回一个 table 包含多个列: SKU 描述 Last_Entry
46_24_ 美国广播公司 Table
103_5_防御Table

我相信一旦我得到最大值我就可以扩展 table,除非你告诉我这是个坏主意。

非常感谢,

我用下面的代码得到了这个:

备注:

1.我的日期格式是 month/day/year 而你的是 day/month/year.

2。此外,在您的问题中,您显示 SKU 46_24_ 的预期 QTT 为 50;但是您的来源 table 有 100 作为 SKU 46_24_ 最新日期的 QTT,这就是为什么我的 table 有 100 而不是 50.

我使用了与您相同的两个起始 table。我称它们为 Table1 和 Table2。 (表 1 是只有 SKU 和 Desc 列的表。)

然后我使用左外连接将这两个 table 合并到一个名为 Merge1 的新 table 中。

我想重点是:

我使用 "Group By"(即 Table.Group)按每个 SKU 进行分组,并在我称为 Last_Entry 的列中获取其最大日期值,并将所有行数据包含在我称之为 AllData 的专栏。这是分组依据弹出窗口 window:

然后,在 Group By 之后,我扩展了 AllData 中嵌入的 table 并添加了一个新列来标记和过滤掉 doc_Date 不等于 [=47= 的行].

let
Source = Table.NestedJoin(Table1,{"SKU"},Table2,{"SKU"},"Table2",JoinKind.LeftOuter),
#"Expanded Table2" = Table.ExpandTableColumn(Source, "Table2", {"doc_Date", "RowNo", "SKU", "Cod_ART", "QTT"}, {"doc_Date", "RowNo", "SKU.1", "Cod_ART", "QTT"}),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded Table2",{{"doc_Date", type date}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"SKU"}, {{"Last_Entry", each List.Max([doc_Date]), type datetime}, {"AllData", each _, type table}}),
#"Expanded AllData1" = Table.ExpandTableColumn(#"Grouped Rows", "AllData", {"Desc", "doc_Date", "QTT"}, {"Desc", "doc_Date", "QTT"}),
#"Added Custom" = Table.AddColumn(#"Expanded AllData1", "Custom", each if[Last_Entry]=[doc_Date] then "Last_Entry" else "NotLast_Entry"),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = "Last_Entry")),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom", "doc_Date"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"SKU", "Desc", "Last_Entry", "QTT"})
in
#"Reordered Columns"