Ssas 数据采集系统的事实表粒度

Ssas 数据采集系统的事实表粒度,ssas,Ssas,我在全国各地部署了一个数据采集系统网络。每个系统都在测量不同建筑的性能。每个系统进行温度、流量、速度、能量和其他类型的测量。采样率因系统而异;它可以低至5秒,高至15分钟 我的目标是将所有数据存储在SSAS数据库中,以便进行分析。然而,我正在努力确定合适的粒度和相关事实表以及SSAS度量值/度量值组设计 我的第一个问题是,以下任何一种都有相同的纹理吗 具有不同单位的数据值,例如温度和能量值 具有不同采样率的数据值,例如每分钟采样的温度值和每15分钟采样的温度 不同建筑物记录的数据值,如1号建筑

我在全国各地部署了一个数据采集系统网络。每个系统都在测量不同建筑的性能。每个系统进行温度、流量、速度、能量和其他类型的测量。采样率因系统而异;它可以低至5秒,高至15分钟

我的目标是将所有数据存储在SSAS数据库中,以便进行分析。然而,我正在努力确定合适的粒度和相关事实表以及SSAS度量值/度量值组设计

我的第一个问题是,以下任何一种都有相同的纹理吗

  • 具有不同单位的数据值,例如温度和能量值
  • 具有不同采样率的数据值,例如每分钟采样的温度值和每15分钟采样的温度
  • 不同建筑物记录的数据值,如1号建筑物的室内温度和2号建筑物记录的室内温度
  • 附加数据值(如能量)和非附加数据值(如温度)
  • 在特定建筑中使用相同单位进行的两种不同测量,例如一楼温度和二楼温度
如果大多数或所有这些示例没有相同的粒度,这是否意味着每个建筑的度量值都应该在关系数据仓库中有一个单独的事实表,在SSAS数据库中有一个单独的度量值?如果是的话,那么如果我们假设我正在研究10栋建筑,每栋建筑有100个测量值,那么我会考虑1000个测量值。这似乎不正确,但似乎我正在处理一个具有许多不同度量粒度的数据模型

我发现的几乎所有例子都与金融或零售业有关,其中包括明显具有相加性或可计数性的指标,如美元金额或项目。因此,这些例子没有多大帮助。

  • 如果使用所有维度(时间、建筑等)的相同交点收集不同单位的数据值,则这些数据值可以具有相同的粒度。在本例中,温度值和能量值将是事实表中的独立列。不建议使用单个事实列来表示不同单位的测量值

  • 如果您需要能够同时报告两个时间间隔,则具有不同采样率的数据值不会处于同一粒度。但是,如果您可以在更细粒度的时间间隔上标准化您的报告,那么您可以简单地将更粗粒度的值复制到更细粒度的行中。例如,您可以有一个TemperaturePerMinute列和一个TemperaturePer15Minute列,其中15分钟间隔值在该间隔内的所有分钟值上重复。但是,在报告粗粒度列时,使用聚合(计数等)时需要小心。此外,如果需要深入到示例级别,则可能需要为每个间隔类型使用单独的事实表

  • 不同建筑物的数据值当然可以以相同的粒度记录在一个事实表中。您只需拥有一个建筑维度,链接到每个度量样本的事实表即可

  • 在OLAP模型中,度量值通常是相互独立的,因此加法值和非加法值可以在同一粒度上表示为单独的列

  • 在本例中,您将扩展建筑维度以包括楼层层次结构,并在楼层纹理处链接事实表记录。但是,如果需要能够将某些示例链接到建筑,将某些示例链接到楼板,则可能需要使用(可能是抽象建筑和楼板的位置标注),可以将事实表链接到建筑或楼板

我发现,当星型模式的组织结构不清楚时,查看您希望如何报告数据是有帮助的。这将有助于减少必须创建的多维数据集的数量。不过,一般来说,最好不要尝试规范化OLAP模型或使其过于通用(即使用单个列表示温度和能量)