Ssrs 2008 使用SSRS的动态报告

Ssrs 2008 使用SSRS的动态报告,ssrs-2008,Ssrs 2008,让我宣布。。。我是一个新手,目前暂时填补这个空缺 问题:使用SSRS 2008(完成的产品应该是RDL文件,可以部署到SSRS服务器)为申请人完成的在线应用程序开发应用程序摘要报告 一点背景:申请人使用我们的web应用程序填写在线应用程序,在其中填写必填和可选字段。应用程序摘要报告提供给填写应用程序的申请人,作为其应用程序的摘要,应仅显示申请人填写的字段 例如: 免得我们说约翰·史密斯住在家里 添加第1行:123任何街道 添加第2行:空 城市:某个城市 状态:某些状态 他的配偶简·史密斯住在 添

让我宣布。。。我是一个新手,目前暂时填补这个空缺

问题:使用SSRS 2008(完成的产品应该是RDL文件,可以部署到SSRS服务器)为申请人完成的在线应用程序开发应用程序摘要报告

一点背景:申请人使用我们的web应用程序填写在线应用程序,在其中填写必填和可选字段。应用程序摘要报告提供给填写应用程序的申请人,作为其应用程序的摘要,应仅显示申请人填写的字段

例如:

免得我们说约翰·史密斯住在家里
添加第1行:123任何街道
添加第2行:空
城市:某个城市
状态:某些状态

他的配偶简·史密斯住在
添加第1行:321任何其他街道
添加第2行:Apt A
城市:某个城市
状态:某些状态

因此,在报告中,不应为john显示空字段(添加行2),而应为Jane显示空字段。当我说not Display(未显示)时,意味着字段标签应该隐藏,报告应该调整间距,以不在报告中显示跳过的空行

我们有大约1000个这样的字段,申请人可以或不能回答。因此,报告应该是通用的,并尽可能多地使用内置功能


如果需要,包含字段和响应的键值对的Xml。可以创建此Xml,以便它可以将所有字段和未应答的响应都包含为null或仅包含应答的响应。我不确定这会有什么帮助,但如果需要的话,就把它放在那里

我做过简单的报告,但我不知道如何处理这种情况。任何帮助都是巨大的帮助


谢谢

这真的很简单

假设我们有一个使用矩形和文本框的表格格式的报告

--------------------
|FIRST NAME : AAAA  |
|LAST NAME : BBBB   |
|PHONE: XXX-XXX-XXXX|
--------------------
使用以下表达式控制要隐藏的控件的可见性

=IsNothing(First(Fields!WorkPhoneNumber.Value, "DataSet1"))
确保所有控件的高度和宽度相同。我创建了一行,其中只有两个控件(标签文本框和值文本框),并使用值文本框的值设置它们的可见性,如上面表达式中所述


由于该行只有两个控件,隐藏控件将根据我的需要自动调整布局

我也遇到过类似的情况,最后在文本框中使用了这种方法。以上面的示例为例,您可以在文本框中设置字段,其中[]是数据集中的字段:

Name: [first_name] [m_name] [last_name]
Add Line 1: [address_1]
[expression]City: [city_name]
State: [state_name]
Zip: [zip_code]
请注意,表达式和城市之间没有空格。当[address_2]为空时,城市将位于其当前行,当有地址行2时,使用以下表达式移动到下一行:

=IIF(IsNothing(Fields!address_2.Value), "", 
“Add Line 2: “ & Fields!address_2.Value & VbCrLF)
=IIF(IsNothing(Fields!address_2.Value) OR Len(Trim(Fields!address_2.Value)) < 1, "", 
“Add Line 2: “ & Fields!address_2.Value & VbCrLF)
当IFF为true且[address_2]为null时,表达式将写入“”(无),而[city_name]将保留在同一行。当IFF为false且存在[address_2]时,标签“Add Line 2”将与[address_2]的值一起写入,[city_name]将通过“VbCrLf”移动到下一行。如果[address-2]有一个长度为0或几个空格的字符串,则处理该字符串的更健壮的方法是以下表达式:

=IIF(IsNothing(Fields!address_2.Value), "", 
“Add Line 2: “ & Fields!address_2.Value & VbCrLF)
=IIF(IsNothing(Fields!address_2.Value) OR Len(Trim(Fields!address_2.Value)) < 1, "", 
“Add Line 2: “ & Fields!address_2.Value & VbCrLF)
=IIF(IsNothing(Fields!address_2.Value)或Len(Trim(Fields!address_2.Value))<1,“,
添加第2行:“&字段!地址\u 2.Value和VbCrLF)
当一个字段为空但不为空时,这就停止了奇怪的双空格;类似的东西对于中间名非常有用。希望这对你或其他阅读本文的人有所帮助