1

在星型模式的维度中对 37 个不同的属性/“检查点”(可以分级为通过/失败/不适用)进行建模的最佳方法是什么,其中事实表中的每一行都是针对检查点分级的通信问题?

TL;博士:

我开发了一个星型模式模型,其中事实表中的每一行都是一个单一的通信。这些通信经过一系列分级“检查”(例如“按时发布”、“正确的电子邮件主题”、“正确复制 XYZ 内容”等),每项检查都可以分级为“通过”、“未通过”、或“不适用”。

不同类型的沟通在不同的检查集上进行评分(例如,一种类型的沟通可能只在三张检查上评分,其余为“不适用”,而另一种沟通在 19 次检查上评分)。共有 37 个唯一检查。

我建立了一个“CommunicationGrading”类型 2 缓慢变化的维度,以方便报告哪些“检查”通信得分最差。该维度有 37 列,每个属性一列,每一行是属性的排列以及它们可以收到的分数(通过/失败/NA)。当一个新的排列可用时添加一个新行 - 不幸的是,填充所有可能的排列会返回数百万行,而这种方式小于 100 行,开销要少得多。我创建了 37 个单独的度量来汇总错过 37 个单独“检查”中每一个的通信的数量。

我可以在 PBI 中快速构建一个树形图,将 37 个度量拖到那里,查看错过每个“检查”的通信总数,并确定本月有 X 个通信错过了 Y 个检查点。当我想使用视觉作为切片器时,问题就出现了(例如,在树形图上选择一个检查/平铺以查看在树形图下方的表格中检查的单个通信错过了什么)或确定给定切片的前 N ​​个“检查”数据的。

据我所知,问题是因为我使用了 37 个不同的属性和度量,而不是一个属性和一个度量(我可以将单个度量拖到值中,将包含所有检查的单个属性/列拖到组字段中树图视觉)。问题是,我对如何最好地建模这个/分级维度感到困惑。是否需要将维度缩减为仅两列,一列用于检查,另一列用于检查的可能分数,然后创建一个桥接表来处理 M:M 关系?其他想法?

4

1 回答 1

0

您的维度(实现为垃圾维度 - 谷歌的东西)是这样做的一种方式,尽管如果沿着这条路走,我会将其分解为相关检查点的多个维度,以大量减少每个维度的排列。也不清楚为什么这需要是 2 型——你是否需要跟踪这个维度的历史?

但是,我建议探索的一种方法是在每个检查点为每个通信的分数提供一个新事实-您可以有一个维度的成绩结果(通过、失败、不适用)和每个检查点的一个维度(这只是检查点描述)。它还可以让您依靠这一事实,而不必有 37 种不同的措施。如果要保留一些汇总信息,您可能希望在通信级别保留一个事实,但这取决于您的要求。

于 2017-04-21T07:41:34.903 回答