随笔分类 -  FR-Tips

摘要:固定行标题 问题 SQL数据处理中,无论当日有无数据,都需要显示固定的行标题。 解决方案 方法一:UNION ALL + LEFT JOIN -- 核心就是使用了左连接的特性 select a.*, b.* from ( select '标题1' columnA from dual union al 阅读全文
posted @ 2025-06-01 16:00 灯熄帘摇月候身 阅读(27) 评论(0) 推荐(0)
摘要:常见问题处理 数据处理问题 除数为0处理 -- 转为0 case when 分母 = 0 then 0 else 分子/分母 end -- 转为null case when 分母 = 0 then null else 分子/分母 end -- nullif(column1, 0) 0转null 再 阅读全文
posted @ 2025-06-01 15:47 灯熄帘摇月候身 阅读(11) 评论(0) 推荐(0)
摘要:数值按照特定单位处理建议 处理方式 单位处理可通过以下方式实现: 数据集 条件格式 形态设置 数据列自定义显示 JS脚本 推荐方案 在数据集中处理单位转换 避免使用形态设置 $$$/10000,因为无数据时仍显示0值而非空值。 一般而言,null 和 0 值 是具有不同含义的。(但是还是要根据实际场 阅读全文
posted @ 2025-06-01 15:41 灯熄帘摇月候身 阅读(7) 评论(0) 推荐(0)
摘要:提升查询效率 问题 报表中使用 sql() 函数查询加密字符串,行数增多时严重影响加载速度。 解决方案 将加密串查询逻辑移到数据集中,一次性获取所有数据。 示例 select column1, column2, ..., columnN, (select A.test('&para1='||colu 阅读全文
posted @ 2025-06-01 15:34 灯熄帘摇月候身 阅读(5) 评论(0) 推荐(0)
摘要:下拉全选查询包含空值 问题 下拉复选框全选时,除了查询选中的值,还需要包含对应列的空值(null)。 解决方案 在数据集查询条件中添加: ${if(count(split(参数控件名,"','"))=9," or 筛选的列名 is null ", "")} 优化(可选) 将固定值9改为动态参数: 添 阅读全文
posted @ 2025-06-01 15:07 灯熄帘摇月候身 阅读(20) 评论(0) 推荐(0)
摘要:FR图表Y轴添加单位 方法一:自定义坐标轴标签(推荐) 操作路径: 图表属性 → 样式 → 坐标轴 → Y轴 → 坐标轴标签 // 自定义函数 function() { var m = this / 10000; return m + "万吨"; } 优点: 灵活,可自定义计算逻辑和显示格式 方法二 阅读全文
posted @ 2025-05-30 01:02 灯熄帘摇月候身 阅读(28) 评论(0) 推荐(0)
摘要:FR日期控件默认值的一种写法 概述 在FR报表中,经常需要为起始时间控件设定合理的默认值。本文档整理了常用的日期默认值设置方法,包括交易日和自然日的不同计算方式。 应用场景 场景 描述 常用天数 财务报表 查询最近交易日数据 20交易日 运营分析 查询最近自然日数据 30自然日 月度报告 查询本月或 阅读全文
posted @ 2025-05-29 23:58 灯熄帘摇月候身 阅读(25) 评论(0) 推荐(0)
摘要:FR动态多表查询解决方案 业务场景 问题描述: 数据按天存储在不同表中,表名格式为 TableName_YYYY_MM_DD,需要查询指定日期范围的数据。 挑战: 无法提前确定需要查询哪些表,传统的多表 UNION ALL 方式不适用。 核心解决思路 通过动态获取表名列表,使用字符串替换技术生成 U 阅读全文
posted @ 2025-05-29 22:29 灯熄帘摇月候身 阅读(26) 评论(0) 推荐(0)
摘要:FR日期格式处理常用公式 概述 FR报表中经常需要处理各种格式的日期字符串,本文档整理了常用的日期格式转换公式和技巧。 常用日期格式转换 1. "DD-MMM-YY" 格式转换 格式示例: 01-Aug-20 转换公式: TODATE(DATE( CONCATENATE("20", RIGHT("0 阅读全文
posted @ 2025-05-29 22:13 灯熄帘摇月候身 阅读(38) 评论(0) 推荐(0)
摘要:雷达图固定分类数据处理 应用场景 当需要展示固定维度(如12个月)的雷达图对比时,即使某些月份没有数据,也要保持图表维度的完整性。 核心思路 通过创建包含所有固定分类的临时表,然后使用 LEFT JOIN 关联实际数据,确保所有分类都能在雷达图中显示。 实现方案 1. 创建固定分类临时表 WITH 阅读全文
posted @ 2025-05-29 19:09 灯熄帘摇月候身 阅读(25) 评论(0) 推荐(0)
摘要:报表动态排序的实现方案 概述 介绍通过单击同一列头实现升序和降序切换的方案。 实现原理 使用一个动态参数记录排序状态: 参数值为1:升序排列 参数值为2:降序排列 点击时自动切换状态 实现步骤 1. 创建动态参数 参数名称: order1 默认值: 1 2. 配置参数切换逻辑 -- 参数切换 if( 阅读全文
posted @ 2025-05-28 21:36 灯熄帘摇月候身 阅读(37) 评论(0) 推荐(1)
摘要:字符串分割与处理 概述 字符串分割和处理是数据处理中的常见需求,涉及多种应用场景。本文整合了常用的字符串处理方法和技巧,帮助开发者快速掌握字符串操作技术。 常见应用场景 1. 提取字符串中的数字 从混合字符串中提取数字是常见需求,例如从"产品A123B456"中提取"123456"。 实现方法: 使 阅读全文
posted @ 2025-05-28 21:20 灯熄帘摇月候身 阅读(40) 评论(0) 推荐(0)
摘要:FR中动态参数注入的使用 概述 动态参数注入是将报表区域的参数传入到数据集中的技术,实现数据集间的动态关联。 基本原理 传统方式: 参数面板 → 控制数据集变化 动态参数注入: 报表结果 → 作为参数传入其他数据集 实现流程 数据集A (主数据集) → 展示结果 → 报表单元格 → 动态参数 → 数 阅读全文
posted @ 2025-05-28 21:05 灯熄帘摇月候身 阅读(20) 评论(0) 推荐(0)
摘要:字符串拼接的注意事项 问题描述 在使用 + 进行字符串拼接时,可能会遇到一些意外的结果。例如: "202006" + "01" -- FR中公式,预期结果:"20200601" -- 实际结果:202007 原因分析 当使用 + 运算符时,如果操作数中包含数字形式的字符串,FR报表会尝试将其转换为数 阅读全文
posted @ 2025-05-28 20:17 灯熄帘摇月候身 阅读(18) 评论(0) 推荐(0)
摘要:父子格与格间运算 概述 父子格和格间运算是FR报表中非常重要的功能,常用于: 计算同环比 计算排名 处理层级数据结构 父子格 父子格与层级关系单元格扩展相关,主要用于展示类似"大类包含小类"的层级数据结构。虽然基本用法不复杂,但这是FR报表中非常重要的内容。 格间运算 格间运算主要用于解决以下问题: 阅读全文
posted @ 2025-05-28 20:17 灯熄帘摇月候身 阅读(30) 评论(0) 推荐(0)
摘要:SQL 自定义分页实现方案 报表自带分页功能,但当数据过大时,建议进行 SQL 自定义分页(手动) 基础版实现 实现思路 SQL 查询总记录数,固定每页行数,得出总页数 用动态参数表征翻页功能,传参到主数据集中查询对应数据行 具体步骤 1. 建立计算总页数数据集(命名"分页") select dec 阅读全文
posted @ 2025-05-28 20:17 灯熄帘摇月候身 阅读(28) 评论(0) 推荐(0)