1.下载SSDT-Setup-CHS,勾选1、3项,全勾也可以
2.装好之后,打开新建报表服务
@实体ID为输入的参数
做完报表之后,右键解决方案,先清理在生成
选择报表文件添加即可
子报表
可能出现的问题
上面的乱码为中文,但是输入中文未显示中文,其原因是字体
报表显示多选选项集时不能显示数据库的信息,需要显示数据库对应数据信息
新建函数(主外键的话,就join连接就行了)
--这个函数 返回的是一个表 alter function [dbo].[GetSubsidiaryBusinesses] ( @str NVARCHAR(500),--要分割的字符串 @fengefu NVARCHAR(20)--进行分割的符号 )returns @table table(val NVARCHAR(50)) AS begin declare @index INT,@startsplit INT,@id INT,@sum nvarchar --@index分隔符所在的位置的下标 @startsplit 每次分割开始的位置 select @index=charindex(@fengefu,@str),@startsplit=1,@id=1 where @index>0 begin if @id>1 --第一次循环之后 都执行这个方法体中的代码 begin select @startsplit=@index+LEN(@fengefu) --分割开始位置等于 之前的字符下标位置+字符本身的长度 select @index=CHARINDEX(@fengefu,@str,@startsplit) end if @index>0 --第一次循环 截取位置从@startsplit=1开始 begin select @sum=@sum+substring(@str,@startsplit,len(@str)-@startsplit+1)+';' --要截取的字符串 开始位置 要截取的长度 END else begin --最后一次循环 此时由于匹配不到分割字符 @index=0 截取剩余的字符串 select @sum=@sum+substring(@str,@startsplit,len(@str)-@startsplit+1)+';' insert into @table values (@sum) end select @id=@id+1 end return end --select (Cast(字段名 as varchar(20)) +'('+ Cast(字段名 as varchar(20))+')')将字段组合显示为第一个字段 SELECT (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=2 ) as varchar))+';'+ (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=3 ) as varchar))+';'+ (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=4 ) as varchar)) as 多选选项集, case new_record_updatemodth when 1 then 'A' when 2 then 'B' when 3 then 'C' end 单项选项集 FROM new_recordingBase
测试数据——》已显示结果(完成!)