首页| 水晶报表 | 润乾报表 | 快逸报表 | Birt报表 | 其他产品 | 报表教程 | 产品评述 | 技术文章 | 其他资料
>> 首页 -> 报表教程 ->层次坐标与相对坐标
层次坐标与相对坐标

  更加强有力的功能,是位移可以根据不同主格来实现不同的结果。如果我们写成C3[B3:-1],其含义是,在B3展开的格子中,相应向上一行,由此确定相应的C3格子。

  应该特别强调的是,相对位移,是针对[]里面所列的格子而言,而不是针对[]前面的格子。[]前面的格子是最终要确定的格子。我们通过下面的例子10.4.3.raq,可以看得更清楚:

  该报表的设计如下图所示:

  在这个例子中,C2格子里面的数据是通过表达式=string(A2)+"Q"+string(B2)生成的,这样看起来比较清楚,实际报表中,往往这里是来自数据库的实际业务数据。

  我们来看看D2、E2、F2、G2中的不同表达式及其结果:

  ①D2中的表达式是:=c2[-1],表示在所有c2中,当前所在行的c2的上一行的值。从显示的结果看,除第一行外,其它都依次显示的是上一行的c2值,也就是显示的是上期的值。这里我们可以特别注意一下下图中的红色部分。

  ②E2中的表达式是:=c2[b2:-1],表示在以b2为主格的坐标层次中,当前格(E2)从所在行的b2向上一行,选出相应的c2的值。

  同时,我们可以比较一下与D2显示结果的差别,会发现差别就是上图注明的红色部分。原因就是这里特别指明了坐标层次。

  b2单元格扩展出4个(季度),所以在以b2为主格的坐标层次中进行计算,不能跨出这个范围,只能在按年分组后的4个季度里作计算,所以不能做跨年的计算,每一年的第一行不会取出值。

  ③我们可以发现E2、F2格中表达式不同,但求出的结果是一样的。F2的表达式:=c2[a2,b2:-1],这次在[]里面出现了逗号“,”依次列出了两个主格和相对座标,这样可以进一步限定范围(注意:较远的主格应该在前面)。这个表达式的作用是:当前格(F2)所在行的a2不变,b2向上一行,选出相应的c2的值。即求同一“年(A2)”下,“上一季度(b2:-1)”的C2的值。这样我们就可以更清楚地理解为什么每一年的第一行不会取出值了。因为不考虑年的变化,第一季度是没有上一季度的。

  ④G2中的表达式是:=c2[a2:-1,b2],这个表达式的作用是:当前格(G2)所在行的a2向上一行,b2不变,选出相应的c2 的值。即求“上一年(a2 :-1)”,“同一季度(b2)”的C2的值。

  这个例子,可以帮助我们很清楚地理解层次坐标中的相对座标,但如果要更加清楚、熟练地掌握,还是应该多看一些样例表,多做一些练习。

  通过学习上例,我们求出了上期和去年同期(年份是上一年,季度不变)的值,进而可以求本期与上期的比和与去年同期的比了。

下一节: 一个复杂的例子

 

 相关内容:
 
 
 
 

Copy Right 2005, 版权所有 Report99.com