0

目前我有一个使用 Microsoft SQL Server 分析服务的项目。我发现了一个关于使用 excel 时间线过滤数据的问题。

这是我的日期维度截图:

<img src="https://i.stack.imgur.com/NUr2x.png"/><img src="https://i.stack.imgur.com/5OSgA.png" />

我有一个带有 2 个度量的多维数据集,Sales Quantity(度量)和 Sales Quantity Last Year(计算)。这是去年销售数量计算的 MDX 表达式:

( ParallelPeriod([Date].[YM].[Calendar Year],1,[Date].[YM].CurrentMember),[Measures].[Sales Quantity In 1000] )

将项目部署到我的本地服务器后,使用excel 2013可以完美显示数据:图 :Excel中的数据没有过滤器

当我想使用 excel 时间线过滤数据时,问题就开始了。当我只过滤“2016”时,我的计算方法不再起作用。您可以看到 'Sales Quantity in 1000 LY' 列中的数据是空白的。看起来我看不到当前过滤器(2016)之外的数据。图片:使用时间轴过滤器过滤

但是当我使用切片器时,数据可以正常显示Pic:Filtered using Slicer

我在构建日期维度时犯了错误吗?或者我需要修复 MDX 计算查询?因为当我在 Microsoft AdventureWorksDW2014 中使用相同的日期层次结构和相同的计算测试这个案例时,一切都很顺利。

4

1 回答 1

0

假设 [Date].[YM] 是您的日期层次结构,您的并行期间计算看起来是正确的。我猜您的日期维度以某种方式关闭。

确保:

  1. 它创建了一个层次结构,该层次结构是您在并行周期计算中引用的。这是一个示例,您显然可以在层次结构中具有或多或少的属性。

等级制度

  1. 您的属性关系定义正确。

属性关系[1]

  1. 层次结构中属性的键列是正确的。在上面的示例中,您只需将 year 作为 year 列的键,但对于 Quarter,它将是 year 和 Quarter 列的集合。对于期间,关键列将是年、季度、期间。对于周,关键列将是年、季度、期间、周。日期将只使用日期列,因为日期是关键。

4.确保日期键属性使用日期字段作为它的值列,因为时间切片器需要这个。

日期值

  1. 在日期维度上定义时间智能。右键单击解决方案资源管理器上的日期维度并选择添加商业智能,然后在选择增强屏幕上选择定义维度智能。然后为每个维度属性设置属性类型。这是我们的示例的情况。

时间智能

希望其中之一为您做到这一点。

于 2018-10-19T15:50:21.037 回答