excel - Office 365 Excel 中 Power Pivot 计算列中正确的 DAX GROUPBY 语法是什么
问题描述
以下语法输入到 Excel(Office 365 版本)中 powerpivot 中下面提供的表访问的计算列公式中:
=GROUPBY(
Visits,
[Patient Name],
"First_Visit_Date",
MINX(CURRENTGROUP(), Visits[Visit_Date])
)
产生错误:
The expression refers to multiple columns. Multiple columns cannot be
converted to a scalar value.
使用 Excel 中嵌入的 PowerPivot 将计算列“First_Visit_Date”添加到下面描述的简单源表访问表以到达下面还列出的目标表时,正确的 DAX GROUPBY 语法是什么:
源表(访问):
Patient_Name, Visit_Date, Duration Sue, 8/10/2017, 60 Sue, 8/12/2017, 20 Sue, 8/20/2017, 15 Bill, 9/ 1/2018, 90 Bill, 10/ 1/2018, 90 Sally, 5/22/2016, 30 Sally, 5/30/2016, 30
目标表:
Patient_Name, Visit_Date, Duration, Calculated Column 1 Sue, 8/10/2017, 60, 8/10/2017 Sue, 8/12/2017, 20, 8/10/2017 Sue, 8/20/2017, 15, 8/10/2017 Bill, 9/ 1/2018, 90, 9/ 1/2018 Bill, 10/ 1/2018, 90, 9/ 1/2018 Sally, 5/22/2016, 30, 5/22/2016 Sally, 5/30/2016, 30, 5/22/2016
解决方案
您的语法看起来不错,但您可能没有意识到GROUPBY
输出的是一个表,而不是一个标量值。
如果您将其作为新表而不是计算列输入,这就是您的 DAX 返回的内容:
对于计算列,您只需要这样的 DAX 公式:
CalcCol =
CALCULATE(
MIN(Visits[Visit_Date]),
ALLEXCEPT(Visits, Visits[Patient_Name])
)
或像这样:
CalcCol =
MINX(
FILTER(
Visits,
Visits[Patient_Name] = EARLIER(Visits[Patient_Name])
),
Visits[Visit_Date]
)
推荐阅读
- python-3.x - sys.excepthook 不返回异常
- javascript - JINT 转换字典
转 JSON 字符串 - google-sheets - 基于索引和匹配变量的动态下拉列表
- r - R:处理表情符号并将其转换为规范形式
- regex - 用于匹配 3 个字母和 1-2 位数字的正则表达式
- javascript - 本地安装的 PDF.JS 不呈现
- c++ - 将成员变量保存在智能指针中以及显式定义的析构函数的重要性
- python - 如果 x 是 ord(ch) 的倍数,如何在新字符串中包含字符?
- postgresql - 如果条件满足,PostgreSQL 删除行,否则更新一些值
- javascript - 如何设置单个字段以使用电子邮件或电话验证?