You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算选定范围内SMA(简单移动平均线)度量的最大值?

解决DAX计算SMA最大值返回1的问题

场景说明

数据表allDataCSV每行对应一条带日期的事件记录,已创建以下两个DAX度量:

  • 事件计数度量:
Count = COUNTROWS()
  • 5日简单移动平均线(SMA)度量:
CountSMA5Days = AVERAGEX(
        DATESINPERIOD(allDataCSV[Day],LASTDATE(allDataCSV[Day]),-5,DAY),
            [Count])

问题描述

尝试用以下公式计算SMA的最大值时,返回结果始终为1:

MaxSMA = MAXX(allDataCSV,[CountSMA5Days])

原因是直接遍历allDataCSV表时,会逐行(单条事件记录)计算CountSMA5Days,此时上下文是单个事件行,导致计算出的SMA结果为1。

正确解决方案

使用ALL(allDataCSV[Day])获取所有独立的日期值,遍历每个日期计算对应的SMA后取最大值,公式如下:

MaxSMA = MAXX(
    all(allDataCSV[Day])
    ,[CountSMA5Days]
)

内容的提问来源于stack exchange,提问作者Kaikus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:54:29