我需要用 dax 计算按比例分配的值。 我有 2 张桌子:
日历表:包含日期和工作天数
日期 | 工作天数 |
---|---|
2024年1月4日 | 0 |
2024年2月4日 | 1 |
2024年3月4日 | 1 |
2024/04/04 | 1 |
2024年5月4日 | 1 |
2024年6月4日 | 0 |
2024年7月4日 | 0 |
2024/08/04 | 1 |
2024年9月4日 | 1 |
2024年4月10日 | 1 |
11/04/2024 | 1 |
4月份我们有21个工作日
目标表:包含按日期列出的目标值。
对象日期 | 对象 |
---|---|
2024年5月4日 | 200 |
2024年6月4日 | 150 |
2024年7月4日 | 50 |
2024年4月10日 | 300 |
2024年4月12日 | 788 |
2024年4月15日 | 450 |
16/04/2024 | 325 |
2024年4月18日 | 6510 |
2024年4月19日 | 20 |
2024年4月22日 | 241 |
2024年4月24日 | 178 |
我需要计算当月的比例: 除 ((sum(obj) , sum(工作天数))*sum(从当月第一天到今天的工作天数)
对于这个例子:
除 (6212 , 21)*20 = 5916,19
这是您正在寻找的东西吗?我创建了一个名为 ProRate_02 的新度量,它基本上使用给定月份的过滤器上下文(您也可以选择一个月或当月)根据一个月内的工作日数与实际过去的天数。
ProRate_02 =
VAR ObjectiveSum = SUM(ObjTable_02[Obj])
VAR TotalWorkingDays = SUM(CalendarTable_02[Days worked])
-- Get full days worked
VAR CurrentDay = TODAY()
VAR _EndOfMonth = MAX(CalendarTable_02[Date])
VAR MonthComplete = IF(CurrentDay > _EndOfMonth, 1, 0)
VAR FullDaysWorked =
IF(MonthComplete,
TotalWorkingDays,
CALCULATE(SUM(CalendarTable_02[Days worked]), FILTER(CalendarTable_02, CalendarTable_02[Date] < CurrentDay))
)
RETURN DIVIDE(ObjectiveSum, TotalWorkingDays) * FullDaysWorked
该措施的作用如下:
附加信息:
我的结果: 结果表
我的数据模型:数据模型