如何从SQL Server 2005聚合数据

时间:2008-08-27 07:38:29

标签: sql-server reporting-services ssas

我每天有大约150 000行数据写入数据库。例如,这些行代表传出文章。现在,我需要使用SSRS显示图表,该图表显示每天的平均文章数量我还需要提供有关昨天的实际文章数量的信息

我们的想法是在所有交易中都有一个汇总的视图,并且有一些东西可以表明出现了问题(例如我们发送的文章比平均值少20%)。

我的想法是让昨天的数据每晚都移到SSAS,然后存储交易数量的汇总值和昨天数据的实际交易数量。使用SSAS有望加快报告的速度。

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

5 个答案:

答案 0 :(得分:2)

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

我从Delivering Business Intelligence with Microsoft SQL Server 2005开始。它有一些很好的介绍,但不幸的是它在细节方面太冗长了。但是,如果您想了解SSAS,OLAP以及使用此框架进行报告,那么这是一个良好的开端。

Mosha Pasumansky在SSAS上有blogMDXlinks。{/ p>

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

答案 1 :(得分:1)

您确定没有混淆SSAS(Analysis Services)和SSIS(集成服务)吗?

SSAS不是ETL,它是OLAP工具。

SSIS是一种ETL工具。

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

答案 2 :(得分:0)

SSAS是ETL工具。基本上你从某个地方获取数据(你的传出文章),对它做一些事情(聚合),然后把它放在其他地方(你的聚合表,数据仓库等)。查看链接以获取详细信息。

您可能无法无限期地保留数据库中的所有行,并且如果您希望能够报告更长的趋势,则无论如何都需要进行某种历史数据的聚合。因此,使报告使用此历史数据存储作为其来源是有意义的。然后,您可以使用它来进行各种奇特的报告。

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

答案 3 :(得分:0)

@Sergio和@Rowan

是的,我们谈论加载数据并将数据转换到数据库中(就像SSIS工具一样)。这是使用我们的集成平台解决的。

答案 4 :(得分:0)

@Riri也许SSAS对你提出的情况有点过分。如果您只需要每天填充sumarization表,您可以通过在SQL Server中创建常规JOB并在常规T-SQL脚本中执行它来完成它。

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