电源查询循环

2024-04-07

我使用 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"

To get:

  1. Test_ID --- 项目 --- Test_Start --- Test_Stop --- 自定义
  2. 2585048 --- B1846-6-02 --- 2014/1/14 12:46 --- 2015/6/25 14:28 --- B1846
  3. 2589879 --- B1843-5-05 --- 2013/12/23 16:46 --- 2015/6/25 14:19 --- B1843
  4. 2633483 --- B1907-1-04 --- 8/21/2014 20:47 --- 6/10/2015 6:20 --- B1907
  5. 2638786 --- B1361-2-04 --- 2013/6/13 14:21 --- 2015/6/16 14:15 --- B1361
  6. 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"

To get:

  1. Test_ID --- 项目 --- Test_Start --- Test_Stop --- 值
  2. 11717643 --- B1846-6-02 --- 7/23/2015 12:48 --- 7/23/2015 12:57 --- 43725341
  3. 11716432 --- B1846-1-21 --- 7/23/2015 10:23 --- 7/23/2015 10:29 --- 43724705
  4. 11715802 --- B1846-1-21 --- 7/23/2015 9:28 --- 7/23/2015 10:29 --- 43724720
  5. 11715505 --- B1846-1-21 --- 7/23/2015 8:59 --- 7/23/2015 9:06 --- 43724675
  6. 11715424 --- B1846-1-21 --- 7/23/2015 8:36 --- 7/23/2015 8:59 --- 43724690
  7. 11713680 --- B1846-1-55 --- 7/23/2015 5:50 --- 7/23/2015 6:07 --- 43725239
  8. 11691169 --- B1846-6-04 --- 7/20/2015 22:47 --- 7/22/2015 20:18 --- 43642835
  9. 11690466 --- B1846-6-04 --- 7/20/2015 21:30 --- 7/22/2015 18:41 --- 43642729
  10. 11701183 --- B1846-1-140 --- 2015/7/21 21:34 --- 2015/7/21 22:24 --- 43667358
  11. 11701184 --- B1846-6-04 --- 2013/7/21 20:35 --- 2015/7/21 20:46 --- 43667359

是否可以使用 Power Query 在一次查询中提取所有需要的数据?如果没有,是否可以使用 VBA 和 Power Query 来完成它?


在 Power Query 中,如果您正在考虑如何循环,您经常会发现一个高阶库函数可以满足您的需求。在本例中,它是分组。

分组按某个键拆分表,在您的情况下Custom第一个表的列。您可以将“保持过去 10”逻辑重写为您在每个分组表中应用的函数,使用Table.TransformColumns,然后将分组的表格重新展开为一张平面表格。

您的查询应该类似于:

let
  Source = Sql.Database("XXX", "YYY"),
  dbo_tblTest = Source{[Schema="dbo",Item="tblTest"]}[Data],
  #"Added Custom" = Table.AddColumn(dbo_tblTest, "Custom", each Text.Start([Item],5)),
  #"Grouped Rows" = Table.Group(#"Added Custom", {"Custom"}, {{"Grouped", each _, type table}}),
  Custom2 = Table.TransformColumns(#"Grouped Rows", {{"Grouped", (groupedTable) =>
      let
          #"Sorted Rows" = Table.Sort(groupedTable,{{"Test_Stop", Order.Descending}}),
          #"Kept First Rows" = Table.FirstN(#"Sorted Rows",10)
      in
          #"Kept First Rows"}}),
  #"Removed Other Columns1" = Table.SelectColumns(Custom2,{"Grouped"}),
  #"Expanded Grouped" = Table.ExpandTableColumn(#"Removed Other Columns1", "Grouped", Table.ColumnNames(#"Added Custom"))
in
  #"Expanded Grouped"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电源查询循环 的相关文章

  • Python 中 FFT 的循环加速(使用“np.einsum”)

    Problem 我想加速包含大量乘积和求和的 python 循环np einsum 但我也愿意接受任何其他解决方案 我的函数采用形状为 n n 3 的向量配置 S 我的情况 n 72 并对 N N 点的相关函数进行傅里叶变换 相关函数定义为
  • Powershell/PowerCLI 循环、超时和退出

    以下是场景 我通过 Powershell PowerCLI VMwares Powershell 模块 远程启动虚拟机 一旦虚拟机启动 我将针对虚拟机运行一系列 cmdlet 目前我有这段代码 Start VM my VM Name run
  • 如何测试具有多个输入调用的循环?

    我正在尝试测试一个依赖多个用户输入来返回某个值的函数 我已经在这里寻找了多个答案 但没有一个能够解决我的问题 我看到了参数化 模拟和猴子补丁的东西 但没有任何帮助 我认为很大程度上是因为我没有清楚地理解正在做的事情背后的概念 并且我无法适应
  • .Net 中的计时器和循环准确吗?

    在开发一个程序时 计算555定时器IC产生的脉冲的频率和脉冲宽度 通过PC并行端口传到PC 我注意到每次运行代码时它都会显示不同的值 因此我开始测试循环和计时器的准确性 我运行了以下代码 发现它们不准确 我可能是错的 如果我错了 请纠正我
  • for 循环语法,其中包含 if 语句

    使用 if 语句编写 for 循环的普遍共识是什么 for int i 0 i lt hi i if some invalid condition continue if another invalid condition continue
  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 如何从头开始重复C程序并清理屏幕和第一个输入值?

    我是编程新手 我写了一个简单的程序 我想一次又一次地重复该程序 并且只有当用户想要退出时它才能退出 这是我的程序 include
  • for 和 while 循环中没有循环条件

    while cond fine for cond fine 但是当我删除条件部分时 while syntax compilation error for Infinite loop 这些循环内部是如何实现的 或者 编译器 解析器 如何知道中
  • 循环遍历多维数组

    我有一个与此类似的 JSON 文件 Pages Name Home Page index php admin Name Admin Page admin index php Template admin MobileTemplate adm
  • 在 Clojure 中退出 Recur 循环

    我想跳出下面的循环 并在第 10 行计算结果为 true 时返回最佳最小移动 我查看了 print 语句的输出 当第 10 行的计算结果为 true 时 它 找到了我正在查找的数据 但仍然重复出现 在 Clojure 中 有没有办法在语句计
  • 迭代 div 内的输入

    我试图通过 jQuery 迭代放置在特定 div 上的所有输入 但没有响应 我无法使用警报查看输入的值 我究竟做错了什么
  • 如何在 R 中创建循环来生成随机样本列表?

    我正在尝试创建一个循环来创建一系列包含随机样本的对象 如下所示 sample lt ceiling runif 9 min 0 max 20 这是圆形制服的示例 但它可以替换为普通 泊松或任何您想要的 因此 我构建了一个循环来自动生成各种生
  • 如果按下 Esc 则中断循环

    我用 JAVA 语言编写了一个程序 它使用 Scanner 类接受来自控制台的输入 现在我想将此功能添加到我的代码中 以便在用户按下 Esc 按钮时存在循环 while 到目前为止 我认为键盘类可以帮助我 但它就像扫描仪一样 我尝试使用事件
  • 强力查询历年产品利润对比

    我有一个数据集 其中包含公司 产品 利润和年份 公司每年都会销售少量产品并获得利润 公司没有必要在明年销售相同的产品 他们可能会省略以前的产品并添加新的少量产品 我只想对两年的产品进行逐个比较 如下所示 我的数据集是 Company Pro
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • PostgreSQL:使用for循环迭代表行,根据当前行检索列值

    我有以下2张表 CREATE TABLE salesperson t salespersonid numeric 4 0 NOT NULL salespersonname character varying 25 salespersonte
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • 通过 Python 循环浏览网络上的目录并显示其内容(文件和其他目录)

    同样的道理在Python中处理从源目录到目标目录的一组文件 https stackoverflow com questions 2593399 process a set of files from a source directory t

随机推荐

  • 如何使用Lua脚本语言打开Web套接字?

    作为初学者 我想在基于 Linux 的服务器上使用 Lua 打开一个 Web 套接字 该服务器应允许 Android 客户端连接到它 你能给我一些用Lua打开网络套接字的示例代码吗 您两周前已经问过同样的问题并得到了回答 LUA 脚本 We
  • 在 html5 Canvas 上移动对象

    我使用 fillText 选项在 html5 canvas 对象上放置了一个文本 问题是我需要移动文本位置或更改已渲染文本的颜色 很快我需要知道如何操作画布元素的特定子元素 这将在画布上移动一个小圆圈 var can document ge
  • 为什么 ng-bind-html 不显示任何内容?

    我正在显示一个包含 HTML 代码的字符串 div style font size 14px div put 它显示 HTML 代码而不是解释元素 当我使用ng bind and ng bind unsafe 它什么也没显示 如何获取要解析
  • 使用 df.merge 填充 df 中的新列给出奇怪的匹配

    我刚刚发现导致此问题的 2 个问题 请参阅下面的解决方案 我想基于另一个数据帧在我的数据帧 df 中创建一个新列 基本上 df2 包含我想要插入 df 的更新信息 为了复制我的真实情况 gt 1m 行 我将用简单的列填充两个随机 df 我使
  • 如何使用app.config.from_envvar? (烧瓶)

    如何使用app config from envvar 我查看了 Flask 文档并搜索了这个主题 我所知道的就是这样做 DATABASE flaskr db DEBUG True SECRET KEY development key app
  • 在 iOS 中将电子邮件/密码保存到钥匙串

    我对 iOS 开发非常陌生 所以如果这是一个新手问题 请原谅我 我的应用程序有一个简单的身份验证机制 它需要用户的电子邮件地址和密码 我还有一个开关 上面写着 记住我 如果用户打开该开关 我想保留他们的电子邮件 密码 以便将来可以自动填充这
  • 确定设备公网ip

    有谁知道如何获取 Android 设备的公共 IP 地址 我正在尝试运行服务器套接字 只是尝试简单的 p2p 这需要告知本地和远程用户彼此的公共IP 我确实找到了这个线程如何从代码中获取设备的IP地址 https stackoverflow
  • Perl:比较两个 CSV 文件并打印差异

    我是 Perl 的菜鸟 而且我很难完成这件事 我有两个单列 CSV 文件 我正在尝试将差异打印到第三个文件 File1 123 124 125 126 File2 123 124 127 Expected Output 125 126 12
  • 托管 clr 并捕获线程异常

    我正在尝试编写一个可以加载托管插件的插件系统 如果出现任何异常 主机应该能够卸载插件 对于我的 poc 我有一个 C 示例代码库 它会抛出这样的异常 public static int StartUp string arguments Co
  • @property 的详细名称

    我有一个 property called name in my class Person models Model first name models CharField Given name max length 255 last nam
  • 没有静态方法dispatchUnhandledKeyEventPre

    每当我按下后退按钮或菜单按钮时 我的应用程序就会崩溃 我正在使用 androidx 和 kotlin 下面是我的日志猫 07 06 18 47 25 538 22303 22303 com mnkafe mnkafe E InputEven
  • 如何获取其键与给定正则表达式匹配的哈希元素?

    如何获取其键与给定正则表达式匹配的哈希元素 不使用任何模块 例如 Tie Regexp Hash 如何实现这一目标 s as2 queen gt 1 as1 queen gt 2 my regex qr queen if s regex p
  • 带分号的元刷新

    我在网址中使用分号作为查询字符串分隔符 而不是和 我的问题是 当我尝试对查询字符串中带有分号的 url 进行元刷新时 它会将其转换为 253b 因此 转发时 我无法读取查询字符串参数 因为分隔符不再存在 例子 http domain com
  • 使用 facebook graph api 获取 Instagram 自己的/自我提要

    我对使用 Instagram API Graph API 很陌生 但找不到问题的答案 由于 Instagram API 已被弃用 现在我们必须处理 instagram facebook graph API 我知道新程序 https deve
  • 读取 csv 文件并使用 php 创建另一个 csv 文件

    我有一个 csv文件 当我通过记事本打开它时 它看起来像 ID501501503502 当我通过 php 在浏览器中打印它时 它看起来像 ID 501 501 503 502 我的代码是 handle fopen MonC1 csv r d
  • ASP.NET Core DbContext 注入

    我有一个ConfigurationDbContext我正在尝试使用 它有多个参数 DbContextOptions and ConfigurationStoreOptions 如何将此 DbContext 添加到 ASP NET Core
  • getDrawingCache 未更新

    我在 onDraw 函数中调用 getDrawingCache 问题是它仅在第一次包含对画布的更改 此后 它根本不会随着新更改而更新 这是我的代码 paintAction draw canvas if paintAction isPerma
  • SLF4J 最佳实践

    我正在编写一个库 并使用 sfl4j 来处理日志记录 我认为只要每个机构都可以提供自己的实现 那么我的应用程序提供的日志将得到正确处理 这是个好主意 但我不知道是否必须提供实现作为传递依赖项 示例 如果我只提供
  • ListView 的 EditItemTemplate 内的 AsyncFileUpload

    我在处理时遇到问题AsyncFileUpload控制在一个EditItemTemplate in a ListView 我如何引用AsyncFileUpload处理时控制OnUploadedComplete代码隐藏文件中的事件 我知道我可以
  • 电源查询循环

    我使用 Power Query 提取了过去一个月测试的所有独特项目类型 let Source Sql Database XXX YYY dbo tblTest Source Schema dbo Item tblTest Data Filt