【问题标题】:SSAS, MDX, calculated member, pytd, reference on another value/monthSSAS、MDX、计算成员、pytd、另一个值/月的参考
【发布时间】:2016-02-15 16:07:08
【问题描述】:

自从一个星期以来,这个任务一直困扰着我,我找不到解决方案。 我正在尝试扩展我的同事构建的简单 SSAS 报告解决方案。目标是轻松访问销售数字的 ytd 和 pytd 值。 一切都很完美,只有一件小事没有意义,在我看来,这是一个不错的功能。

我的问题是,当我将 pytd 字段计算为 MDX 中的计算成员并在报告中使用它时,除了顶部“年份”级别的实际年份值之外,一切正常。它显示 2015 年的总数,而不是 2015 年 1 月至 2 月的 pytd 值。

为了使它更明显,我的查询是: pytd Query, works perfect, drilldown is no problem

这是我的结果的示例图片: sample result

如您所见,2016 年的 pytd 数据是 2015 年的总数。但我想在那里查看 2015 年 2 月的年初至今值。 为了清楚起见,我可以通过深入查看每月级别的数据来轻松查看信息。但我们也希望看到有关年级的正确信息。

所以我尝试调整我的 mdx 语句以在实际年份行中显示不同的 pytd 值:

如果(

[Zeit].[Year - Month - Date].CurrentMember is [Calendar 2016],

([Measures].[Sales Amount pytd],[Zeit].[Year - Month - 日期].[月].[2016 年 2 月]),

聚合( PeriodsToDate([Zeit].[Year - Month - Date].[Year], 并行周期(
[Zeit].[Year - Month - Date].[Year], 1、 [Zeit].[Year - Month - Date].CurrentMember ) )

,[措施].[Umsatz]))

所以查询本身可以正常工作,但现在我试图使其动态化,所以我需要一个参数或一组参数来将实际月份 + 当前年份输入过滤器: Format(Now(),"MMMM yyyy") 结果为 'February 2016'

所以从语法来看,它应该看起来/像这样工作: ([Measures].[Sales Amount pytd],[Zeit].[Year - Month - Date].[Month].[Format(Now(),"MMMM yyyy")])

但它不起作用。 我的同事通过 SSAS 的“添加 BI”向导添加了时间维度。我不喜欢它的建立方式,每个月都有年份,但我必须处理它。我认为更改时间维度具有使项目无法使用的高风险。

有人知道如何通过参数或其他方式动态添加当前年份和月份吗?

我期待您的想法。 :)

【问题讨论】:

    标签: dynamic reference sql-server-2008-r2 ssas mdx


    【解决方案1】:

    您需要在 iif 的逻辑部分中完全限定您的成员:

    [Zeit].[Year - Month - Date].CurrentMember 
          IS [Calendar 2016]  //<<please use the full name, from your cube, for this member
    

    这不会执行:

    ([Measures].[Sales Amount pytd],[Zeit].[Year - Month - Date].[Month].[Format(Now(),"MMMM yyyy")])

    你需要做这样的事情:

    WITH
    MEMBER [Measures].[Caption for today] AS
      Format(Now(), 'MMMM yyyy')
    MEMBER [Measures].[String for today] AS
      '[Zeit].[Year - Month - Date].[Month].&[' + [Measures].[Caption for today] + ']'
    SET [Measures].[today] AS
      StrToMember([Measures].[String for today] , CONSTRAINED)
    ...
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多