【发布时间】:2016-05-23 09:47:59
【问题描述】:
我正在尝试减小T-SQL 查询返回到Reporting Services 的数据大小。例如,假设我们有以下行集:
ID Country City
1 Germany Berlin
2 Germany Berlin
3 Germany Berlin
4 Germany Berlin
5 Germany Hamburg
6 Germany Hamburg
7 Germany Hamburg
8 Germany Hamburg
9 Germany Berlin
10 Germany Berlin
它可以很容易地转换成这样:
ID Country City
1 Germany Berlin
2 NULL NULL
3 NULL NULL
4 NULL NULL
5 NULL Hamburg
6 NULL NULL
7 NULL NULL
8 NULL NULL
9 NULL Berlin
10 NULL NULL
由于我可能有成千上万个重复值(和数百列),我知道像这样使用NULLs 转换数据会大大减少返回数据的大小。
如果当前是NULL,是否可以实现一个公式,获取上一行的列值?
我想测试仅渲染大量数据或处理较小数据但应用这样的表达式是否会更快。
【问题讨论】:
-
我认为这不能通过使用带有内置函数的表达式来完成。它可以通过使用自定义代码来完成,但考虑到您有数百列,它会影响处理时间。在减少数据检索时间的同时,也增加了处理时间。
标签: tsql reporting-services sql-server-2014