如何计算 DAX 中的每日人口并能够按列对其进行切片
How to calculate daily population in DAX AND be able to slice it by columns
更新问题:
我正在尝试使用患者的预约日期(开始日期)和他们的出院日期来计算我们中心在任何给定日期的每日患者人数——使用 DAX 和 Power Pivot。我计划在 PowerBI 中使用它。
我正在使用两个 table:1) 一个主 table 患者数据包含预订日期、发布日期、性别、提供者和种族的列,以及 2) 一个日期table(日历)并在两个 table 之间建立了关系。日期 table 是日期维度。
根据针对我最初问题的建议,我使用以下公式在日历 table 中创建了一个计算列。
PatientCount :=
SUMX (
Patients,
IF (
Patients[Booking Date] <= 'Calendar'[Date]
&& Patients[Release Date] >= 'Calendar'[Date],
1,
0
)
)
然后我创建了一个聚合度量来计算平均每日人口。这行得通;但是,使用这种方法我无法弄清楚如何按患者 table 列(例如性别、提供者、种族)对其进行切片,因为计算出的列在日历 table.
中
基于此测试数据:
和一个与 'Patients'[Adm] 具有 1:* 关系的日历 table,您可以编写以下度量:
Active Patients =
var currentDate = MAX('Calendar'[Date])
return
MAXX(
DISTINCT('Calendar');
CALCULATE(
COUNTROWS('Patients');
ALLEXCEPT(Patients; Patients[Gen]); //Add all columns you will slice on
Patients[Adm] <= currentDate;
Patients[Rel] >= currentDate
)+0
)
你可以制作这个table:
也可以按性别分割:
更新问题: 我正在尝试使用患者的预约日期(开始日期)和他们的出院日期来计算我们中心在任何给定日期的每日患者人数——使用 DAX 和 Power Pivot。我计划在 PowerBI 中使用它。
我正在使用两个 table:1) 一个主 table 患者数据包含预订日期、发布日期、性别、提供者和种族的列,以及 2) 一个日期table(日历)并在两个 table 之间建立了关系。日期 table 是日期维度。
根据针对我最初问题的建议,我使用以下公式在日历 table 中创建了一个计算列。
PatientCount :=
SUMX (
Patients,
IF (
Patients[Booking Date] <= 'Calendar'[Date]
&& Patients[Release Date] >= 'Calendar'[Date],
1,
0
)
)
然后我创建了一个聚合度量来计算平均每日人口。这行得通;但是,使用这种方法我无法弄清楚如何按患者 table 列(例如性别、提供者、种族)对其进行切片,因为计算出的列在日历 table.
中基于此测试数据:
和一个与 'Patients'[Adm] 具有 1:* 关系的日历 table,您可以编写以下度量:
Active Patients =
var currentDate = MAX('Calendar'[Date])
return
MAXX(
DISTINCT('Calendar');
CALCULATE(
COUNTROWS('Patients');
ALLEXCEPT(Patients; Patients[Gen]); //Add all columns you will slice on
Patients[Adm] <= currentDate;
Patients[Rel] >= currentDate
)+0
)
你可以制作这个table:
也可以按性别分割: