我有一个问题,那就是如何计算前一个工作日的总和。
这里是我的数据集:
Date Name Amount
16/09/20 A 10
17/09/20 A 10
17/09/20 B 30
18/09/20 A 50
21/09/20 A 20
21/09/20 B 60
22/09/20 B 50在我的仪表板中,我有一个筛选器来选择一个显示日期,我看到了今天的总和;上一个工作日和第二个前一个工作日。
所以当我把自己放在2020年9月17日的时候,我应该看到:
当我将自己置于2020年9月18日的日期时,我应该看到:
当我把自己放在2020年9月21日的时候,我应该看到:
在我的情况下,我找不到前一天的求和方法,使用计算或和,而前一天对我没有帮助。
提前感谢你的帮助,
发布于 2020-09-24 09:30:07
我刚找到了一个解决办法,我在这里发了一个帖子:
D组:
wd = SUM(data[Amount])D-1:
lwd =
var ad = DATEADD(data[Date];0;DAY)
var lwd = IF(
WEEKDAY(ad) = 1; //sunday
ad - 2;
IF(
WEEKDAY(ad) = 2; //monday
ad - 3;
ad - 1 //others
)
)
var sumLWD = CALCULATE(SUM(data[Amount]);data[Date]=lwd)
return sumLWDD-2:
l2wd =
var ad = DATEADD(data[Date];0;DAY)
var lwd2 = IF(
WEEKDAY(ad) = 2; //monday
ad - 4;
IF(
WEEKDAY(ad) = 3; //tuesday
ad - 4;
ad - 2 //others
)
)
var sumLWD2 = CALCULATE(SUM(data[Amount]);data[Date]=lwd2)
return sumLWD2谢谢你的帮助和时间。致以敬意,
发布于 2020-09-23 18:58:37
我强烈建议在模型中添加日期维度。这将使基于日期的分析更加容易。
这是我的第一次尝试。我以为只有星期六和星期天是假日。如果您需要考虑其他假期,则需要一个日期维度表。还请注意,我在ALL(Data)中使用了CALCULATE。这将删除应用于Data表的所有筛选器。
Output =
VAR _selectedDate =
MAX ( 'Data'[Date] )
VAR _selectedDateDay =
WEEKDAY ( _selectedDate )
VAR _selectedDateminus2 =
SWITCH (
TRUE,
_selectedDateDay = 2, _selectedDate - 4,
_selectedDateDay = 3, _selectedDate - 5,
_selectedDate - 2
)
RETURN
CALCULATE (
SUM ( 'Data'[Amount] ),
FILTER (
ALL ( 'Data' ),
'Data'[Date] <= _selectedDate
&& 'Data'[Date] >= _selectedDateminus2
)
)

发布于 2020-09-24 08:45:58
设定以下3项措施-
D_0 =
CALCULATE(
SUM('your_table_name'[Amount]),
FILTER(
ALL('your_table_name'),
your_table_name[Date] = SELECTEDVALUE(your_table_name[Date])
)
)D_1 =
CALCULATE(
SUM('your_table_name'[Amount]),
FILTER(
ALL('your_table_name'),
your_table_name[Date] = SELECTEDVALUE(your_table_name[Date]) - 1
)
)D_2 =
CALCULATE(
SUM('your_table_name'[Amount]),
FILTER(
ALL('your_table_name'),
your_table_name[Date] = SELECTEDVALUE(your_table_name[Date]) -2
)
)这是从切割机中选择日期为"18/09/20“的输出-

https://stackoverflow.com/questions/64030522
复制相似问题