Reporting services 如何对齐ssrs字段列中文本中的每个字符串
我在ssrs的列字段中有一个这样的字段 奎宁注射液80MG/ML Flecaindissssssssssssssssssssssssssssssssss标签50MG Tambocorssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 我怎样才能像这样排列 奎宁注射液80MG/ML FlecainDisssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss Tambocorssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 字符串的每个部分正确对齐Reporting services 如何对齐ssrs字段列中文本中的每个字符串,reporting-services,ssrs-2008,reportingservices-2005,ssrs-tablix,ssrs-grouping,Reporting Services,Ssrs 2008,Reportingservices 2005,Ssrs Tablix,Ssrs Grouping,我在ssrs的列字段中有一个这样的字段 奎宁注射液80MG/ML Flecaindissssssssssssssssssssssssssssssssss标签50MG Tambocorssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 我怎样才
任何帮助…我曾经使用
开关
在列字段中添加空格,如以下示例所示:
=Switch(LEN(Fields!FamilyMemberName.Value) = 1, " ",
LEN(Fields!FamilyMemberName.Value) = 2, " ",
LEN(Fields!FamilyMemberName.Value) = 3, " ")
但是我不必担心表达式变长了,因为我知道应该附加多少空格,而且不超过15个
您也可以在本例中使用Switch
,也可以在Report Properties
窗口的code
选项卡中编写VB函数,并传递值,使用一些循环生成所需的空间
或者在MS SQL中要容易得多,您所要做的就是将
空格(noofspacesinnteger)
附加到字段中。好吧,有两种方法可以做到这一点,这两种方法都不是特别优雅的,所以如果没有更好的解决方案,我会感到惊讶
下面代码中的“t.a”是您的表和列
SQL方式:
SUBSTRING(t.a,1,CHARINDEX(' ',t.a,1))+REPLICATE('_',20)+REVERSE(SUBSTRING(REVERSE(t.a),1,CHARINDEX(' ',REVERSE(t.a),1)))
将上面要复制的值从“”更改为“”,您就可以开始工作了。我把它留作“”来说明它在做什么
从数据库的角度来看,SSRS方式更好:
=Mid(Fields!a.Value,1,InStr(Fields!a.Value," "))+StrDup(20,"_")+StrReverse(Mid(StrReverse(Fields!a.Value),1,InStr(StrReverse(Fields!a.Value)," ")))
这是完全相同的公式,由SSRS执行,而不是由SQL Server执行。我猜那些“s”是空格?您需要保留“TAB”和“50MG”之间的空格吗?嗨,eric,第一行:第一个字符串=Quinidinesssssssssssssss第二个=GL第三个=INJ 4th80MG/ML第二行:第一个字符串:flecaindissssssssssssssssssssss第二个:TAB第三个:50MG,因此..所有第一、第二和第三个字符串对齐所有行