PowerPivot - DAX - 预算分析 - 总计不正确
PowerPivot - DAX - Budget Analysis - Grand Total not correct
我是 PowerPivot 和 DAX 的新手,我正在就一个我目前无法解决的常见问题寻求帮助 --> 将实际 data/facts 与预算和总计不匹配的总和进行比较线。
这是模型
这是预算数据的样子
实际数据(例如 TY TW 单位)来自预订详细信息 table,它具有与 TicketTypeId、ResourceTypeId 和 DateId 类似的列。
这是预订详情 table。它没有 DateId 列,但 linked TripId 列在其 table 中有一个 link 到日期。
我们在资源类型层次结构和票证类型层次结构的级别 1 中设置了一个枢轴 table。
这是方差的公式:
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) 总计应计算为方差输出的总和。
最后一点是最棘手的,因为我只设法得到了这个结果。
总数不正确,因为未过滤基础数据,在这种情况下我不知道该怎么做。
我在这种情况下使用的方差更新公式:
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。
非常感谢任何帮助。
谢谢。
P.S.
这是我为 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 单位的公式:
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 () )
通过额外的措施解决了这个问题,这基本上就是区别。
Diff TY TW Units v Budget Units TY TW:=SUMX (
FILTER ( 'Booking Details', ISBLANK ( [Budget Units TY TW] ) ),
'Booking Details'[TY TW UNITS]
)
这是计算不正确的 "old" 计算。
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
)
)
)
而这 2 个在显示给用户的实际尺寸中结合在一起。
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]
)
我是 PowerPivot 和 DAX 的新手,我正在就一个我目前无法解决的常见问题寻求帮助 --> 将实际 data/facts 与预算和总计不匹配的总和进行比较线。
这是模型
我们在资源类型层次结构和票证类型层次结构的级别 1 中设置了一个枢轴 table。
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) 总计应计算为方差输出的总和。
最后一点是最棘手的,因为我只设法得到了这个结果。
我在这种情况下使用的方差更新公式:
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。
非常感谢任何帮助。
谢谢。
P.S.
这是我为 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 单位的公式:
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 () )
通过额外的措施解决了这个问题,这基本上就是区别。
Diff TY TW Units v Budget Units TY TW:=SUMX (
FILTER ( 'Booking Details', ISBLANK ( [Budget Units TY TW] ) ),
'Booking Details'[TY TW UNITS]
)
这是计算不正确的 "old" 计算。
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
)
)
)
而这 2 个在显示给用户的实际尺寸中结合在一起。
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]
)