sql - MDX 不显示最新版本的数据

标签 sql sql-server ssas mdx

我需要一点帮助来解决我在 MDX 中遇到的问题。我想显示度量的每个周期的最后一个版本,即使该值为 NULL。但我的代码显示了最后一个非空版本。

示例:

My problem

这是我的代码:(表中可见的度量是 MNY_ENCOURS)

SCOPE([DIM Version].[VCR BK Version].[All]);
    [Measures].[MNY_AA_Total] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_AA_Total])));
    [Measures].[MNY_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_ENCOURS])));
    [Measures].[MNY_Flottement] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Flottement])));
    [Measures].[MNY_Montant_Cale] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_Montant_Cale])));
    [Measures].[MNY_VARIATION_ENCOURS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_VARIATION_ENCOURS])));
    [Measures].[V FCT Collecte Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[V FCT Collecte Count])));
    [Measures].[CONFI_FLUX] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_FLUX])));
    [Measures].[CONFI_STOCKS] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[CONFI_STOCKS])));
    [Measures].[Declarant_Distinct_Count] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[Declarant_Distinct_Count])));
    [Measures].[MNY_FLUX_CALCULE] = tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[MNY_FLUX_CALCULE])));
    [Measures].[PART_FLUX_Trimestriel]=tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_FLUX_Trimestriel])));
    [Measures].[PART_STOCKS]= tail(filter([DIM Version].[VCR BK Version].[All], not isempty([Measures].[PART_STOCKS])));                  
END SCOPE;

你能帮我一下吗?谢谢

最佳答案

为什么不针对每项措施改变这种模式:

...
[Measures].[MNY_ENCOURS] 
  = TAIL(
      FILTER(
        [DIM Version].[VCR BK Version].[All]
      , not isempty([Measures].[MNY_ENCOURS])
    )
...

对于每个元组,如下所示:

...
[Measures].[MNY_ENCOURS] 
  = (
      tail([DIM Version].[VCR BK Version].[All].MEMBERS).ITEM(0).ITEM(0)
     ,[Measures].[MNY_ENCOURS]
    )
...

关于sql - MDX 不显示最新版本的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48092801/

相关文章:

php - 无效参数编号 : parameter was not defined

sql - 如何从 SQL 中获取记录

mysql - 按 t1.date 连接不相关的表(t2.startdate 和 t2.enddate 之间)

ssas - 过滤二维的 SET

java - 独立 JPA 序列

SQL 计数操作

sql-server - 如何找出是什么在影响我的 SQL Server?

sql - DateAdd 列导致溢出

sql-server - 比较两个数字并将值 1 或 0 设置为 Excel 或 SQL Server 2012 中的最高值或最低值

sql-server - 如何获取 SQL 数据库中已有的 "shred"JSON 数据?