为两个日期之间的行计算不同 table 中的值总和
Calculating the sum of values in a different table for rows that are between two dates
我有两个 table。
一个营地 table:
Campaign ID
Start Date
End Date
Daily Target
1
21/12/2020
15/02/2021
5
2
18/10/2020
18/01/2021
3
3
01/07/2020
03/01/2021
8
4
09/01/2021
15/05/2021
1
5
05/08/2020
09/01/2021
2
还有一个简单的日期 table:
Date
01/01/2021
02/01/2021
03/01/2021
04/01/2021
05/01/2021
06/01/2021
07/01/2021
08/01/2021
09/01/2021
10/01/2021
11/01/2021
12/01/2021
13/01/2021
我想要做的是向日期 table 添加一个计算列,该列将计算开始日期和结束日期之间的所有活动每日目标的总和。因此,对于 2021 年 1 月 1 日,我想计算活动 1、2、3 和 5 的每日目标总和。例如:
Date
Total Daily Target
01/01/2021
18
02/01/2021
18
03/01/2021
18
04/01/2021
10
05/01/2021
10
06/01/2021
10
07/01/2021
10
08/01/2021
10
09/01/2021
9
10/01/2021
9
11/01/2021
9
12/01/2021
9
13/01/2021
9
我对 DAX 很陌生,在 CALCULATE() 中尝试了 SUM()、SUMX() 和 FILTER() 的多种不同变体,但都无济于事。我也不知道两个 table 之间的关系应该是什么,因为活动 table 中有两个日期?任何帮助都将不胜感激。
试试下面这个 测量-
Measure =
var current_row_date = MIN('date'[Date])
RETURN
CALCULATE(
SUM(campaign[Daily Target]),
campaign[Start Date] <= current_row_date
&& campaign[End Date] >= current_row_date
)
输出-
我有两个 table。
一个营地 table:
Campaign ID | Start Date | End Date | Daily Target |
---|---|---|---|
1 | 21/12/2020 | 15/02/2021 | 5 |
2 | 18/10/2020 | 18/01/2021 | 3 |
3 | 01/07/2020 | 03/01/2021 | 8 |
4 | 09/01/2021 | 15/05/2021 | 1 |
5 | 05/08/2020 | 09/01/2021 | 2 |
还有一个简单的日期 table:
Date |
---|
01/01/2021 |
02/01/2021 |
03/01/2021 |
04/01/2021 |
05/01/2021 |
06/01/2021 |
07/01/2021 |
08/01/2021 |
09/01/2021 |
10/01/2021 |
11/01/2021 |
12/01/2021 |
13/01/2021 |
我想要做的是向日期 table 添加一个计算列,该列将计算开始日期和结束日期之间的所有活动每日目标的总和。因此,对于 2021 年 1 月 1 日,我想计算活动 1、2、3 和 5 的每日目标总和。例如:
Date | Total Daily Target |
---|---|
01/01/2021 | 18 |
02/01/2021 | 18 |
03/01/2021 | 18 |
04/01/2021 | 10 |
05/01/2021 | 10 |
06/01/2021 | 10 |
07/01/2021 | 10 |
08/01/2021 | 10 |
09/01/2021 | 9 |
10/01/2021 | 9 |
11/01/2021 | 9 |
12/01/2021 | 9 |
13/01/2021 | 9 |
我对 DAX 很陌生,在 CALCULATE() 中尝试了 SUM()、SUMX() 和 FILTER() 的多种不同变体,但都无济于事。我也不知道两个 table 之间的关系应该是什么,因为活动 table 中有两个日期?任何帮助都将不胜感激。
试试下面这个 测量-
Measure =
var current_row_date = MIN('date'[Date])
RETURN
CALCULATE(
SUM(campaign[Daily Target]),
campaign[Start Date] <= current_row_date
&& campaign[End Date] >= current_row_date
)
输出-