说我想在列表中找到十个最常见的东西。 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;
但是,在公式中我预计会出现一个数字。
编辑:以为我还需要初始化一个数组来存放结果? 非常感谢任何帮助!
答案 0 :(得分:0)
您的公式存在一些问题。最值得注意的是:
i
。NthMostFrequent()
的调用并未将其结果保存在任何位置。您是对的,因为您需要使用数组来保存您的价值。试试这个
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()
似乎不接受第一个参数值的变量;它必须传递一个显式整数。这种方法不起作用。