Powerbi 日期间隔内的剩余工作日
假设我有一个表,我想在其中创建一个列,在该列中,我计算与当前日期相关的日期间隔中的剩余工作日。这样的示例可能如下所示:Powerbi 日期间隔内的剩余工作日,powerbi,dax,Powerbi,Dax,假设我有一个表,我想在其中创建一个列,在该列中,我计算与当前日期相关的日期间隔中的剩余工作日。这样的示例可能如下所示: Id Date Start End Remaining +---+------------+------------+------------+-----+ | 1 | 01-01-2020 | 01-01-2020 | 31-12-2020 | 262 | +---+------------+------------+----
Id Date Start End Remaining
+---+------------+------------+------------+-----+
| 1 | 01-01-2020 | 01-01-2020 | 31-12-2020 | 262 |
+---+------------+------------+------------+-----+
| 1 | 02-01-2020 | 01-01-2020 | 31-12-2020 | 261 |
+---+------------+------------+------------+-----+
| 1 | 03-01-2020 | 01-01-2020 | 31-12-2020 | 260 |
+---+------------+------------+------------+-----+
| 1 | 04-01-2020 | 01-01-2020 | 31-12-2020 | 260 | <--- Weekend
+---+------------+------------+------------+-----+
| 1 | 05-01-2020 | 01-01-2020 | 31-12-2020 | 260 | <--- Weekend
+---+------------+------------+------------+-----+
| 1 | 06-01-2020 | 01-01-2020 | 31-12-2020 | 259 |
+---+------------+------------+------------+-----+
| 1 | 07-01-2020 | 01-01-2020 | 31-12-2020 | 258 |
+---+------------+------------+------------+-----+
Remaining Working Days =
VAR ID1 = Table1[ID]
VAR Date1 = Table1[Date]
VAR Work_Days = CALCULATE(COUNTROWS(Table1),FILTER(Table1,Table1[ID]=ID1),FILTER(Table1,WEEKDAY(Table1[Date]) in {2,3,4,5,6}),FILTER(Table1,Table1[Date]>=Date1))
RETURN Work_Days
Id日期开始结束剩余时间
+---+------------+------------+------------+-----+
| 1 | 01-01-2020 | 01-01-2020 | 31-12-2020 | 262 |
+---+------------+------------+------------+-----+
| 1 | 02-01-2020 | 01-01-2020 | 31-12-2020 | 261 |
+---+------------+------------+------------+-----+
| 1 | 03-01-2020 | 01-01-2020 | 31-12-2020 | 260 |
+---+------------+------------+------------+-----+
|1 | 04-01-2020 | 01-01-2020 | 31-12-2020 | 260 |也许是这样的:
Id Date Start End Remaining
+---+------------+------------+------------+-----+
| 1 | 01-01-2020 | 01-01-2020 | 31-12-2020 | 262 |
+---+------------+------------+------------+-----+
| 1 | 02-01-2020 | 01-01-2020 | 31-12-2020 | 261 |
+---+------------+------------+------------+-----+
| 1 | 03-01-2020 | 01-01-2020 | 31-12-2020 | 260 |
+---+------------+------------+------------+-----+
| 1 | 04-01-2020 | 01-01-2020 | 31-12-2020 | 260 | <--- Weekend
+---+------------+------------+------------+-----+
| 1 | 05-01-2020 | 01-01-2020 | 31-12-2020 | 260 | <--- Weekend
+---+------------+------------+------------+-----+
| 1 | 06-01-2020 | 01-01-2020 | 31-12-2020 | 259 |
+---+------------+------------+------------+-----+
| 1 | 07-01-2020 | 01-01-2020 | 31-12-2020 | 258 |
+---+------------+------------+------------+-----+
Remaining Working Days =
VAR ID1 = Table1[ID]
VAR Date1 = Table1[Date]
VAR Work_Days = CALCULATE(COUNTROWS(Table1),FILTER(Table1,Table1[ID]=ID1),FILTER(Table1,WEEKDAY(Table1[Date]) in {2,3,4,5,6}),FILTER(Table1,Table1[Date]>=Date1))
RETURN Work_Days
上述计算仅使用“Date”变量来获得所需的结果。其想法是计算当前日期之后的所有工作日,并对ID应用过滤器。希望这有帮助