在水晶报表中排除具有空值的数据

时间:2017-03-29 07:54:18

标签: visual-studio-2010 crystal-reports

我在水晶报道中有这个公式

Global NumberVar Array Z := [
IF isnull({MIPIRReport;1.1}) then 0 else tonumber({MIPIRReport;1.1}) , 
IF isnull({MIPIRReport;1.2}) then 0 else tonumber({MIPIRReport;1.2}) , 
IF isnull({MIPIRReport;1.3}) then 0 else tonumber({MIPIRReport;1.3}) , 
IF isnull({MIPIRReport;1.4}) then 0 else tonumber({MIPIRReport;1.4}) , 
IF isnull({MIPIRReport;1.5}) then 0 else tonumber({MIPIRReport;1.5}) , 
IF isnull({MIPIRReport;1.6}) then 0 else tonumber({MIPIRReport;1.6}) , 
IF isnull({MIPIRReport;1.7}) then 0 else tonumber({MIPIRReport;1.7}) , 
IF isnull({MIPIRReport;1.8}) then 0 else tonumber({MIPIRReport;1.8}) , 
IF isnull({MIPIRReport;1.9}) then 0 else tonumber({MIPIRReport;1.9}) , 
IF isnull({MIPIRReport;1.10}) then 0 else tonumber({MIPIRReport;1.10}) ];

Minimum (Z)

我想要的是当数据为空时,它应该在我的报告中排除

对于图形示例,值如下:

1.1,1.2,1.9,1.5,1.88,0,0,0,0,0

其中0表示空值,1表示值。

我想获得最小值,即1.1而不是0。我该怎么办?

请注意,示例中的每个数字都是我的水晶报告中的不同字段,其名称如下:

1,2,3,4,5,6,7,8,9,10

1 个答案:

答案 0 :(得分:0)

您可以尝试两种方式。

如果要存储空值,则可以将2个数组用于仅存储空的0和另一个存储其他值的数组。

如果您不需要存储0,请以这种方式更改公式:

Global NumberVar Array Z;

IF isnull({MIPIRReport;1.1}) then 0 else Z:= tonumber({MIPIRReport;1.1}) , 
IF isnull({MIPIRReport;1.2}) then 0 else Z:= tonumber({MIPIRReport;1.2}) , 
IF isnull({MIPIRReport;1.3}) then 0 else Z:= tonumber({MIPIRReport;1.3}) , 
IF isnull({MIPIRReport;1.4}) then 0 else Z:= tonumber({MIPIRReport;1.4}) , 
IF isnull({MIPIRReport;1.5}) then 0 else Z:= tonumber({MIPIRReport;1.5}) , 
IF isnull({MIPIRReport;1.6}) then 0 else Z:= tonumber({MIPIRReport;1.6}) , 
IF isnull({MIPIRReport;1.7}) then 0 else Z:= tonumber({MIPIRReport;1.7}) , 
IF isnull({MIPIRReport;1.8}) then 0 else Z:= tonumber({MIPIRReport;1.8}) , 
IF isnull({MIPIRReport;1.9}) then 0 else Z:= tonumber({MIPIRReport;1.9}) , 
IF isnull({MIPIRReport;1.10}) then 0 else Z:= tonumber({MIPIRReport;1.10}) ;

Minimum (Z)

让我知道它是怎么回事