You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MDX的Tail函数展示各项目的最后启用周期?

实现方案

要让每个项目仅展示其最后启用日期的对应数据,可通过Generate()遍历项目编码,结合Tail()提取每个项目的最新启用日期,最终MDX语句如下:

SELECT
  Generate(
    [Dim Project].[Project Code].[Project Code].ALLMEMBERS,
    {
      [Dim Project].[Project Code].CurrentMember
      * Tail([Dim Project].[Opening date].[Opening date].ALLMEMBERS, 1)
    }
  ) ON 0,
  [Measures].[Measure1] ON 1
FROM Mycube;

关键逻辑说明

  • Generate():逐个处理每个项目编码成员,为每个成员生成仅包含其最新启用日期的子集合
  • Tail(..., 1):从当前项目的所有启用日期中,取出排序最后的1个成员(即最新启用日期)
  • 叉乘*:将项目编码与对应最新日期绑定,确保每个项目仅展示一条目标数据

注意:如果维度中启用日期的默认排序不是时间降序,需先对日期集合排序再取Tail,示例如下:

SELECT
  Generate(
    [Dim Project].[Project Code].[Project Code].ALLMEMBERS,
    {
      [Dim Project].[Project Code].CurrentMember
      * Tail(
          Order(
            [Dim Project].[Opening date].[Opening date].ALLMEMBERS,
            [Dim Project].[Opening date].[Opening date].CurrentMember.MemberValue,
            BDESC
          ),
          1
        )
    }
  ) ON 0,
  [Measures].[Measure1] ON 1
FROM Mycube;

执行后将返回你预期的结果:每个项目仅显示其最新启用日期及对应的Measure1数值。

内容的提问来源于stack exchange,提问作者tarikqazza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:12:18