我已经在不同等级的SSRS中创建了一个表格,但是我需要一起查看2个等级的值并将其分配给另一个等级。我不能将它作为CASE放在SELECT中,因为数据库的设计方式不是将值存储在一行中,而是存储在多行中,因此无法将数据合并到新列中。例如,这是数据库中代表的一个学生成绩
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
我创建了一个表格,该表格根据学生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"
)
这将返回错误。
答案 0 :(得分:0)
我终于通过使用以下表达式解决了这个问题:
=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"))))))