我有一个SSRS报告,当行数大于Excel 2003限制65536时,该报告无法导出到Excel
该报告已经具有组页脚的分组级别.
我试图在表达式上添加一个额外的分组级别和分页符
=ceiling(rownumber(nothing)/65536)
Run Code Online (Sandbox Code Playgroud)
但是,这会计算详细信息行,但不会考虑组页脚.因此,当实际行数超过65536时,rownumber的计算结果为53000.
以下表达式
=ceiling(RunningValue(Fields!myfirstgroup.Value, CountDistinct, Nothing) + rownumber(nothing) / 65536 )
Run Code Online (Sandbox Code Playgroud)
将给出包括组页脚在内的实际行数,但SSRS不允许在运行值表达式上使用组.
如何在65536行之后强制分页以允许导出到Excel?我曾希望在报告定义中完成此操作,并避免在查询中添加计算的页码.
任何帮助非常感谢
*更新 - 样本数据*
ItemDescription , Location , Quantity
Red lorry , M25 , 5
Red lorry , M6 , 2
Yellow lorry , M1 , 3
Run Code Online (Sandbox Code Playgroud)
报告对ItemDescription进行了分组,其中包含该项目的总计,因此它将显示
ItemDescription , Location , Quantity
Red lorry , M25 , 5
Red lorry , M6 , 2
Total for Red Lorry,7
Yellow lorry , M1 , 3
Total for Yellow Lorry,3
Run Code Online (Sandbox Code Playgroud)
这意味着从我的3行数据中,我有5个报告行,包括细节和页脚行.SSRS可以告诉我的数据集中有多少详细信息行,但我需要考虑页脚中断的页脚.
reportingservices-2005 sql-server-2008 reporting-services ssrs-grouping
有一个Union All查询,如下所示.在SQL Server中触发时,我收到错误
"无法解决SELECT语句中第1列的排序规则冲突."
请问,在哪里可以使用此Union All查询添加Collate database_default语句?
select OrgCode,null as OrgName,
Q1_A1 as A1Value,Q1_a2 as A2Value,'Quarter 1' as dt,((Q1_A1-Q1_A2)/case when Q1_A1<>0 then Q1_A1 else null end )*100 Percentage
from #Tabl_Quarter_Calculation
union all
select OrgCode,null as OrgName,Q2_A1 as A1Value,Q2_a2 as A2Value,'Quarter 2' as dt,((Q2_A1-Q2_A2)/case when Q2_A1=0 then null else Q2_A1 end )*100 Percentage
from #Tabl_Quarter_Calculation
union all
select [OrgCode],[OrgName],a1Value,a2Value,dt
,cast((a1value-a2value)/cast(a1value as real)*100 as varchar(10))+'%' Percentage
from #Tbl_Display1
union all
--4 week average
select [OrgCode],[OrgName],sum(a1Value) as a1Value,Sum(a2Value) as a2Value,max(dt) as dt
,cast((sum(a1value)-sum(a2value))/cast(sum(a1value) …Run Code Online (Sandbox Code Playgroud) sql-server ×1