时间维度在 SQL Server Analysis Services 中不起作用

Posted

技术标签:

【中文标题】时间维度在 SQL Server Analysis Services 中不起作用【英文标题】:Time dimension not working in SQL Server Analysis Services 【发布时间】:2010-08-18 17:50:34 【问题描述】:

我的事实表有一个“日期”列,我已将它用作我使用 SSAS 在数据源中为我创建的时间维度表的外键。但是,当我部署多维数据集并浏览它时,添加时间维度属性或其任何层次结构不会过滤度量上的任何内容。好像我的事实表中的时间信息和为我创建的时间维度表 SSAS 之间存在脱节。

我在这里遗漏了什么吗?如何链接它们,以便我可以使用生成的时间维度根据事实表中的日期值在我的多维数据集上应用切片和骰子分析?

【问题讨论】:

【参考方案1】: 日期列是维度表的主键列吗? 是否由事实表中的外键引用? Analysis Services DSV 中是否显示了主键和外键关系? 在多维数据集编辑器中,您是否在度量组和时间维度的交集处看到一个填充的白色区域,显示正确的键名,而不是一个空白的灰色区域? 它真的包含日期或日期时间吗?

当您有天的粒度时,OLAP 应用程序中的时间维度经常使用的模式是具有结构 yyyymmdd 的整数主键(即year * 10000 + month * 100 + day_of_month。这使得键可读,但仍然是整数,对于分析服务来说效率稍高。

【讨论】:

是的,ssas 生成的时间维度的主键是一个日期时间列,它与我的事实表中的“日期”列作为其外键相关。时间维度在多维数据集编辑器中显示良好......我刚刚恢复为在事实表本身中使用命名计算月份和年份 那么第一眼看起来一切正常。您是如何以及在哪个应用程序中进行过滤的? 如何使用 BIDS 生成关系模式向导获取 yyyymmdd ID? 对于指向多维数据集编辑器的点,您必须转到“维度使用”选项卡以查看他所指的内容。

以上是关于时间维度在 SQL Server Analysis Services 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server Analysis Services,从关系数据库更新 OLAP 维度

SQL Analysis Services OLAP TIME 维度

使用 IronPython 在 SQL Server Analysis Services 上执行查询

使用 MS SQL Server Analysis Services 在分层数据上创建多维数据集

如何在 Microsoft SQL Server Analysis Services 中使用 MySQL 作为数据源?

Performance analysis of SQL Server — about CPU