我试着计算一天到另一天有多少病人在医院,以及在哪个临床部门和专科。
在他住院期间,有一张表格“病人流”,上面有所有病人的路径。
我能够用另一个表“病人输入-输出日期”来计算这个度量值,其中我过滤了(输入日期<日期引用)和(输出日期>=日期引用或OUT DATE = null)。
然而,这样我不能确定什么是正确的临床科室和这个病人的专业。
例如:病人

03/13/2019 -不应计算在内
03/14/2019 -应计入临床:统一临床和专科:心痛
03/15/2019临床中- should计数:合并心痛和特发性心痛
03/16/2019临床中- should计数:CIR RGICA III和特制:心痛
03/17/2019临床中- should计数:CIR RGICA III和特制:心痛
03/18/2019 -不应计算在内
我试图创建一个索引,并获得入学和入学转移之间的最大值(表最后一项),但不能每天都这样做。
是否有可能对每个参考日期在过滤后的表格(入学和之前的条目)中进行汇总?
还是另一个解决方案?
提前感谢!
Pbix文件https://www.dropbox.com/s/bqhyj4gihb5g4la/Daily%20hospital%20census.pbix?dl=0
卡西奥·A·安德拉德
发布于 2019-11-07 02:51:38
这是我能够创造的一个解决方案。(工作pbix可从这里下载)
1.转型
我使用PowerQuery将原始的“病人流”表转换为一个新的表(名为“病人出勤”),如下所示。

在这个转换的表中,每一行代表一个病人到临床部门就诊。病人可因“入院”或“进入转移”而进入临床部门,并可因“输出转移”、“医疗释放”或“死亡”而退出该部门。每一行都有两个时间戳;当病人进入,退出时,部门。
请注意,当收集数据时,病人可能仍然留在该部门。在这种情况下,该病人的exit时间戳为空白。
2.建模
我创建了一个数据模型,这是一个星型模式,由上面所示的一个事实表PatientAttendance和三维表Clinics、Specialties和Patients组成。此外,我们还有Calendar维度表,它与其他表没有任何物理关系,而是用于度量计算和切片。

然后,我在这个模型的基础上创建了一个度量,它计算出在任何一天或一段时间里,有多少病人住在临床科室。计算逻辑的基本概念是,
Patient-Days Stayed =
SUMX(
'Patients',
SUMX(
'Calendar',
IF(
CALCULATE(
COUNTROWS(
FILTER(
'PatientAttendance',
VAR CurrentDate = VALUES( 'Calendar'[Date] )
RETURN
'PatientAttendance'[Enter Timestamp].[Date] <= CurrentDate
&& (
ISBLANK( 'PatientAttendance'[Exit Timestamp] )
|| (
NOT( ISBLANK( 'PatientAttendance'[Exit Timestamp] ) )
&& 'PatientAttendance'[Exit Timestamp].[Date] > CurrentDate
)
)
)
)
) > 0, 1
)
)
)

结果看起来是正确的(1月初忽略太小的数字,这是由于源数据的抽样方法造成的)。如果我犯了什么错误,或者有任何更好的方法建议,我很有兴趣听到。
https://stackoverflow.com/questions/58677344
复制相似问题