帆软统计函数之统计有效性

本文介绍如何使用GREPARRAY和COUNT函数在表格中统计有效数据的个数,包括统计非空值和非零值的方法,适用于数据管理和分析场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

范例1.有效性统计

在单元格中统计出产品名称有值的个数,输入公式=count(GREPARRAY(array(C3),len(item)!=0))或=count(GREPARRAY(array(C3),item!=""&&item!=null)):
222

公式的作用是首先将C3转为数组,过滤掉其中为空的记录,最后统计剩余记录即不为空的个数。

范例2.统计个数

 2.1统计个数

把这列数据拖入到A1单元格,设置从左到右扩展,并在A2单元格中填入:=count(A1),如下图所示:
222

分页预览,可以看到统计出A1扩展出来的的个数是7,效果如下图:
222

注:count函数会将空值的单元格也进行计数。

2.2 统计不为0的个数

若希望只统计不为0的个数,您可以按照如下设置,在B2单元格中填入:=count(A1{A1!=0})。

分页预览,可以看到统计出A1扩展出来的的个数变成6了,效果如下图:
222

 

注:可以在{}中设置条件来统计需要统计的个数,如希望统计不为空的个数,可以将公式改为=count(A1{len(A1) != 0})即可。

### FineReport 中 `ROW` 函数的使用说明 在 FineReport 报表工具中,`ROW()` 是一种常用的功能函数,主要用于获取当前记录所在的行号。以下是关于该函数的具体介绍以及其应用场景。 #### 1. ROW() 的基本定义 `ROW()` 函数用于返回当前数据区域中的行编号。它是一个动态计算字段,在不同场景下可以根据实际数据变化而调整结果[^1]。 - **语法**: ```plaintext ROW() ``` - **返回值**: 返回一个整数值,表示当前记录所在的数据行序号。 --- #### 2. 示例代码及其解释 ##### 示例 1: 显示每条记录对应的行号 假设有一个名为 `SCHOOL` 的数据库表,其中包含学生的信息(如姓名、年龄)。可以通过以下方式显示每一行对应的学生信息及行号: ```sql SELECT ROW_NUMBER() OVER () AS RowNum, Name, Age FROM SCHOOL; ``` 在此基础上,FineReport 支持通过内置函数进一步简化操作: ```javascript // 单元格公式示例 =ROW() ``` 上述公式的功能是在报表渲染过程中自动生成序列号,并将其填入指定单元格位置[^3]。 ##### 示例 2: 结合条件筛选生成特定范围内的行号 当需要基于某些过滤条件生成符合条件的结果列表并标注相应行号时,可以采用如下逻辑实现: ```javascript // 判断是否满足条件后再输出行号 IF(${len(batchId)==0}, "", " AND BATCH_ID='" + ${batchId} + "'") ``` 此片段展示了如何灵活运用 SQL 动态拼接技术配合 `ROW()` 实现复杂需求[^1]。 --- #### 3. 应用场景扩展 除了简单的行号标记外,`ROW()` 还能广泛应用于其他领域,比如分页导航设计、交叉分析图表构建等高级特性开发当中。下面列举几个典型例子供参考学习: - **分页效果增强** - 当前页面起始索引=`(_g().getParameterContainer().getWidgetByName("pageNo").getValue()-1)*pageSize+1`; - 页面结束索引=_g().getParameterContainer().getWidgetByName("pageNo").getValue()*pageSize; - **唯一性校验辅助** 使用 EXACT 函数验证两个字符串是否一致的同时,也可借助 ROW 提取异常项的位置以便后续排查修正工作更加高效快捷[^2]: ```javascript EXACT(A${ROW()}, B${ROW()}) ``` --- #### 4. 性能考量与注意事项 尽管 LinkedHashSet 和 LinkedHashMap 能够提升程序结构清晰度便于维护管理,但由于内部机制原因可能导致运行效率略微降低因此对于超大规模数据集需谨慎评估适用性[^4] 。 此外还需注意单位转换规则以防因误解造成错误解读最终影响整体准确性[^5] 。 --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值