【问题标题】:Problem with SSAS ParallelPeriod and Excel 2013 Timeline FilterSSAS ParallelPeriod 和 Excel 2013 时间线筛选器的问题
【发布时间】:2018-10-15 17:42:01
【问题描述】:

目前我有一个使用 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可以完美显示数据: Pic: Data in Excel without filter

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

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

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

【问题讨论】:

    标签: excel pivot-table ssas data-warehouse analysisservices


    【解决方案1】:

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

    确保:

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

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

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

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

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

    希望其中之一能帮到你。

    【讨论】:

    • 嗨,布兰登,感谢您的建议。我想我错过了你解释的第 5 步。我没有为每种属性类型设置正确的维度属性。我只将备用键设置为日期,其余的设置为“常规”。也许 excel 会将他们的时间线与我们的维度属性相匹配?国际海事组织。在我做了一些更改后,现在我的数据可以按预期显示。谢谢!
    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多