事实表列的缩减版本是:
id [substitute Pk guid], TestNo, DrugGroupId, Positive
其中 DrugGroupId 引用测量表 id、DrugGroup、Drug、Result
正列定义为
when Result != 'negative' then 1 else 0
DrugGroup 的例子是
- [guid],安非他明,安非他明,阴性
- [指导],安非他明,安非他明,安非他明
- [指导],苯丙胺,甲基苯丙胺,甲基苯丙胺
- [guid], 大麻素, 大麻素, 阴性
- [guid],大麻素,大麻素,阳性
我有一个计算过的度量值,即 Sum(Postive) 和事实表 Count 之间的简单比率
[Measures].[Positive] / [Measures].[Count]
然而,我的数据的怪癖是事实表中任何给定的 TestNo 都不是只有一行。
因此,如果结果是否定的,则有 1 行,但是有些药物将有多个正行,每个“药物”在“药物组”下都有一个所以如果数据被非规范化到一个表中,它看起来像
- [guid],Test1,安非他明,安非他明,阴性
- [guid],Test2,苯丙胺,甲基苯丙胺,甲基苯丙胺
- [guid],Test2,安非他明,安非他明,安非他明
- [guid],Test1,大麻素,大麻素,阳性
- [guid],Test2,大麻素,大麻素,阴性
请注意,只有在没有对该“药物组”(即大麻)的详细分类时才允许使用“阳性”“药物”
鉴于上面的示例数据,我的比率度量(使用层次结构)将计算(显示在 SharePoint 性能点分析网格报告中)
- [药物组、药物、结果]、阳性、计数、比率
- [全部], 3, 5, 60%
- [安非他明], 2, 3, 33%
- [安非他明], 1, 1, 100%
- [甲基苯丙胺], 1, 1, 100%
- [大麻素], 1, 2, 50%
- [大麻素], 1, 2, 50%
如您所见,在“DrugGroup”级别计算的比率不正确,因为多个阳性被过度计算,并且在“Drug”级别我只能得到 100% 的药物,除非它们的结果仅为“pos/neg”。
如何构建数据以便在汇总时正确计算结果或创建可以解决问题的比率度量?