Excel VBA Power Query - 如何创建动态 returns 仅最后一分钟销售行的查询?

Excel VBA Power Query - How to create a query that dynamically returns only the sale's rows of the last minute?

我有一个逗号分隔的 csv 文件,其结构如下:

列Headers:

ProdDate,   ProdTime, OLEDATETIME, ProdBuyPrice, ProdSellPrice, ProdBoughtQTY, ProdSoldQTY, etc
09/21/2019, 13:54:22, 43729.5801,  12.45,        12.61,         8,          9, etc.

此 CSV 文件每分钟更新多次(每分钟 5 到 70 次),这意味着它在销售的最后一分钟内可以有 5 到 70 行,那么我无法在 "mantain first lines" 到 return 只有最后一分钟到达的行,我以前从未使用 Power Query 这样做过。所以我需要一个完整的食谱来做这件事,但我的谷歌搜索直到现在才一无所获。

有什么建议吗?

这是一个如何识别动态行号的示例。在此示例中,我们有一个 table 显示商店的水果销售情况。我们想要创建一个查询,其中 return 是售出香蕉的最高数量。

这就是我们的数据 table 的样子。

第 1 步 - 添加从 1 开始的索引列。这会分配行号。 添加列 > 索引列 > 从 1

步骤 2 - 筛选和排序数据。

删除任何不需要的列。

过滤香蕉的项目列。

按降序对值列进行排序。

右键单击“索引”列中的第一个值,然后选择“向下钻取”。

结果 现在你有一个动态行#。您也可以选择值本身 return 销售额而不是索引。要将此应用到其他场景,只需不断筛选和排序,直到得到您需要的结果。

这是为最近一分钟内发生的记录过滤时间列的方式。

let
    Source = Excel.CurrentWorkbook(){[Name="t_DatesAndTimes"]}[Content],
    ChangedTypes_ColData = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Time", type time}}),
    AddCol_DateAndTime = Table.AddColumn(ChangedTypes_ColData, "Date and Time", each [Date] & [Time], type datetime),
    LatestTime_ofReport_MinusOneMinute = List.Max(AddCol_DateAndTime[Date and Time])-#duration(0,0,1,0),
    FilterRows_KeepTimesInLastMinute = Table.SelectRows(AddCol_DateAndTime, each [Date and Time] >= LatestTime_ofReport_MinusOneMinute)
in
    FilterRows_KeepTimesInLastMinute

需要过滤的数据Table

Table 过滤报告中所列时间的最后一分钟。