创建 DAX 以计算 Power BI 中每个日历日期的已占用房间数
Create DAX to count number of occupied rooms per calendar date in Power BI
我正在计算每个日历日期 "Occupied rooms" 的数量。
所以如果说有 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[Fecha
Fin] >= D_Calendario[FECHA])); F_Reservas[Hotel] = "Hotel 1")
这是我的数据模型的图像:
该计算的度量版本与您尝试的没有太大区别。
OcupacionHL =
CALCULATE (
DISTINCTCOUNT ( F_Reservas[BookingID] ),
FILTER (
ALL ( F_Reservas ),
MAX ( Calendario[Fecha] ) >= [DateIN]
&& MAX ( Calendario[Fecha] ) <= [DateOUT]
)
)
只需使用 MAX(Calendario[Fecha])
获取上下文中的当前日期,您可以使用它与 F_Reservas
table.
中的日期范围进行比较
请注意,在您的示例中,3/1/2017
的计算结果是 4
而不是 3
。另外 7/1/2017
没有预订所以它 returns BLANK
这就是它没有出现的原因。
我正在计算每个日历日期 "Occupied rooms" 的数量。
所以如果说有 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[Fecha Fin] >= D_Calendario[FECHA])); F_Reservas[Hotel] = "Hotel 1")
这是我的数据模型的图像:
该计算的度量版本与您尝试的没有太大区别。
OcupacionHL =
CALCULATE (
DISTINCTCOUNT ( F_Reservas[BookingID] ),
FILTER (
ALL ( F_Reservas ),
MAX ( Calendario[Fecha] ) >= [DateIN]
&& MAX ( Calendario[Fecha] ) <= [DateOUT]
)
)
只需使用 MAX(Calendario[Fecha])
获取上下文中的当前日期,您可以使用它与 F_Reservas
table.
请注意,在您的示例中,3/1/2017
的计算结果是 4
而不是 3
。另外 7/1/2017
没有预订所以它 returns BLANK
这就是它没有出现的原因。