Ситуация с SSRS - PullRequest
       8

Ситуация с SSRS

0 голосов
/ 08 октября 2018

Я создал таблицу в 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

. Я создал таблицу, которая сгруппировала оценки на основе идентификатора ученика, и теперь она представлена ​​в виде заголовков строк и столбцов для каждой оценки.(усилие, фокус и т. д.).

Я пытался составить сумму, используя ReportItems! Textbox1.Value, но я не могу использовать этот метод, поскольку он не является агрегатной функцией.Что я хотел сделать, это

IF (ReportItems! Textbox104.Value + ReportItems! Textbox105.Value = 2) THEN 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"
)

Это возвращает ошибку.

1 Ответ

0 голосов
/ 08 октября 2018

Я, наконец, решил это с помощью этого выражения:

=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"))))))
...