这个问题已经困扰我很长时间了。我正在寻找最好的方法来生成每个患者当前手头的报告。
理想情况下,我希望能够显示最近30天的库存。
模式当前类似于下面的内容。目前该表只存储一种类型的产品,但我最终将向其中添加一个productId。目前,每个条目都是一个唯一的实例。我想把每个病人每天的药瓶数量和药量加起来。
[BottleId] [int] IDENTITY(1,1) NOT NULL,
[PatientId] [int] NOT NULL,
[VolumeInMl] [float] NOT NULL, --volume of the bottle
[CreatedDT] [datetime] NOT NULL, -- This is when the item came into inventory
[PickedForDate] [date] NULL -- this is the date the bottle left inventory
我想我必须将其转换为另一种表示,但我正在寻找有关这可能是什么的建议,以及我是否可以完全在PowerBI服务中完成它,或者需要在SQL Server端进一步处理它。我的偏好是将转换卸载到PBI。
想出今天的库存是非常简单的。我只是通过PatientId总结瓶子,其中PickedForDate为空。从历史上看,我发现它要复杂得多。
编辑:@siggemannen很好地添加了我想要的输出。
对于历史水平,我希望能够绘制患者的每日或每月值。所以我认为最好有这样的数据:
patientID | 日期 | volumeInStock | 1 | 1月/1/2020 | 1234 | 2
---|---|---|
1月/1/2020 | 55 | |
1月/2/2020 | 1000 | |
1月/2/2020 | 341 | |
3 | 1月/3/2020 | 15 |
编辑了上面的帖子,但在这里也回答了这个问题。
我想我可能已经找到了将这些数据转换为更易于报告的格式的方法。我想,如果我能得到一件商品在库存的每一天的一行,那么我就可以按PatientId和Date分组求和/计数。
这篇文章对我帮助很大(https://community.powerbi.com/t5/Desktop/Create-rows-for-every-date-in-date-range/m-p/733811/highlight/true#M353977)。
它说创建一个自定义列,其中包含特定日期之间的所有日期,然后将该列展开为新行。
这是添加新列的公式。=列表。日期([的],Number.From([到]-[的])+ 1,#持续时间(1,0,0,0))
我一直在研究这条路,这似乎绝对是我的解决方案。