DAX 取消度量(取消日期与预订日期)

DAX Measure for Cancellations (Cancel Date vs. Book Date)

我有一个 'Reservations' table 看起来像这样;

Reservation ID Book Date Status Cancel Date Booking Flag
1234 2021-01-01 Active 1
5678 2021-01-01 Active 1
9101 2021-01-01 Cancelled 2021-01-02 1
1121 2021-01-02 Cancelled 2021-01-04 1
3141 2021-01-02 Active 1

'Book Date' 列与日历 table 通过处于活动关系。日期列。目前的措施是这样的;

Gross Bookings:SUM(Booking Flag)
Cancellations:CALCULATE([Gross Bookings],'Reservations'[Status]="Cancelled")
Net Bookings:[Gross Bookings]-[Cancellations]

我希望能够制作出这样的table;

Date Gross Bookings Cancellations Net Bookings
2021-01-01 3 0 3
2021-01-02 2 1 1
2021-01-03 0 0 0
2021-01-01 0 1 -1

但我得到的是这样的,因为 'Cancel Date' 在措施中没有被理解;

Date Gross Bookings Cancellations Net Bookings
2021-01-01 3 1 2
2021-01-02 2 1 1
2021-01-03 0 0 0
2021-01-01 0 0 0

我如何使用 DAX 改变我的取消措施,使其与正确的取消日期相对应,同时仍然尊重我的日期关系?

我相信现在已经解决了,方法是在 'Cancel Date' 和日历日期 table 之间创建一个非活动关系,然后将此 DAX 用于取消措施;

CALCULATE([Gross Bookings],'Reservations'[Status]="Cancelled",USERELATIONSHIP('Reservations'[Cancel Date],'Calendar'[Date]))

这似乎是在做预期的输出,有待进一步测试。值得注意的是,我必须在取消日期空值中填充预订日期,以创建关系。