2008-08-27 56 views
3

我每天有大约150 000行数据写入数据库。例如,这些行代表外发文章。现在我需要显示使用SSRS的图表,显示随着时间的推移每天的平均物品数量我还需要提供有关昨天的实际文章数的信息。如何从SQL Server 2005中汇总数据

的想法是对我们所有的交易聚合视图,并有东西可以表明,什么是错的(我们例如发送低于平均20%的文章)。

我的想法是每天晚上将昨天的数据转移到SSAS,并存储交易次数和昨天数据的实际交易次数的总计值。使用SSAS有望加快报告速度。

你认为这是正确的想法?我应该跳过SSAS并直接在原始数据上进行报告吗?我知道如何使用标准SQL查询对原始数据使用报告服务,但在查询SSAS时会如何更改?我不知道SSAS - 我从哪里开始..?

回答

2

SSAS的优点在于,您可以通过创建计算度量值或使用KPI轻松获取您所谈论的那些指标。

我开始Delivering Business Intelligence with Microsoft SQL Server 2005。它有一些很好的介绍,但不幸的是,当涉及到细节时,它太冗长了。但是如果你想了解SSAS,OLAP和使用这个框架进行报告,这是一个好的开始。

Mosha Pasumansky有一个blog在SSAS和MDX伟大的links

除此之外,我会推荐微软在线书籍。

0

SSAS是ETL工具。基本上,你从某处(你的传出文章)获取数据,对它做些什么(聚合),并将其放在其他地方(你的聚合表,数据仓库等)。详细信息请查看链接。

你可能不会无限期地保持所有DB中的行,如果你希望能够在你需要在任何情况下做一些历史数据汇总的长趋势报告。因此,使报告使用这个历史数据存储作为他们的来源是有道理的。然后你可以用它来做各种奇特的报道。

TL; DR:根据您将来的报告需求定义您的汇总历史记录表。使用SSAS填充表格并从每日更新中刷新它。该表的报告。进一步阅读:星型模式和数据仓库。

1

你确定你是不是混淆SSAS(分析服务)和SSIS(集成服务)?

SSAS不是ETL,它是OLAP工具。

SSIS是一个ETL工具。

我同意罗文所说的一切。我只是对这些条款感到困惑。

0

@Sergio和@Rowan

是的,我们不谈论加载和转换数据到数据库(如SSIS工具会做)。这是通过我们的集成平台解决的。

0

@Riri也许SSAS对于你所呈现的情况来说是过量的。如果您只需每天填充sumarization表,您可以通过在SQL Server中创建常规JOB并在常规T-SQL脚本中完成它来完成它。

我已经在日常流程中使用了这种方法好几年来计算每天大约9GB新数据的业务指标。它的工作原理很快,很简单,它使用了你已经习惯的技术。如果您的日常流程变得更加复杂(需要从文件读取,使用FTP,发送电子邮件),您可以移动到SSIS包(或任何其他您喜欢的ETL工具),但我不建议使用SSAS,除非您需要提供OLAP功能给你的用户。