将同一控制项的月度结果合并至单行的技术问询
控制项月度结果单行展示方案
问题说明
我有一年内12次关联同一按月执行控制项的会话结果,当前表格按每月一行展示,想改成单行、按月份列展示各月结果。试过合并/拆分、控制项分组都没效果。
当前使用的公式
用来定位月度会话结果的公式如下:
- 一月(示例):
=If([Calendar Month]="January") Then [Query 1].[IC CM SESSION Result] - 日历月份计算:
=Month([IC CM SESSION Start Date])
表格现有字段(从左到右)
- 控制项名称 = [IC CM SESSION Subject]
- 执行频率 = [Query 1].[IC CM Monitor Frequency]
- 一月 = 当[Calendar Month]="January"时,显示[Query 1].[IC CM SESSION Result]的内容
实现方法
要实现单行展示,核心是给控制项分组后,用聚合函数提取对应月份的结果,步骤如下:
- 先把
控制项名称和执行频率设置为分组维度,确保同一控制项只出现在一行里。 - 把每个月份的条件公式改成带聚合函数的形式(因为同一控制项每个月只有一个结果,用
Max()/Min()都能拿到对应值),示例:- 一月:
=Max(If([Calendar Month]="January"; [Query 1].[IC CM SESSION Result]; "")) - 二月:
=Max(If([Calendar Month]="February"; [Query 1].[IC CM SESSION Result]; ""))
照着这个格式写完12个月份的列公式。
- 一月:
- 删除原来按月份的行分组,只保留控制项维度的分组,把12个月份列依次加到表格里就行。
原因:直接用条件公式时,报表会跟着原始数据的每行返回结果,导致同一控制项拆成多行;加了聚合函数后,会在同一控制项的分组范围内,筛选出对应月份的结果并合并到单行。
内容的提问来源于stack exchange,提问作者N Robertson
相关产品推荐
相关产品推荐

