如何在我的表达式中获取一行信息

时间:2016-05-19 16:35:08

标签: reporting-services

我的表达只显示姓名,SSN,DOB和Phonenumber。

这是我的表达:

=Fields!FST_NAME.Value & vbCrLf & Fields!LAST_NAME.Value & vbCrLf & Fields!SOC_SECURITY_NUM.Value & vbCrLf & Fields!BIRTH_DT.Value & vbCrLf & Fields!ATTRIB_43.Value

我希望它像这样显示

Name: John Smith 

现在它只是显示约翰史密斯

2 个答案:

答案 0 :(得分:1)

如果你写一个大表达式,你的文本框将如下所示:

enter image description here

在布局和修正公式方面,这很难处理。一个很好的选择是在文本框中使用带标签的占位符。因此,您可以输入“名称:”,然后右键单击它并选择“创建占位符”。设置如下属性:

enter image description here

文本框可以很好地阅读和使用:

enter image description here

您甚至可以独立控制占位符的格式,如果您需要包含日期或数字,这样就会派上用场。

答案 1 :(得分:0)

如果您的所有字段都是字符串,则可以使用:

=Fields!FST_NAME.Value + " " + 
Fields!LAST_NAME.Value + " " + 
Fields!SOC_SECURITY_NUM.Value + " " + 
Fields!BIRTH_DT.Value + " " + 
Fields!ATTRIB_43.Value

但是,如果Birth_Dt或任何其他字段不是有效字符串(例如,DateTime数据类型),那么您将需要使用CStr(Fields!BIRTH_DT.Value)将其转换为字符串,以便可以正确连接

在一个例子中,我可以在本地做我的表达式如下:

=CStr(Fields!ExpMonth.Value) + " " + 
Fields!ItemName.Value + " " + 
Fields!ItemClass.Value

它产生的结果的前三行如下所示:

1       1 Year Membership       1 Year      1 1 Year Membership 1 Year  
2       1 Year Membership       1 Year      2 1 Year Membership 1 Year  
3       1 Year Membership       1 Year      3 1 Year Membership 1 Year

要向字符串添加文本,可以将其封装在连接字符串中的引号中,如下所示:

="This is added text" + " " + 
CStr(Fields!ExpMonth.Value) + " " + 
Fields!ItemName.Value + " " + 
Fields!ItemClass.Value

以上结果现在看起来像这样:

1       1 Year Membership       1 Year      This is added text 1 1 Year Membership 1 Year   
2       1 Year Membership       1 Year      This is added text 2 1 Year Membership 1 Year   
3       1 Year Membership       1 Year      This is added text 3 1 Year Membership 1 Year