我对第3个月滚动平均值的度量有问题,无法在图表上正确地可视化它。
数据模型在这里:
https://docs.google.com/spreadsheets/d/1naChcuZtjSbk0pVEi1xKuTZhSY7Rpabc0OCbmxowQME/edit?usp=sharing
我正在使用以下公式通过一项措施来计算3个月平均值:
Product3Mth = CALCULATE(SUM('Table'[Product A uncum]);DATESINPERIOD('Table'[Date];LASTDATE('Table'[Date]);-3;MONTH))/3
当我将其绘制为表格时,它显示每个月的正确值。
但是当我将其与累积的产品A一起绘制在柱形图中时,我得到的值是错误的,该值是产品不合格/ 3的3个连续值之和的产品不合格/ 3的值。
我应该在DAX中进行哪些更改以使其正确可视化?请帮助
答案 0 :(得分:1)
在源数据中的日期格式和 中显示日期的格式方面,您似乎在这里偶然遇到了许多Power BI“陷阱”可视化中的“日期”列。但是我想我已经解决了。这是我的结果:
只是为了验证一些数字:
APP_ENV
这是详细信息:
我使用了该数据集,在其中稍加更改了名称,以使其更容易编写DAX表达式并使用(4043 + 20 + 158) / 3 = 1469
(189+ 200 + 207) / 3 = 199
Get Data
由于我仍然不知道的原因,我遇到了与Date unAcc ACc
01-10-2017 00:00 4043 4043
01-11-2017 00:00 205 4248
01-12-2017 00:00 158 4406
01-01-2018 00:00 142 4548
01-02-2018 00:00 312 4860
01-03-2018 00:00 258 5118
01-04-2018 00:00 176 5294
01-05-2018 00:00 210 5504
01-06-2018 00:00 189 5693
01-07-2018 00:00 200 5893
01-08-2018 00:00 207 6100
列相同的问题。但是按照Power BI community的一些技巧,我创建了一个 Date
,如下所示:
Date2
计算了三个月的平均值
Date2 =
DATE('Table1'[Date].[Year];'Table1'[Date].[MonthNo];1)
现在,如果您插入Moving_Average_3_Months =
CALCULATE (
AVERAGEX ( 'Table1'; 'Table1'[unAcc] );
DATESINPERIOD (
'Table1'[Date2];
LASTDATE ( 'Table1'[Date2]);
-3;
MONTH
)
)
并将column chart
分配给Date2
和Axis
以及Moving_Average_3_months
到unAcc
,则会得到这个:
那不是我们想要的。因此,转到可视化设置,将Values
从Date2
更改为简单的Date Hierarchy
,如下所示:
就是这样:
这是一个完整的表格,因此您可以看到数字是正确的:
对于您来说,也许唯一要做的就是最后一部分。
请不要犹豫,让我知道如何为您服务!
答案 1 :(得分:0)
我在最后一条评论中询问有关计算值(作为列或度量)的问题,因为基于此我有不同的结果,如下面的示例所示:
Product3Mth基于计算的列,而Product3Mth 2基于度量(您想要的结果!)。
希望此示例可以为您提供帮助。如果不能告诉我!
答案 2 :(得分:0)
DATESINPERIOD和LASTDATE函数将无法正常工作,因为'Table'[Date]不是连续的日期范围。这些功能需要基于日期表。
尝试这样的事情
Product3MthAVG =
VAR rowDate = 'Table'[Date]
RETURN
CALCULATE (
SUM ( 'Table'[Product A unaccum] );
FILTER (
'Table';
'Table'[Date]
< DATE ( YEAR ( rowDate ); MONTH ( rowDate ) + 1; DAY ( rowDate ) )
&& 'Table'[Date]
>= DATE ( YEAR ( rowDate ); MONTH ( rowDate ) - 2; DAY ( rowDate ) )
)
)
/ 3