热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

finereport_FineReport:2.单元格值呈递增或递减趋势,且首尾(首尾单元格间隔六个以内)增幅或降幅大于10%的背景色标红

篇首语:本文由编程笔记#小编为大家整理,主要介绍了FineReport:2.单元格值呈递增或递减趋势,且首尾(首尾单元格间隔六个以内)增幅或降幅大于10%的背景色标红相关的知识,希望对你有一定的

篇首语:本文由编程笔记#小编为大家整理,主要介绍了FineReport:2.单元格值呈递增或递减趋势,且首尾(首尾单元格间隔六个以内)增幅或降幅大于10%的背景色标红相关的知识,希望对你有一定的参考价值。




没什么好的思路
还是用了条件属性层次坐标的方式实现
这是个穷举的笨方法
眼睛也写花了
而且FR的设置窗口真的是窗口哎 都不能调大小的
难以想象 下面那么多公式 以后要修改可咋整
//变化趋势:相邻两个,最大值与最小值之间相差10%,共计4种情况
//与右边比较
$F3 > F3[;F1:+1] && len(F3[;F1:+1]) > 0 && abs($F3 - F3[;F1:+1]) > $sNum
$F3 0 && abs(F3[;F1:+1] - $F3) > $sNum
//与左边比较
$F3 > F3[;F1:-1] && len(F3[;F1:-1]) > 0 && abs($F3 - F3[;F1:-1]) > $sNum
$F3 0 && abs(F3[;F1:-1] - $F3) > $sNum
//变化趋势:相邻三个,形成递增或递减趋势,最大值与最小值之间相差10%,共计6种情况
//与右边比较
$F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs($F3 - F3[;F1:+2]) > $sNum
$F3 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:+2] - $F3) > $sNum
//与左边比较
$F3 > F3[;F1:-1] && F3[;F1:-1] > F3[;F1:-2] && len(F3[;F1:-1]) > 0 && len(F3[;F1:-2]) > 0 && abs($F3 - F3[;F1:-2]) > $sNum
$F3 0 && len(F3[;F1:-2]) > 0 && abs(F3[;F1:-2] - $F3) > $sNum
//中间值,与左右两边比较
$F3 F3[;F1:-1] && len(F3[;F1:+1]) > 0 && len(F3[;F1:-1]) > 0 && abs(F3[;F1:+1] - F3[;F1:-1]) > $sNum
$F3 > F3[;F1:+1] && $F3 0 && len(F3[;F1:-1]) > 0 && abs(F3[;F1:-1] - F3[;F1:+1]) > $sNum
//变化趋势:相邻四个,形成递增或递减趋势,最大值与最小值之间相差10%,共计8种情况
//与右边比较
$F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs($F3 - F3[;F1:+3]) > $sNum
$F3 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs(F3[;F1:+3] - $F3) > $sNum
//与左边比较
$F3 > F3[;F1:-1] && F3[;F1:-1] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-3] && len(F3[;F1:-1]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && abs($F3 - F3[;F1:-3]) > $sNum
$F3 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && abs(F3[;F1:-3] - $F3) > $sNum
//中间值,与左右两边比较
//第二中间位置
F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:-1] - F3[;F1:+2]) > $sNum
F3[;F1:-1] <$F3 && $F3 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:+2] - F3[;F1:-1]) > $sNum
//第三中间位置
F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:-2] - F3[;F1:+1]) > $sNum
F3[;F1:-2] 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:+1] - F3[;F1:-2]) > $sNum
//变化趋势:相邻五个,形成递增或递减趋势,最大值与最小值之间相差10%,共计10种情况
//与右边比较
$F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && F3[;F1:+3] > F3[;F1:+4] && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && abs($F3 - F3[;F1:+4]) > $sNum
$F3 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && abs(F3[;F1:+4] - $F3) > $sNum
//与左边比较
$F3 > F3[;F1:-1] && F3[;F1:-1] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-3] && F3[;F1:-3] > F3[;F1:-4] && len(F3[;F1:-1]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-4]) > 0 && abs($F3 - F3[;F1:-4]) > $sNum
$F3 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-4]) > 0 && abs(F3[;F1:-4] - $F3) > $sNum
//中间值,与左右两边比较
//第二中间位置
F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs(F3[;F1:-1] - F3[;F1:+3]) > $sNum
F3[;F1:-1] <$F3 && $F3 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs(F3[;F1:+3] - F3[;F1:-1]) > $sNum
//第三中间位置
F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:-2] - F3[;F1:+2]) > $sNum
F3[;F1:-2] 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:+2] - F3[;F1:-2]) > $sNum
//第四中间位置
F3[;F1:-3] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && len(F3[;F1:-3]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:-3] - F3[;F1:+1]) > $sNum
F3[;F1:-3] 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:+1] - F3[;F1:-3]) > $sNum
//变化趋势:相邻六个,形成递增或递减趋势,最大值与最小值之间相差10%,共计12种情况
//与右边比较
$F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && F3[;F1:+3] > F3[;F1:+4] && F3[;F1:+4] > F3[;F1:+5] && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && len(F3[;F1:+5]) > 0 && abs($F3 - F3[;F1:+5]) > $sNum
$F3 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && len(F3[;F1:+5]) > 0 && abs(F3[;F1:+5] - $F3) > $sNum
//与左边比较
$F3 > F3[;F1:-1] && F3[;F1:-1] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-3] && F3[;F1:-3] > F3[;F1:-4] && F3[;F1:-4] > F3[;F1:-5] && len(F3[;F1:-1]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-4]) > 0 && len(F3[;F1:-5]) > 0 && abs($F3 - F3[;F1:-5]) > $sNum
$F3 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-4]) > 0 && len(F3[;F1:-5]) > 0 && abs(F3[;F1:-5] - $F3) > $sNum
//中间值,与左右两边比较
//第二中间位置
F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && F3[;F1:+3] > F3[;F1:+4] && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && abs(F3[;F1:-1] - F3[;F1:+4]) > $sNum
F3[;F1:-1] <$F3 && $F3 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && len(F3[;F1:+4]) > 0 && abs(F3[;F1:+4] - F3[;F1:-1]) > $sNum
//第三中间位置
F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && F3[;F1:+2] > F3[;F1:+3] && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs(F3[;F1:-2] - F3[;F1:+3]) > $sNum
F3[;F1:-2] 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && len(F3[;F1:+3]) > 0 && abs(F3[;F1:+3] - F3[;F1:-2]) > $sNum
//第四中间位置
F3[;F1:-3] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && F3[;F1:+1] > F3[;F1:+2] && len(F3[;F1:-3]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:-3] - F3[;F1:+2]) > $sNum
F3[;F1:-3] 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && len(F3[;F1:+2]) > 0 && abs(F3[;F1:+2] - F3[;F1:-3]) > $sNum
//第五中间位置
F3[;F1:-4] > F3[;F1:-3] && F3[;F1:-3] > F3[;F1:-2] && F3[;F1:-2] > F3[;F1:-1] && F3[;F1:-1] > $F3 && $F3 > F3[;F1:+1] && len(F3[;F1:-4]) > 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:-4] - F3[;F1:+1]) > $sNum
F3[;F1:-4] 0 && len(F3[;F1:-3]) > 0 && len(F3[;F1:-2]) > 0 && len(F3[;F1:-1]) > 0 && len(F3[;F1:+1]) > 0 && abs(F3[;F1:+1] - F3[;F1:-4]) > $sNum

  



推荐阅读
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 三菱PLC SLMP协议报文详解
    本文详细解析了三菱PLC中使用的SLMP协议报文结构,包括其工作原理、通信流程及报文格式,旨在帮助工程师和技术人员更好地理解和运用这一协议。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
author-avatar
逃跑的骨拉拉gf_761
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有