我每天都会向数据库写入大约 150 000 行数据。例如,这些行代表即将发布的文章。现在我需要 使用显示图表 SSRS 显示一段时间内每天的平均文章数量. 我还需要了解昨天的实际文章数量信息.

我们的想法是对我们所有的交易有一个聚合的视图,并有一些可以表明出现问题的东西(例如,我们发出的文章比平均水平少 20%)。

我的想法是将昨天的数据移入 SSAS 每天晚上,那里都会存储昨天数据的交易次数合计值和实际交易次数。使用 SSAS 有望加快报告速度。

您认为这是正确的想法吗?我应该跳过 SSAS 并直接生成有关原始数据的报告吗?我知道如何使用标准 SQL 查询对原始数据使用报告服务,但是在查询 SSAS 时这会如何改变?我不知道 SSAS - 我从哪说起呢 ..?

有帮助吗?

解决方案

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

我开始于 使用 Microsoft SQL Server 2005 提供商业智能. 。它有一些很好的介绍,但不幸的是它在细节方面太冗长了。但如果您想了解 SSAS、OLAP 和使用此框架的报告,那么这是一个好的开始。

莫沙·帕苏曼斯基有一个 博客 关于 SSAS 和 MDX 与伟大的 链接.

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

其他提示

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

SSAS不是ETL,它是OLAP工具。

SSIS 是一个 ETL 工具。

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

SSAS 是一个 ETL 工具。基本上,您从某个地方(您的传出文章)获取数据,对其执行某些操作(聚合),然后将其放在其他地方(您的聚合表、数据仓库等)。检查链接了解详细信息。

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

长话短说:根据您未来的报告需求定义汇总历史表。使用 SSAS 填充表并通过每日更新刷新它。从该表中报告。进一步阅读:星型模式和数据仓库。

@塞尔吉奥和@罗恩

是的,我们是 不是 谈论将数据加载和转换到数据库中(就像 SSIS 工具所做的那样)。使用我们的集成平台可以解决这个问题。

@Riri 也许 SSAS 对于你所呈现的情况来说太过分了。如果您只需要每天填充汇总表,则可以通过在 SQL Server 中创建常规作业并在常规 T-SQL 脚本中执行此操作来完成。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top