基本上我们正在为我们的软件构建一个报告仪表板。我们正在为客户提供查看基本报告信息的能力。数据仓库 - 随时间储存独特数据
例子:(我已经删除了我们的实际系统的复杂性了这个例子中的99%,因为这应该还是跨越什么,我试图做得到)
一个例子指标是.. 。在特定时间段内查看的独特产品的数量。也就是说,如果5个产品在一个月的过程中被客户每次查看100次。如果您运行该月份的报告,则应该仅查看所查看产品的数量为5。
对于如何在任何时间范围内查询数据以及如何返回所查看产品的唯一数量,有何建议?为了这个例子...可以说有一条规则是应用程序不能直接查询源表,我们必须将摘要数据存储在不同的数据库中并从那里查询。
作为一个附注,我们有很多其他度量标准,我们正在存储,我们存储每天聚合。但是由于唯一性问题,这个特定的度量标准是不同的。
我个人认为这是不可能的。我们目前的解决方案是,我们提供4个预先计算的时间范围,其中受指标影响的指标可用。如果您使用自定义时间范围,则该指标不再可用,因为我们没有预先计算的数据。
我想知道......而不是保存汇总数据的其他地方,怎么样界定返回的计数VIEW项目(或任何摘要数据)并在视图上应用日期范围过滤器?或者甚至更好...定义一个存储过程,该存储过程根据源数据上的日期范围(作为参数传递)应用SELECT语句。 – Sparrow
我们需要预先分析并存储这些数据,因为我们正在运行数百万行数百万行,所以每次客户运行报表时都要随时生成此数据将需要很长时间。在客户端基础上,只需要几秒钟,这并不坏。但是这些数据也被用于基准测试(将一个客户端与其他客户端进行比较),当一次为成千上万的客户端运行时,需要很长的时间才能实时计算。使用我们的预制数据库,其他度量标准只需要几分之一秒的时间来汇总数千个客户端。 – chadwin
您正在使用哪种数据仓库方法,Inmon或Kimball? – Eli