我使用 Power Query 提取了上个月测试的所有唯一项目类型:
let
Source = Sql.Database("XXX", "YYY"),
dbo_tblTest = Source{[Schema="dbo",Item="tblTest"]}[Data],
#"Filtered Rows" = Table.SelectRows(dbo_tblTest, each Date.IsInPreviousNMonths([Test_Stop], 1)),
#"Added Custom" = Table.AddColumn(#"Filtered Rows", "Custom", each Text.Start([Item],5)),
#"Removed Duplicates" = Table.Distinct(#"Added Custom", {"Custom"})
in
#"Removed Duplicates"
要得到:
- Test_ID --- 项目 --- Test_Start --- Test_Stop --- 自定义
- 2585048 --- B1846-6-02 --- 2014 年 1 月 14 日 12:46 --- 2015 年 6 月 25 日 14:28 --- B1846
- 2589879 --- B1843-5-05 --- 2013 年 12 月 23 日 16:46 --- 2015 年 6 月 25 日 14:19 --- B1843
- 2633483 --- B1907-1-04 --- 2014 年 8 月 21 日 20:47 --- 2015 年 6 月 10 日 6:20 --- B1907
- 2638786 --- B1361-2-04 --- 2013 年 6 月 13 日 14:21 --- 2015 年 6 月 16 日 14:15 --- B1361
- 2675663 --- B1345-2-02 --- 2014 年 5 月 23 日 18:39 --- 2015 年 6 月 25 日 21:27 --- B1345
接下来,我想使用 Power Query 为 Query1 中列出的每个项目类型提取过去 10 次测试,而不考虑时间段。我想出了如何分别提取过去 10 个项目类型的测试,但不是在一个查询中全部结合在一起。
let
Source = Sql.Database("XXX", "YYY"),
dbo_tblTest = Source{[Schema="dbo",Item="tblTest"]}[Data],
#"Filtered Rows" = Table.SelectRows(dbo_tblTest, each Text.StartsWith([Item], "B1846")),
#"Sorted Rows" = Table.Sort(#"Filtered Rows",{{"Test_Stop", Order.Descending}}),
#"Kept First Rows" = Table.FirstN(#"Sorted Rows",10)
in
#"Kept First Rows"
要得到:
- Test_ID --- 项目 --- Test_Start --- Test_Stop --- 值
- 11717643 --- B1846-6-02 --- 2015 年 7 月 23 日 12:48 --- 2015 年 7 月 23 日 12:57 --- 43725341
- 11716432 --- B1846-1-21 --- 2015 年 7 月 23 日 10:23 --- 2015 年 7 月 23 日 10:29 --- 43724705
- 11715802 --- B1846-1-21 --- 2015 年 7 月 23 日 9:28 --- 2015 年 7 月 23 日 10:29 --- 43724720
- 11715505 --- B1846-1-21 --- 2015 年 7 月 23 日 8:59 --- 2015 年 7 月 23 日 9:06 --- 43724675
- 11715424 --- B1846-1-21 --- 2015 年 7 月 23 日 8:36 --- 2015 年 7 月 23 日 8:59 --- 43724690
- 11713680 --- B1846-1-55 --- 2015 年 7 月 23 日 5:50 --- 2015 年 7 月 23 日 6:07 --- 43725239
- 11691169 --- B1846-6-04 --- 2015 年 7 月 20 日 22:47 --- 2015 年 7 月 22 日 20:18 --- 43642835
- 11690466 --- B1846-6-04 --- 2015 年 7 月 20 日 21:30 --- 2015 年 7 月 22 日 18:41 --- 43642729
- 11701183 --- B1846-1-140 --- 2015 年 7 月 21 日 21:34 --- 2015 年 7 月 21 日 22:24 --- 43667358
- 11701184 --- B1846-6-04 --- 2013 年 7 月 21 日 20:35 --- 2015 年 7 月 21 日 20:46 --- 43667359
是否可以使用 Power Query 在一个查询中提取所有需要的数据?如果没有,是否可以将 VBA 与 Power Query 一起使用来完成它?