我正在计算"被占用房间的数量"每个日历日期。
所以,如果有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")
答案 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
表格中的日期范围进行比较。
请注意,您的示例中3/1/2017
的计算结果为4
,而不是3
。此外7/1/2017
没有预订,因此返回BLANK
,这就是它没有出现的原因。