Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 如何对齐ssrs字段列中文本中的每个字符串_Reporting Services_Ssrs 2008_Reportingservices 2005_Ssrs Tablix_Ssrs Grouping - Fatal编程技术网

Reporting services 如何对齐ssrs字段列中文本中的每个字符串

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 我怎样才

我在ssrs的列字段中有一个这样的字段

奎宁注射液80MG/ML Flecaindissssssssssssssssssssssssssssssssss标签50MG Tambocorssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

我怎样才能像这样排列

奎宁注射液80MG/ML FlecainDisssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss Tambocorssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

字符串的每个部分正确对齐


任何帮助…

我曾经使用
开关
在列字段中添加空格,如以下示例所示:

=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,因此..所有第一、第二和第三个字符串对齐所有行