创建DAX以计算Power BI中每个日历日期的占用空间数

时间:2017-03-06 09:40:28

标签: powerbi dax

我正在计算"被占用房间的数量"每个日历日期。

所以,如果有6个储备有不同的" DateIN"和" DateOUT"我可以计算出每天有多少房间。我通过使用列公式完成了这项工作 - 但我需要将其作为一种度量来进行切片过滤。

以下是我需要的一个简单示例:

BOOKINGID                     DateIN               DateOUT

000001                       01-01-2017          06-01-2017

000002                       01-01-2017          03-01-2017

000003                       02-01-2017          03-01-2017

000004                       03-01-2017          05-01-2017

000005                       08-01-2017          10-01-2017

DATE                     OCCUPIEDROOMS

01-01-2017                          2

02-01-2017                          3

03-01-2017                          3

04-01-2017                          2

05-01-2017                          2

06-01-2017                          1

07-01-2017                          0

08-01-2017                          1

09-01-2017                          1

10-01-2017                          1

这是我用来做列的公式:

  

OcupacionHL = CALCULATE(count(F_Reservas [Reservas]); FILTER(F_Reservas;   (F_Reservas [Fecha Inicio]< = D_Calendario [FECHA])&& (F_Reservas [日期星   Fin]> = D_Calendario [FECHA])); F_Reservas [酒店] ="酒店1")

这是我的数据模型的图像: data model

1 个答案:

答案 0 :(得分:2)

该计算的度量版本与您尝试的版本没有太大差别。

OcupacionHL =
CALCULATE (
    DISTINCTCOUNT ( F_Reservas[BookingID] ),
    FILTER (
        ALL ( F_Reservas ),
        MAX ( Calendario[Fecha] ) >= [DateIN]
            && MAX ( Calendario[Fecha] ) <= [DateOUT]
    )
)

只需使用MAX(Calendario[Fecha])在上下文中获取当前日期,您就可以使用它与F_Reservas表格中的日期范围进行比较。

enter image description here

请注意,您的示例中3/1/2017的计算结果为4,而不是3。此外7/1/2017没有预订,因此返回BLANK,这就是它没有出现的原因。