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]
)