SSRS 案例陈述

SSRS Case Statement

我已经在各个年级的SSRS中创建了一个table,但是我需要把2个年级的值放在一起看,然后给它分配一个alternate grade。我不能将其作为 CASE 放在 SELECT 中,因为数据库的设计方式不是将值存储在一行中,而是存储在多行中,因此它无法将数据合并到一个新列中。例如,这是DB

中表示的一位学生成绩
    634 Attainment  *@1@2@3@4@N/A   NULL    1   2
636 Effort  A*@A@B@C@N/A    NULL    A   2
637 Focus   EX@ME@WB@N/A    NULL    EX  1
638 Participation   EX@ME@WB@N/A    NULL    ME  2
639 Groupwork   EX@ME@WB@N/A    NULL    ME  2
640 Rigour  EX@ME@WB@N/A    NULL    ME  2
641 Curiosity   EX@ME@WB@N/A    NULL    ME  2
642 Initiative  EX@ME@WB@N/A    NULL    ME  2
643 Self Organisation   EX@ME@WB@N/A    NULL    ME  2
644 Perseverance    EX@ME@WB@N/A    NULL    ME  2

我创建了一个 table,它根据学生 ID 对成绩进行了分组,现在它表示为每个成绩(努力、专注等)的一行和一列标题。

我尝试使用 ReportItems 求和!Textbox1.Value 但我不能使用此方法,因为它不是聚合函数。我想做的是

IF (ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 2) 然后 5

有办法吗?

附加: 我刚试过:

=SWITCH(ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 2, 5, 
ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 3, 4, 
ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 4, 3,
ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 5, 2,
ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 6, 1,
ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 7, 0,
"NULL"
)

返回错误。

我终于用这个表达式解决了这个问题:

=IIF(ReportItems!Textbox104.Value + (ReportItems!Textbox105.Value = 2), 5,
IIF(ReportItems!Textbox104.Value + (ReportItems!Textbox105.Value = 3), 4,
IIF(ReportItems!Textbox104.Value + (ReportItems!Textbox105.Value = 4), 3,
IIF(ReportItems!Textbox104.Value + (ReportItems!Textbox105.Value = 5), 2,
IIF(ReportItems!Textbox104.Value + (ReportItems!Textbox105.Value = 6), 1,
IIF(ReportItems!Textbox104.Value + ReportItems!Textbox105.Value = 7, 0, 
"NULL"))))))