使规范化数据可用于报告软件的最有效方法是什么

时间:2016-10-26 20:23:27

标签: tsql reporting user-defined-functions entity-attribute-value denormalization

我们在规范化结构中有一些数据,它是Entity-Attribute-Value模式的一种形式。我们需要将这些数据用于报告,但必须在使用前进行转换。

enter image description here (此图像表示数据结构;实际模式具有不同的名称和更多列,显示相关列)

不同的 ObjectTypes 具有不同的列。我们想为单个对象类型创建报告,但我们不能简单地将对象连接到值并过滤对象类型。这导致了一个列,我们真正想要的是执行某种" pivot"其值通过 ColumnIDs 映射到列中。

在应用程序逻辑中处理这个很简单,但是我需要将非EAV数据公开为具有每个对象类型的正确列的View,以便任何可以访问这些表的报告软件都可以使用它们

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您发布的图表看起来像Access或SQLServer中的图表。您可以在SQL Server中创建视图/查询,也可以在SQL Server中创建存储过程,并直接在任何报告软件中使用它。您还可以在报告中定义SQL命令。 BTW,表ObjectTypeColumns和ObjectValues都有复合主键,这不是一个好习惯。