Ssas 动态测量(MDX)

Ssas 动态测量(MDX),ssas,mdx,member,measure,Ssas,Mdx,Member,Measure,晚安 我是MDX世界的新手,我很难创建一个计算的度量值,问题是:我有一个度量值,它是使用上个月的最终余额作为本月的余额来计算的。类似于他们在下面看到的东西 问题是mdx脚本I没有将以前的数据添加到显示中,因此它最终向我显示了错误的初始值。在上图中,它应该将从公司开始计算的最终余额返回到所选过滤器。有人能帮我吗 以下是我创建的mdx查询: 成员[Saldo Final 2]为 ([Measures]。[Certificados Novos]+[Measures]。[Creativados]-[

晚安

我是MDX世界的新手,我很难创建一个计算的度量值,问题是:我有一个度量值,它是使用上个月的最终余额作为本月的余额来计算的。类似于他们在下面看到的东西

问题是mdx脚本I没有将以前的数据添加到显示中,因此它最终向我显示了错误的初始值。在上图中,它应该将从公司开始计算的最终余额返回到所选过滤器。有人能帮我吗

以下是我创建的mdx查询:

成员[Saldo Final 2]为 ([Measures]。[Certificados Novos]+[Measures]。[Creativados]-[Measures]。[Cancelados Menor ou Igual a 6 Parcela]-[Measures]。[Cancelados Maior que a 6 Parcela]) 成员[Saldo Final Mês Fronter 2]as (平行周期([DIM TEMPO].[MES ANO].[MES ANO] 1. ,[DIM TEMPO]。[MES ANO]。当前成员 ),[Saldo决赛2]) 成员[Saldo Inicial 2]为 Sum([DIM TEMPO].[MES ANO].CurrentMember.FirstSibling:[DIM TEMPO].[MES ANO].CurrentMember[Saldo Final Mês front 2]) 成员[最终]as [Saldo Inicial]+[Measures]。[Saldo Final 2]

在列上选择[DIM TEMPO].[MES ANO].[MES ANO], {[措施].[新认证],[措施].[Creativados],[Measures].[Cancelados Menor ou Igual a 6 Parcela], [措施][取消6个地块],[最终] }成排 来自[dw_sinaf] 哪里
{[DIM TEMPO].[ANO].&[2016]}

不确定这正是您想要的,但我能够在简化模型上实现:

有两项措施:

  • 仅限销售单位
  • 只返回单位
  • 我们需要从初始日期开始逐月计算每天(在您的示例中是每月)的金额

    最终和最终版本的代码如下:

    with member [Final] as
    ([Date].[Year Qtr Month].[Date].&[20170501]
    ,[Measures].[Sales Only Units])
    +
    SUM([Date].[Year Qtr Month].[Date].&[20170501]
    :[Date].[Year Qtr Month].CurrentMember
    ,[Measures].[Return Only Units])
    
    member [Inicial] as
    ([Final]-[Measures].[Return Only Units])
    
    select non empty [Date].[YQM].[Date].members on 0
    ,{[Inicial],[Measures].[Sales Only Units],[Measures].[Return Only Units],[Final]} on 1
    from [My_Cube]
    

    蓝色是“从公司开始”的初始值

    如果需要使用其他初始日期,则使用红色值

    绿色要求运行值


    [仅限销售的单位]最好对每个成员都隐藏,除了初始日期,以免混淆业务用户。

    我对脚本做了一些更改,并且能够找到起始余额,这部分解决了我的问题。新的问题是,当您过滤时间维度时,它最终会破坏序列,因此累积的时间维度无法正常工作。我需要用户制作的过滤器不干扰这一点,这样我就可以在任何级别进行计算。这就是我需要的。将成员[Saldo Inicial]作为和(NULL:Axis(0).Item(0).Item(Axis(0).Item(0).Count-1).Hierarchy.PrevMember,[Measures].[Saldo Final AUX])在列上选择过滤器([DIM TEMPO].[MES ANO].[MES ANO],[DIM TEMPO].[ANO].[2002]或[DIM TEMPO].[ANO].[ANO].[2004]),在[dw sinaf的行上选择过滤器,{[Saldo Inicial]}这就是我使用过滤器时发生的情况。将成员[起始余额]作为和(NULL:Axis(0).Item(0).Item(Axis(0).Item(0).Count-1).Hierarchy.PrevMember[Measures].选择[DIM TEMPO].[MONTH YEAR].列中的成员,[Time].[MONTH YEAR][YEAR],[DIM Time].[YEAR].&[2002]或[DIM TEMPO]{[Initial Balance]}行中的[dw sinaf,[DIM TIME].[YEAR].&[2004]}