DAX实现按不含时间的日期对表列分组统计项目数量
方案1:直接生成符合要求的新计算表
你可以直接用SUMMARIZE函数搭配DATEVALUE函数实现按商品、纯日期维度分组求和,DAX语句如下:
汇总结果表 = SUMMARIZE ( '表A', '表A'[ITEM], "DATE", DATEVALUE('表A'[DATE]), "COUNT", SUM('表A'[COUNT]) )
说明:
DATEVALUE会自动提取日期时间类型的日期部分,丢弃时间信息,刚好匹配你要的去掉时间的分组需求,执行后生成的新表结构和你给出的预期结果完全一致。
方案2:在原表基础上用透视表展示结果
如果不需要独立生成新表,仅需在报表视图展示汇总结果,可以先给原表加一个纯日期计算列:
纯日期 = DATEVALUE('表A'[DATE])
再新建一个求和度量值:
总数量 = SUM('表A'[COUNT])
之后把ITEM、纯日期字段拖到透视表行区域,总数量拖到值区域即可得到目标结果。
特殊情况处理
如果你的DATE字段存储格式为文本而非日期时间类型,将上述用到的DATEVALUE('表A'[DATE])替换为以下代码即可:
DATEVALUE(LEFT('表A'[DATE],10))
说明:
LEFT函数会截取文本前10位的纯日期部分,再转成日期格式进行分组。
内容的提问来源于stack exchange,提问作者jjbox
相关产品推荐
相关产品推荐

