将同一控件的每月结果对齐到一行

问题描述 投票:0回答:1

我在一年内获得了 12 次会议结果。

结果均与一项对照相关,但该对照每月进行一次。月份表显示如下:

Control Table

我希望结果显示在一行中并跨每月列,而不是如上所述,结果跨每月列显示,但每个结果都会占用一个新行。

我尝试使用控件的合并/中断和分组,但这没有用。我使用以下公式来查找每个月的会话结果:

January (for example):`    =If([Calendar Month]="January") Then [Query 1].[IC CM SESSION Result]
Calendar Month :     =Month([IC CM SESSION Start Date])

表格参考中的字段从左到右如下: 控件名称=[IC CM SESSION 主题] 频率 =[查询 1].[IC CM 监控频率] 一月 =If([日历月]="一月") 然后 [查询 1].[IC CM SESSION 结果]

session row resultset distributed webi
1个回答
0
投票

要么我误解了你的要求,要么你想太多了。您所需要的只是一个以开始日期月份作为列标题的交叉表。

我使用以下徒手 SQL 查询创建了一个报告...

SELECT CONVERT(DATE, '2023-01-15') AS [Start Date], 'Effective' AS [Session Result]
UNION SELECT '2023-01-15', 'Effective'
UNION SELECT '2023-02-15', 'Effective'
UNION SELECT '2023-03-15', 'Effective'
UNION SELECT '2023-04-15', 'Effective'
UNION SELECT '2023-05-15', 'Effective'
UNION SELECT '2023-06-15', 'Effective'
UNION SELECT '2023-07-15', 'Effective'
UNION SELECT '2023-08-15', 'Overdue'
UNION SELECT '2023-09-15', 'Effective'

这给了我下表...

我创建了一个 Month Start Date 变量,非常类似于您的 Calendar Month 变量...

=Month([Start Date])

我在交叉表中设置了列标题。使用交叉表时,您通常需要在正文中放入一个度量。在您的情况下,您需要会话结果。如果您将会话结果作为维度放入正文中,您将不会获得所需的结果。但是,我们可以创建一个 Max Session Result 变量,其结果如下所示......

=Max([Session Result])

将该对象放入交叉表的正文中,然后就可以了。

您需要对月份开始日期应用自定义排序顺序,以使其按日历顺序显示。如果您想要其中的内容,您还需要将自己的行标题添加到交叉表中,其中我有“会话结果”。

诺埃尔

© www.soinside.com 2019 - 2024. All rights reserved.