假设我想在列表中找到十个最常见的东西。 Crystal Reports 允许您使用 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;

但不能说公式中的 i 处需要一个数字。

编辑:认为我还需要初始化一个数组来存放结果? 很感谢任何形式的帮助!

#1楼 票数:0

你的公式有几个问题。 最为显着地:

  1. 在第 3 行,您尝试在i初始化之前使用它。
  2. 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()不会接受其第一个参数值的变量; 它必须传递一个显式整数。 这个方法行不通。

  ask by Brinn Riordan translate from so

未解决问题?本站智能推荐:

1回复

无效的索引,在水晶报表上循环

我在将Crystal报告字段用于for循环时遇到问题。 我正在尝试从我的报告中提取所有SQLExpressionFieldDefinition。 为了做到这一点,我在报表中获取了SQLExpressionFieldDefinition的计数。 for循环可以完美工作,直到上一次迭代
1回复

水晶报表公式

首先,我是Crystal的超级初学者 接下来,我尝试编写一个公式,该公式最终在给定日期范围参数@ 1stofMonth的情况下产生该月的第一天 目前@ 1stmonth是minimum ({?DateRange}) 当时我的想法是minimum (LastFullMonth)
2回复

水晶报表公式

在开始之前,我是编写公式的初学者。 我在Crystal Report中写的字段公式基本上是: FIELD-百万 我希望该字段减去1000000,除非该字段为0 如何添加“除非字段为0”
1回复

基于条件的水晶报表中的求和公式

我创建一个公式“ class_section”:{Monthlyfeemaster.Class}和{Monthlyfeemaster.Section} 然后创建一个公式 sum_tuition_class_section:sum({Monthlyfeemaster.Tuition F
2回复

水晶报表中布尔列上的 if else 公式

我的列有 0 和 1 值。 我想要如果列值为 1 则“活动”否则“不活动”。 我的公式是 它给了我一个错误,这里需要一个布尔值。
1回复

水晶报表循环

我有一个正在运行的总计,并希望在满足条件时停止它。 例如:我有100个存货; 数量是从采购订单接收交易中累积的,如下所示: 运行总数应该停在第。 4,因为它已经达到STOCK数量100。 如何才能做到这一点?
1回复

水晶报表公式 If then else

我试图找到如何在purchaseorder.CUR =“IDR”时删除字段purchaseorder.UPRI中的2位小数的方法。 我尝试过的方法不能帮助我解决我的问题 我该如何解决? 这里有人可以帮我解决问题吗? 这是我的代码;
1回复

水晶报表公式语法

我有一份报告正在尝试在Crystal中进行修改。 它具有一个包含公式的数据字段,但是我想使用另一个公式。 这是我正在尝试做的一个例子。 我有针对市场租金而构建的ADO命令,以及开始日期和结束日期。 在我的示例中,月份只是一个示例。 我不确定如何获取在过滤器页面上输入的ADO命