reporting services 矩正 如何添加固定列 10kaixinmutou88]

发布时间:2014-1-1 0:09:49编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"reporting services 矩正 如何添加固定列 10kaixinmutou88]",主要涉及到reporting services 矩正 如何添加固定列 10kaixinmutou88]方面的内容,对于reporting services 矩正 如何添加固定列 10kaixinmutou88]感兴趣的同学可以参考一下。

报表整体效果如下图 报表中以下部分是动态的 最后两列为固定列, 这个报表该如何实现啊, 高手帮帮忙!!!!!!!!!!!!!!

啊哦 没图

如果无法看到图片,可打开 http://wenwen.soso.com/z/q153124639.htm 谢谢各位了 动态部分差不多已经完成了

/*★★★★★soft_wsx  2009-08-09 14:08:28.733★★★★★*/ --原始数据如下 if object_id('[tb]') is not null drop table [tb] go create table [tb]([id] int,[index] int,[xm] varchar(3),[xm1] numeric(2,1),[xm2] numeric(2,1),[hz] numeric(5,2)) insert [tb] select 8,3,'wdy',5.0,5.0,10.00 union all select 9,3,'hzs',5.0,5.0,12.00 union all select 10,3,'xjb',4.0,6.0,15.00 union all select 16,4,'wdy',5.0,5.0,11.00 union all select 17,4,'hzs',5.0,5.0,114.00 union all select 18,4,'xjb',5.0,5.0,20.00 union all select 19,5,'wdy',4.0,6.0,12.00 union all select 20,5,'hzs',5.0,5.0,18.00 union all select 21,5,'xjb',4.0,6.0,19.00 --------------开始查询-------------------------- declare @sql varchar(8000) set @sql =  select @sql = @sql + ' , sum(case xm when ''' + xm + ''' then hz else 0 end) [' + xm + ']' set @sql = @sql +  exec(@sql)  alter proc dbo.hljcbb  -- exec dbo.hljcbb as declare @sql_head                           nvarchar(4000),         @sql_foot                           nvarchar(4000),         @sql_body                           nvarchar(4000),         @sql_variable_definition            nvarchar(4000),         @sql_variable_init                  nvarchar(4000),         @sql_variable_set                   nvarchar(4000),         @groups                             varchar(100) -->>>>>>1、确定需要定义的变量个数>>>>>>>>>drop table #1 select    id=identity(int,0,1),    gs=0,    fieldvalue=CAST(                    N','+quotename(xm)                    +N'=max(case when xm='+quotename(xm,N'''')                    +N' then hz else 0 end)'                    as Nvarchar(4000))   into #1 from (select distinct xm from tb) as a                                  --要修改的临时表生成部分   group by [xm]      --select * from #1     -->>>>>2、分临时时表,通过G字段的值决定当前的处理代码应保存在那个变量中  update A     set @groups=id/l,[email protected]    from #1 a       cross join(select l=3800/max(LEN(FIELDVALUE)) from #1)b -->>>>>>3.生成数据处理语句--select * from #1 select @sql_head=N''''+REPLACE('select  [index]',N'''',N'''''')+N'''',            --要修改的部分        @sql_foot=N''''+REPLACE(' from tb group by [index]',N'''',N'''''')+N'''',  --要修改的部分        @sql_variable_definition=N'',        @sql_variable_init=N'',        @sql_variable_set=N'',        @sql_body=N'' while @groups>=0   select      @sql_variable_definition=N',@[email protected]+N' nvarchar(4000)[email protected]_variable_definition,     @sql_variable_init=N',@[email protected]+N'=N''''',     @sql_variable_set=N',@[email protected]+N'=case                                           when [email protected]+N' then @[email protected]+N'+fieldvalue                                          else @[email protected]+N'                                        [email protected]_variable_set,     @sql_body=N'+@[email protected][email protected]_body,     @[email protected] --去掉各变量中多余的前导符号 select      @sql_variable_definition=STUFF(@sql_variable_definition,1,1,N''), --stuff删除指定位置开始,指定数目的字符串,并在指定位置插入字符     @sql_variable_init=STUFF(@sql_variable_init,1,1,N''),     @sql_variable_set=STUFF(@sql_variable_set,1,1,N''),     @sql_body=STUFF(@sql_body,1,1,N'') print @sql_head print @sql_foot print @sql_variable_definition print @sql_variable_set print @sql_variable_init print @sql_body --执行 exec(N'declare [email protected]_variable_definition+      N'select [email protected]_variable_init+      N'select [email protected]_variable_set+      N' from #1 exec([email protected]_head+N'         [email protected]_body+N'         [email protected]_foot+N')') go exec dbo.hljcbb  --执行存储过程 /* 结果 index hzs wdy xjb 3 12.00 10.00 15.00 4 114.00 11.00 20.00 5 18.00 12.00 19.00 */动态报表

请问 楼上这个动态报表还可以在后面添加固定的列吗?

这个动态报表估计还是难以实现, 因为前面的区域也是不固定的!

有哪位高手能说说用矩正实现的方法吗?

reporting service 2005 不能处理. 但reporting service 2008 用tablix 可以处理这样的非平衡报表.

引用 7 楼 zlp321002 的回复:reporting service 2005 不能处理. 但reporting service 2008 用tablix 可以处理这样的非平衡报表. 居然引出来一个老老老前辈。。。 膜拜


上一篇:警告: 全文目录 'FT_pubs' 使用 FAT 卷 100yangqiang0619]
下一篇:sql2005 reporting Server 初始化时报rpc服务器未在侦听 100hbjmdx008]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款