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

求可按财年部分时段聚合销售数据的MDX分组查询方案

MDX解决方案:指定日期范围的财年部分时段聚合与多范围查询

方案一:按年份聚合指定日期范围内的部分月份数据

直接使用Year维度聚合,但通过Exists函数筛选出仅属于目标日期范围的Month成员,避免返回全年数据:

SELECT 
  [Measures].[Sales] ON COLUMNS,
  NON EMPTY [Date].[Year].[Year].Members ON ROWS
FROM [Cube]
WHERE (
  Exists(
    [Date].[Month].[Month].Members,
    [Date].[Date Key].&[20210601] : [Date].[Date Key].&[20230303]
  )
)

原理说明

  • Exists函数会返回所有与20210601-20230303日期范围有数据交集的Month成员
  • 外层通过Year维度聚合这些筛选后的月份数据,最终每个年份仅展示指定时段内的销售总和,而非全年数据

如果你的维度结构中Month成员包含年份标识(比如2021:Jun),也可以用Filter函数直接匹配:

SELECT 
  [Measures].[Sales] ON COLUMNS,
  NON EMPTY [Date].[Year].[Year].Members ON ROWS
FROM [Cube]
WHERE (
  Filter(
    [Date].[Month Combined].[Month Combined].Members,
    [Date].[Month Combined].CurrentMember.Name >= '2021:Jun'
    AND [Date].[Month Combined].CurrentMember.Name <= '2023:Mar'
  )
)

方案二:单个查询返回多日期范围的结果并按年份别名

通过WITH子句定义计算成员,分别对应三个目标日期范围,实现一次查询返回所有结果:

方式1:将不同时段作为度量列展示

WITH 
MEMBER [Measures].[2021年下半年销售] AS
  Aggregate(
    [Date].[Date Key].&[20210601] : [Date].[Date Key].&[20211231],
    [Measures].[Sales]
  )
MEMBER [Measures].[2022年全年销售] AS
  Aggregate(
    [Date].[Date Key].&[20220101] : [Date].[Date Key].&[20221231],
    [Measures].[Sales]
  )
MEMBER [Measures].[2023年Q1销售] AS
  Aggregate(
    [Date].[Date Key].&[20230101] : [Date].[Date Key].&[20230303],
    [Measures].[Sales]
  )
SELECT 
  {
    [Measures].[2021年下半年销售],
    [Measures].[2022年全年销售],
    [Measures].[2023年Q1销售]
  } ON COLUMNS
FROM [Cube]

方式2:将不同时段作为行成员展示

WITH 
-- 定义每个时段的日期范围集合
SET [2021下半年] AS [Date].[Date Key].&[20210601] : [Date].[Date Key].&[20211231]
SET [2022全年] AS [Date].[Date Key].&[20220101] : [Date].[Date Key].&[20221231]
SET [2023Q1] AS [Date].[Date Key].&[20230101] : [Date].[Date Key].&[20230303]

-- 基于集合创建自定义年份成员
MEMBER [Date].[Year].[2021下半年] AS Aggregate([2021下半年])
MEMBER [Date].[Year].[2022全年] AS Aggregate([2022全年])
MEMBER [Date].[Year].[2023Q1] AS Aggregate([2023Q1])

SELECT 
  [Measures].[Sales] ON COLUMNS,
  {
    [Date].[Year].[2021下半年],
    [Date].[Year].[2022全年],
    [Date].[Year].[2023Q1]
  } ON ROWS
FROM [Cube]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 17:05:01