Asp.net 如何有条件地连接字符串以在SSRS中显示

Asp.net 如何有条件地连接字符串以在SSRS中显示,asp.net,reporting-services,sql-server-2008-r2,Asp.net,Reporting Services,Sql Server 2008 R2,在SSRS中,如何创建一个字段,类似于记录中列出一组字符串的“注释”字段,这取决于VB.NET web表单上一组问题的回答方式 假设,5个问题有无线电按钮列表,其中“Y”、“N”和“N/A”作为三个答案项。答案作为“审阅”记录放入SQL(Server 2008R2)表中 问题2和问题4回答为“N”,其余回答为“Y”或“N/A” 我试图让SSRS中的注释字段填充类似以下内容: Q2: 1100 - No Documentation in file. Q4: 4100 - No Case note.

在SSRS中,如何创建一个字段,类似于记录中列出一组字符串的“注释”字段,这取决于VB.NET web表单上一组问题的回答方式

假设,5个问题有无线电按钮列表,其中“Y”、“N”和“N/A”作为三个答案项。答案作为“审阅”记录放入SQL(Server 2008R2)表中

问题2和问题4回答为“N”,其余回答为“Y”或“N/A”

我试图让SSRS中的注释字段填充类似以下内容:

Q2: 1100 - No Documentation in file.
Q4: 4100 - No Case note.
在SQL中,我尝试声明一个变量来保存字符串,并根据字段内容连接问题字符串值。我尝试在SSRS列中嵌套IIF表达式,但我不知道如何在C#或VB中执行类似
string1=string1+string2
string1+=string2
的操作,以便有选择地将字符串添加到变量中,然后显示


我需要每个表格的SSRS报告,每个记录需要注释字段,列出“调查结果”或带有“N”个答案的问题。

在您的注释之后,我想我能更好地理解。您需要一个注释列,其中并没有值和换行符连接在一起。您将不得不调整以下内容以匹配您的表格,但希望这会有所帮助

select [AssignedOneActivity], 
       Comments = STUFF( ( 
                                SELECT char(10) + char(13) + a2.[AssignedOneActivity] + ': ' + a2.answer 
                                FROM dbo.[WIA_Youth] a2 
                                where a.ReviewID = a2.ReviewID 
                                FOR XML PATH(''), TYPE 
                                ).value('.', 'nvarchar(max)'), 1, 2, ''
                        ) 
from dbo.[WIA_Youth] a
然而,我现在读到,你将Q+A存储在列中。所以也许这会更好:

select
    reviewid,
    Comments =
    case when [AssignedOneActivity] = 'N' then 'Q1: No answers' + char(10) + char(13) else '' end +
    case when [AssignedTwoActivity] = 'N' then 'Q2: No answers' + char(10) + char(13) else '' end +
    case when [AssignedThreeActivity] = 'N' then 'Q3: No answers' + char(10) + char(13) else '' end 
from dbo.wia_youth

我很难理解您的输入和预期输出。对我来说,这绝对像是你在SQL中处理的东西,但也许你会发布你当前SQL的关键元素?我会尽量简化。假设有5个问题。1.它是蓝色的吗。是红色的吗。它是黄色的吗。它是绿色的吗。它是橙色的吗。使用我原始问题中的案例,1是Y,2是N,3是Y,4是N,5是Y。输入在适当的选项卡列中是适当的“Y”或“N”,这对于任何数据输入形式都是正常的。SSRS报告显示(或不显示)每个问题的答案。但这不是SSRS报告的重要部分。(续…)我要问的字段是一个“摘要”字段,它将以我原始问题中显示的格式列出所有“N”个答案。如果你想这样称呼它,那就是“输出”。请参见上面带有两行的方框:Q2:1100-。。。第四季度:4100-。。。上面的显示方式正是我希望“摘要”字段的显示方式。一个字段列出了所有的“N”,但不完全正确。我不想向每个问题列返回一个文本字符串。所以,当Q2='N'然后是'No Documentation in file'。否则结束。我仍然想要Q2='N'然后是'N'的情况,或者每个问题的表的正常实际值N代表N,Y代表Y。。。[换行符]我想在单独的“commos”字段中列出“N”的列表,列出所有回答为“否”或“N”的问题。如果有两个问题被回答为“N”,则该字段将如下所示:[换行符]Q2:1100-文件中没有文档。[换行符]Q4:4100-无案例说明。[换行符][我无法在这个编辑器中获得换行符来拯救我的生命,它们必须证明我在寻找什么]哦,我想我明白了。您想将N个答案连接到注释字段中。。。这是可能的,但在SQL中成本有点高。我会修改一下我的答案。谢谢你,杰西。我试试看。听起来你完全明白我的要求。:-)现在来看,有点复杂。我会设法弄清楚的,但在去那里的路上我可能不得不问一些问题。再次感谢。好的,我需要你帮我调整一下。都在一张桌子里。每栏一个问题。每个记录都有一个“N”或“Y”或“N/a”作为答案值。。。下面[AssignedOnActivity]是问题的字段名,[WIA_Youth]是表名,ReviewID是主键。我不知道如何处理“答案”,所以我把它注释掉了。我知道我没有正确调整它…“1”?"2" ? 但当我完全按照以下方式运行时,我在nvarchar(max)上得到了无法调用的方法: