OLAP 多维数据集中的日期维度已停止处理

Posted

技术标签:

【中文标题】OLAP 多维数据集中的日期维度已停止处理【英文标题】:Date dimension has stopped processing in OLAP cube 【发布时间】:2011-10-22 11:23:23 【问题描述】:

一点背景知识,我们有一个 OLAP 系统,长期以来一直在为客户愉快地处理它的立方体。然后最近它开始失败。这恰逢主要开发人员意外结婚并让自己无法使用。所以显然我不能去纠缠他。

我们有一个适用于年、月、日级别的日期维度。我们有日历和财政年度的层次结构。

它目前正在抛出一条我觉得非常难以理解的消息(不是 OLAP 开发人员),我在网上阅读的示例是指它是由数周分隔数月引起的,这不是我遇到的问题。 消息是:

Rigid relationships between attributes cannot be changed during incremental processing of a dimension.

当我重新处理多维数据集时,我现在遇到了与日期相关的问题。当我重新处理日期维度时,我得到以下信息:

Internal error: The operation terminated unsuccessfully.
Errors in the OLAP storage engine: Rigid relationships between attributes cannot be changed during incremental processing of a dimension.
Errors in the OLAP storage engine: An error occurred while the 'Date ID' attribute of the 'Date' dimension from the 'TMC_CUBE_TESCO' database was being processed.
Errors in the OLAP storage engine: The process operation ended because the number of errors encountered during processing reached the defined limit of allowable errors for the operation.
Server: The operation has been cancelled.

当我查看日期维度的全部详细信息时,我发现它已经处理了一堆 SELECT 语句,但落在了这里:

SELECT DISTINCT [dbo_dw_DIMdate].[DateTime] AS [dbo_dw_DIMdateDateTime0_0],[dbo_dw_DIMdate].[DayOfMonth] AS [dbo_dw_DIMdateDayOfMonth0_1],[dbo_dw_DIMdate].[MonthNumberCalendar] AS [dbo_dw_DIMdateMonthNumberCalendar0_2],[dbo_dw_DIMdate].[YearCalendar] AS [dbo_dw_DIMdateYearCalendar0_3]
FROM [dbo].[dw_DIMdate] AS [dbo_dw_DIMdate]
Processing Dimension Attribute 'Date ID' failed. 1 rows have been read.
Start time: 10/21/2011 10:30:35 PM; End time: 10/21/2011 10:30:35 PM; Duration: 0:00:00
SQL queries 1

SELECT DISTINCT [dbo_dw_DIMdate].[DateID] AS [dbo_dw_DIMdateDateID0_0],[dbo_dw_DIMdate].[DayOfCalendarYear] AS [dbo_dw_DIMdateDayOfCalendarYear0_1],[dbo_dw_DIMdate].[DayOfFiscalYear] AS [dbo_dw_DIMdateDayOfFiscalYear0_2],[dbo_dw_DIMdate].[DayOfWeek] AS [dbo_dw_DIMdateDayOfWeek0_3],[dbo_dw_DIMdate].[IsCalendarYearToDate] AS [dbo_dw_DIMdateIsCalendarYearToDate0_4],[dbo_dw_DIMdate].[IsFiscalYearToDate] AS [dbo_dw_DIMdateIsFiscalYearToDate0_5],[dbo_dw_DIMdate].[IsLastCalendarMonth] AS [dbo_dw_DIMdateIsLastCalendarMonth0_6],[dbo_dw_DIMdate].[IsLastWeek] AS [dbo_dw_DIMdateIsLastWeek0_7],[dbo_dw_DIMdate].[IsWeekDay] AS [dbo_dw_DIMdateIsWeekDay0_8],[dbo_dw_DIMdate].[IsYesterday] AS [dbo_dw_DIMdateIsYesterday0_9],[dbo_dw_DIMdate].[DateTime] AS [dbo_dw_DIMdateDateTime0_10],[dbo_dw_DIMdate].[DayOfWeekName_engb] AS [dbo_dw_DIMdateDayOfWeekName_engb0_11],[dbo_dw_DIMdate].[ShortDayOfWeekName_engb] AS [dbo_dw_DIMdateShortDayOfWeekName_engb0_12],[dbo_dw_DIMdate].[WeekNumberCalendar] AS [dbo_dw_DIMdateWeekNumberCalendar0_13],[dbo_dw_DIMdate].[WeekNumberFiscal] AS [dbo_dw_DIMdateWeekNumberFiscal0_14],[dbo_dw_DIMdate].[WeekCommencing] AS [dbo_dw_DIMdateWeekCommencing0_15],[dbo_dw_DIMdate].[YearFiscal] AS [dbo_dw_DIMdateYearFiscal0_16],[dbo_dw_DIMdate].[YearCalendar] AS [dbo_dw_DIMdateYearCalendar0_17],[dbo_dw_DIMdate].[IsLastCalendarWeek] AS [dbo_dw_DIMdateIsLastCalendarWeek0_18]
FROM [dbo].[dw_DIMdate] AS [dbo_dw_DIMdate]
Error Messages 1

我不是在“sent me teh codez”之后,但非常感谢任何理解错误消息和问题的帮助。

【问题讨论】:

尝试从头开始重建多维数据集,忘记增量。这是旧的重新启动计算机;-)。 【参考方案1】:

您应该在完整模式下处理您的数据库,而不是增量(如果数据库的大小不是很大)。但这只是一种方法。此外,您的字典(您的维度的源表)可能有问题。使用进程窗口中的查询 - 尝试为属性 Id 和属性名称字段获取相同的不同计数。

【讨论】:

我们有几个维度出现故障,所以我对每个维度都执行了完全更新,然后立方体重新焕发生机。对于那些在处理多维数据集/维度时不知道如何执行此操作的人(我是其中之一),您可以右键单击“处理选项”(右上角),您将看到“处理完整”设置。

以上是关于OLAP 多维数据集中的日期维度已停止处理的主要内容,如果未能解决你的问题,请参考以下文章

OLAP 多维数据集:具有多个父项的父子维度

在 Excel 中的 OLAP 多维数据集中搜索

我可以查询 OLAP 多维数据集的附加信息吗?

在连接到 SSAS OLAP 多维数据集的 Excel 中按键排序

OLAP 多维数据集 - 上次读取/访问维度时

如何为 OLAP 多维数据集部署 Oracle 维度表