powerbi - 每日医院普查:汇总为每个日期过滤的表格
问题描述
我试图计算一天有多少病人在医院里,以及在哪个临床科室和专科。
有一张“患者流”表,其中包含患者住院期间的所有路径。
我可以使用另一个表“患者入出日期”来计算此度量,其中我过滤了(入职日期 < 日期参考)和(出日期 >= 日期参考或出日期 = 空)。
但是,这样我无法确定该患者的正确临床科室和专业。
例如:病人
2019 年 3 月 13 日 - 不应计算在内
03/14/2019 - 应计入临床:UNIDADE CORONARIANA 和专业:CARDIOLOGIA
03/15/2019 - 应计入临床:UNIDADE CORONARIANA 和专业:CARDIOLOGIA
03/16/2019 - 应计入临床:CIRÚRGICA III 和专业:CARDIOLOGIA
03/17/2019 - 应计入临床:CIRÚRGICA III 和专业:CARDIOLOGIA
2019 年 3 月 18 日 - 不应计算在内
我试图创建一个索引并获得入学和入学转移之间的最大值(表最后一个条目),但不能每天都这样做。
是否可以在每个参考日期的过滤表(之前的录取和条目)中进行摘要?
还是另一种解决方案?
提前致谢!
Pbix 文件https://www.dropbox.com/s/bqhyj4gihb5g4la/Daily%20hospital%20census.pbix?dl=0
卡西奥·A·安德拉德
解决方案
这是我能够创建的解决方案。(工作 pbix 可以从这里下载)
1. 转型
我使用 PowerQuery 将原始的“Patient Flow”表转换为一个新表(名为“Patient Attendance”),如下所示。
在这个转换后的表格中,每一行代表患者在临床科室的就诊情况。患者可以因“入院”或“进入转移”而进入临床科室,也可以因“输出转移”、“医疗出院”或“死亡”而离开科室。每行有两个时间戳;当病人进出科室时。
请注意,在收集数据时,患者可能仍在科室。在这种情况下,该患者的退出时间戳为空白。
2. 建模
我创建了一个数据模型,它是一个星型模式,由上面所示的一个事实表PatientAttendance
和 3 个维度表Clinics
、Specialties
和组成Patients
。此外,我们还有Calendar
维度表,它与其他表没有任何物理关系,但用于度量计算和切片。
然后,我在这个模型的基础上创建了一个衡量标准,计算在任何给定日期或时间段内有多少患者留在临床部门。计算逻辑的基本概念是,
- 查看每个患者。
- 查看每个日历日期。
- 如果患者在给定日期留在任何部门,则增加 1 个计数。
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 月初的太小数字,这是由于源数据的采样方法造成的)。如果我犯了任何错误,或者有任何更好的方法的建议,我很想听听。
推荐阅读
- python - 我正在尝试将帖子添加到帖子表并允许用户能够编辑帖子。而其他用户可以查看帖子并喜欢它
- c++ - 我应该在这个程序中使用静态还是动态内存分配?
- c# - c#:我需要帮助来为每个事件创建具有唯一文件名的唯一文本文件
- node.js - 如何使用护照蒸汽添加 JWT 身份验证
- mysql - 无法从 Golang 容器连接到 MySQL 容器
- rxjs - RxJs .first() 运算符(以及其他)是否完成了可观察的源?
- sql - 在 SQL Server 2014 中执行数据包含脚本时出现问题
- amazon-web-services - AWS Cognito 从 Lambda 将用户添加到组
- javascript - 来自 SharePoint 的数据被拉入 HTML 表格,然后被导出为 word,表格未完全显示
- godot - 为什么这个变量在 gdscript 中不断变为 false?