发新话题
打印

字典或者交叉索引的索引值问题

字典或者交叉索引的索引值问题

索引值不使用另一个索引,而是变量或者常量,则引用不到值。
是使用不当还是使用错误?

TOP

例如inx_day.@DAY_NAME{9}取值为空,索引值为9的项是存在的。
inx_day.@DAY_NAME{$DAY_T}能取到值,其中DAY_T是个分组索引。

TOP

可能是由于数值类型,不一致造成的。inx_day.@DAY_NAME{9} 里的9,会自动转换成Integer实例,而$DAY_T,可能不是Integer实例,所以出现$DAY_T可以,9不可以的问题。

解决办法:
取得$DAY_T的类型,并使9转换成同类型实例。具体方法是,加一个文本对象,设公式,=($DAY_T).getClass()   取得 $DAY_T的类型,比如是 BigDecimal,那么,你也 需要把9改成这个类型的实例,如:
=inx_day.@DAY_NAME{new BigDecimal(9)}

TOP

确实是类型问题。已经处理掉,谢谢!
另有一个问题,创建数据集时如何定义各字段类型,因为我的sql语句相对复杂,很多字段都是统计,不是原始字段。
有些整数类型字段可以直接定义成int类型,而非缺省的BigDecimal。例如上面问题里的场景,索引项直接定义成整数类型。
帮助文档里没找到数据集创建时如何定义字段类型。

TOP

发新话题