对于水晶报告中的公式内部的循环

时间:2015-01-14 19:29:14

标签: for-loop crystal-reports

说我想在列表中找到十个最常见的东西。 Crystal报告允许您使用Nthmostfrequent函数逐个执行此操作。我很好奇,如果我们能够更有效地说使用for循环...

我试过

local numbervar i;
local stringvar result;
local stringvar result = nthmostfrequent(i,{ticket.diagnosis});
for i :=1 to 10 do
(
    nthmostfrequent(i,{ticket.diagnosis});
    i := i+1;
);
result;

但是,在公式中我预计会出现一个数字。

编辑:以为我还需要初始化一个数组来存放结果? 非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您的公式存在一些问题。最值得注意的是:

  1. 在第3行,您在初始化之前尝试使用i
  2. NthMostFrequent()的调用并未将其结果保存在任何位置。您是对的,因为您需要使用数组来保存您的价值。
  3. 试试这个

    local numbervar i;
    local stringvar array result;
    redim result [10];
    
    for i :=1 to 10 do
        (
          result[i]:=nthmostfrequent(i,{ticket.diagnosis})
        );
    
    //A formula cannot evaluate to an array. This collapses the array into a string
    join(result, ', ')
    

    编辑:NthMostFrequent()似乎不接受第一个参数值的变量;它必须传递一个显式整数。这种方法不起作用。