我们有一个庞大的流量数据库(通话数据记录)。由于记录数量和硬件限制,我们不能使用源详细记录进行报告。因此,我们以 15 分钟的间隔汇总关系数据库中的记录,然后立即截断源数据。这些汇总记录(一段时间内的事件)存储在仓库中,然后用于事实表 (MOLAP)。时间跨度/周期存储在 SYS_TIME_SLICES 维度表中,简化版本为:
CREATE TABLE [dbo].[SYS_TIME_SLICES] (
[ID] [int] IDENTITY(1, 1) NOT NULL,
[DATETIME_START] [datetime] NOT NULL,
[DATETIME_END] [datetime] NOT NULL
) ON [PRIMARY]
第一个记录是:
DATETIME_START DATETIME_END
01-Jan-13 00:00:00 01-Jan-13 00:15:00
01-Jan-13 00:15:00 01-Jan-13 00:30:00
现在我们将其放入多维数据集中,我不确定如何根据最佳实践进行操作。我查了“Step-by-Step”一书,一些关于时间维度和相关BI的互联网教程,仍然没有线索。将 TIME_SLICES 维度标记为时间会产生一些奇怪的结果。将 DATETIME_END 标记为 DateEnded 类型会产生更奇怪的结果。
我对 SSAS 比较陌生,但在处理 SQL 和客户报告方面有 15 年的经验,所以我确实了解我想要什么以及如何在常规 SQL 中做到这一点。
我们必须提供具有小时、日、周和月粒度的报告。这可以很容易地通过手动修改和配置 TIME_SLICES 维度的属性来完成,其中涉及一些层次结构(没有任何 SSAS 特殊魔法)。但我想拥有 TIME 商业智能的所有花里胡哨(日复一日的增长等)。
更重要的是,旧数据(6 个月以上)从未更新,其源仓库表正在存档。在多维数据集中,我们只需要按天详细级别的旧数据,从而节省服务器空间。这是通过分区以某种方式实现的——但我不确定 TIME 的细节。
鉴于上述考虑因素,是否有针对此 TIME SPAN/PERIOD 维度的推荐/常用方法?有什么提示吗?有没有这方面的书?我们应该改变我们的仓库逻辑吗?
这与SSAS - Facts that occur over a time range有关,但有一点不同的问题。我们使用的是 2008r2,但可以根据需要升级到 2012。