DAX中CURRENTGROUP()函数对应的SQL等效写法是什么
等效SQL实现
你给出的DAX逻辑是按Region字段分组,完成两个聚合计算:组内Quantity求和、组内最早Availability日期取值,对应的标准SQL写法如下:
SELECT Region, SUM(Quantity) AS "Total Quantity", MIN(Availability) AS "First Available" FROM `Table` GROUP BY Region;
逻辑对应说明
- DAX中
GROUPBY('Table',[Region], ...)指定按Region维度分组,和SQL里FROM 目标表 GROUP BY Region的分组逻辑完全匹配 - DAX里
sumx(CURRENTGROUP(),[Quantity])遍历当前分组所有行累加Quantity值,和SQL聚合函数SUM(Quantity)计算结果一致 - DAX里
MinX(CURRENTGROUP(),[Availability])取当前分组内Availability的最小值(即最早的日期),和SQL聚合函数MIN(Availability)逻辑完全一致
注意:
Table是多数SQL方言的保留关键字,如果你的表名确实为Table,需要根据使用的数据库做转义:MySQL用反引号包裹,SQL Server用方括号包裹,PostgreSQL/Oracle用双引号包裹即可。
内容的提问来源于stack exchange,提问作者the_current_thing
相关产品推荐
相关产品推荐

