excel - Excel Power Query M语言中的条件最大值?
问题描述
我面临MAXIFs
在 Power Query M 语言中重用简洁 Excel 公式的问题。公式本身包含关于表 2 中的列的几个条件和表 1 中的感兴趣值 (VOI)(两者都是 Excel 表对象)。
表1中的公式:
=MAXIFS(Table2[columnA],Table2[columnB],"criteriaB1",Table2[columnC],[@[VOI]],Table2[columnA],"<="&MINIFS(Table2[columnA],Table2[columnB],"criteriaB2",Table2[columnC],[@[VOI]])
(我将公式分成几行以方便阅读)
=MAXIFS(Table2[columnA],
Table2[columnB],"criteriaB1",
Table2[columnC],[@[VOI]],
Table2[columnA],"<="&MINIFS(Table2[columnA],
Table2[columnB],"criteriaB2",
Table2[columnC],[@[VOI]])
到目前为止,我一直在尝试将 Table1 与 Table2 合并,按一些列进行分组,但结果我收到了我无法/不知道如何在后续步骤中使用的大块数据。我根本看不到 Power Query M 语言的完整过程。
任何帮助,将不胜感激。
解决方案
相应的想法是在过滤表上取最大值。
例如,该MINIFS
部分大致如下所示:
MinA =
List.Min(
Table.SelectRows(
Table2, each [ColumnB] = "criteriaB2" and [ColumnC] = "VOI"
)[ColumnA]
)
它变得有点棘手,因为您需要将当前行值传递给Table1[VOI]
第二个条件,但它仍然可行并且可能看起来像这样:
AddMinAColumnToTable1 =
Table.AddColumn(
Table1, "MinA",
(Tab1Row) =>
List.Min(
Table.SelectRows(
Table2, each [ColumnB] = "criteriaB2" and [ColumnC] = Tab1Row[VOI]
)[ColumnA]
)
)
我建议阅读这篇博文,以便更好地理解each
和(_) =>
结构。
推荐阅读
- r - 标记基于参数的记录第一次出现在 r 数据框中
- django - Django网站中的语音集成
- python - 如何使用 python 从谷歌驱动器访问本地文件?
- r - 由于 curl 编译失败,无法在 Fedora 27 的 R v3.4.3 中安装 devtools
- javascript - 使用 Node 处理一个表单的多个提交版本
- azure - 如何让 CosmosDB 模拟器在机器启动/重启时自动启动
- android - 将复选框标题和状态存储为 JSON
- devops - 使用 NOLIO 运行 sql 脚本的最佳方式是什么?
- angular - 使用正文参数从 Angular 4 调用 rest
- function - 将较少的“for循环”转换为scss“for循环”