调整MDX查询实现按客户、月度列展示近3个月销售数据
修改后的MDX查询(月度列矩阵结构)
以下是调整为月度列展示的MDX查询,同时保留所有要求的筛选条件:
SELECT -- 近3个月的时间成员作为列,每个月份对应一列销售额 LastPeriods(3, [Dim Time].[By Fiscal Year].[Period].&[Jul-21]) ON COLUMNS, -- 筛选符合条件的客户:排除NA/UNKNOWN,且上月销售额≠0 Filter( Except( [Dim Customer].[CustomerName].[CustomerName].MEMBERS, {[Dim Customer].[CustomerName].&[NA], [Dim Customer].[CustomerName].&[UNKNOWN]} ), ABS(Round([Measures].[PreviousMonthSales], 6)) <> 0.000000 ) ON ROWS FROM [CSIS] WHERE [Measures].[Sales]
关键修改说明
- 把原查询中放在行上的时间维度移到了列轴,每个月份单独成一列,形成矩阵式的展示结构
- 行轴仅保留经过筛选的客户集合,修正了原查询中对「客户+时间」笛卡尔积的无效筛选逻辑——现在是先筛选出符合条件的客户,再完整展示他们近3个月的销售数据
- 完全保留原有的筛选规则:排除标注为[NA]、[UNKNOWN]的客户,且上月销售额不为0
内容的提问来源于stack exchange,提问作者kpsr
相关产品推荐
相关产品推荐

