存储过程中不在SSRS中生成的字段

时间:2014-06-05 09:56:13

标签: reporting-services dataset pivot

我执行一个过程来生成列并在SRRS数据集中使用:

这是我的SP:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER procedure [dbo].[CrossTab_MultiLV] 
(   @Select varchar(2000),
    @Pivots1Col varchar(100),
    @Summaries varchar(500),
    @GroupBy varchar(100),
    @OtherCols varchar(1000) = Null)

AS
set nocount on
set ansi_warnings on


declare @Vals varchar(8000);
set @Vals = '';

set @OtherCols= isNull(', ' + @OtherCols,'')


create table #temp  (Pivots1 varchar(100))
insert into #temp
exec ('select distinct convert(varchar(100),' + @Pivots1Col + ',101) as Pivots1 FROM (' + @Select + ') A')


select @Vals = @Vals + ', ' +
    replace(replace(@Summaries,'(','(CASE WHEN ' + @Pivots1Col + '=''' + Pivots1 +  ''' THEN '),')[', ' END) as [' + Pivots1 )
    from #Temp
order by Pivots1

drop table #Temp

exec ( 'select ' + @GroupBy + @OtherCols + @Vals +
       ' from (' + @Select + ') A GROUP BY ' + @GroupBy)


set nocount off
set ansi_warnings on
从sp上面我只想处理一些东西并通过那些SP Produce多列生成字段,但只显示两个第一列

range   TotalAccount    CL_Only CL_Only_Have_Rate   CL_Only_No_Rate EU_CL   EU_CL_Have_Rate EU_CL_No_Rate   EU_Only EU_Only_Have_Rate   EU_Only_No_Rate
12  3   1   1   0   2   2   0   0   0   0

它只会显示:range TotalAccount列,我的存储过程中是否有任何错误?

1 个答案:

答案 0 :(得分:1)

我会放弃动态存储过程设计 - SSRS不适用于这些。

相反,我会使用固定列显示数据,并在SSRS设计中使用列组。