我是使用PowerPivot和DAX的新手,我正在寻找迄今为止我无法解决的常见问题的帮助 - >将实际数据/事实与预算和总计不匹配的总和进行比较。 这是模型 这就是预算数据的样子 实际数据(例如TY TW单位)来自Booking Details表,其具有与TicketTypeId,ResourceTypeId和DateId类似的列。 这是预订明细表。它没有DateId列,但链接的TripId列在其表中有一个指向日期的链接。
我们在资源类型层次结构和故障单类型层次结构的第1级设置了一个数据透视表 这是方差的公式:
TY TW Units v Budget Units TY TW $ :=
CALCULATE ( 'Booking Details'[TY TW UNITS] - [Budget Units TY TW] )
我们想要达到的目标是:
1)如果没有预算,请不要计算方差(TY TW UNITS v BUDGET UNITS TY TW $ Var)
2)Grand Total应计算为方差输出的总和
最后一点是最棘手的,因为我只能设法得到这个结果。
总计不正确,因为基础数据未被过滤,在这种情况下我不知道如何做到这一点
我在这种情况下使用的方差更新公式:
TY TW Units v Budget Units TY TW $ :=
CALCULATE (
IF (
ISBLANK ( [Budget Units TY TW] ),
BLANK (),
'Booking Details'[TY TW UNITS] - [Budget Units TY TW]
)
)
数据在资源或故障单类型的预订详细信息中具有空值(并非在所有情况下,但我觉得值得一提),但始终有日期ID。
非常感谢任何帮助
谢谢。
附:
这是我为TY TW预算单位制定的公式:
Budget Units TY TW :=
CALCULATE (
IF (
Parameters[Filter Calendar Type] = "Fiscal",
CALCULATE (
SUM ( 'Budgets'[Vehicles] ) + SUM ( 'Budgets'[Passengers] ),
Dates[Fiscal Year] = VALUES ( Parameters[Current Fiscal Year] ),
Dates[Fiscal Week] = VALUES ( Parameters[Current Fiscal Week] )
),
CALCULATE (
SUM ( 'Budgets'[Vehicles] ) + SUM ( 'Budgets'[Passengers] ),
Dates[Calendar Year] = VALUES ( Parameters[Current Calendar Year] ),
Dates[Calendar Week] = VALUES ( Parameters[Current Calendar Week] )
)
)
)
这是TY TW UNITS的公式:
TY TW UNITS :=
IF (
Parameters[Filter Calendar Type] = "Fiscal",
CALCULATE (
[TRAFFIC UNITS],
Dates[Fiscal Year] = VALUES ( Parameters[Current Fiscal Year] ),
Dates[Fiscal Week] = VALUES ( Parameters[Current Fiscal Week] )
),
CALCULATE (
[TRAFFIC UNITS],
Dates[Calendar Year] = VALUES ( Parameters[Current Calendar Year] ),
Dates[Calendar Week] = VALUES ( Parameters[Current Calendar Week] )
)
)
这取决于流量单位,其公式为:
TRAFFIC UNITS :=
CALCULATE ( SUM ( [UnitCount] ), 'Booking Details'[Checked In] = TRUE () )
答案 0 :(得分:0)
通过额外的措施解决了这个问题,这基本上就是差异。
Diff TY TW Units v Budget Units TY TW:=SUMX (
FILTER ( 'Booking Details', ISBLANK ( [Budget Units TY TW] ) ),
'Booking Details'[TY TW UNITS]
)
这是计算不正确的“旧”计算。
TY TW Units v Budget Units TY TW var:=CALCULATE (
'Booking Details'[TY TW UNITS] - [Budget Units TY TW],
FILTER (
'Budgets',
(
CALCULATE (
SUM ( 'Budgets'[Passengers] ) + SUM ( 'Budgets'[Vehicles] )
)
> 0
)
)
)
这两个在实际测量中汇集在一起,显示给用户。
TY TW Units v Budget Units TY TW $:=CALCULATE(
[TY TW Units v Budget Units TY TW var] + [Diff TY TW Units v Budget Units TY TW]
)