Findreport中框架图使用的注意事项

news2025/2/28 17:43:48

目录

简介

测试数据

闭环链路关系

解决办法:

根不唯一

解决办法:


简介

        在框架图的应用中,一些表达上下游关系的数据非常适合用于做链路图相关的报表。可以展示成雪花图,普通架构图。但是在实际操作中有几点关于数据的注意事项需要留意。

        关于框架的基本使用方法帆软官方帮助文档中,已经给出教程。可以自行前往观看。

测试数据

使用版本

数据库:Oracle19C

报表:Finereport-11

CREATE TABLE employees (
  id NUMBER(10) NOT NULL,
  name VARCHAR2(100) NOT NULL,
  manager_id NUMBER(10),
  CONSTRAINT employees_pk PRIMARY KEY (id),
  CONSTRAINT employees_fk FOREIGN KEY (manager_id) REFERENCES employees(id)
);


 DECLARE
  i NUMBER;
BEGIN
  i := 1;
  INSERT INTO employees (id, name, manager_id) VALUES (i, 'Employee ' || i, NULL);
  FOR i IN 2..50 LOOP
    INSERT INTO employees (id, name, manager_id) VALUES (i, 'Employee ' || i, MOD(i,10)+1);
  END LOOP;
  COMMIT;
END;

select  *  from employees ;

        此时框架图没有问题

闭环链路关系

        id为1依然是置顶,我们给数据做一次修改,使其数据形成一个闭环的递归下转关系。

update employees 
set manager_id=25 where id = 1

        报表端预览数据是否更新成功(注意数据库AC状态是否开启。以报表段预览的数据为准)

        此时我们再看一下报表展示效果。其闭环的下钻关系,导致其无法成功展示出来

当整个链路没有形成闭环的时候,数据便不可展示,

        解决办法:

        此时我们就需要把闭环的链路进行断开,使其能形成单向下钻的数据链路

根不唯一

        在这个数据的递归关系中,ID为1的数据,我们称之为“根”,做框架图,需要保证其根是唯一的,如果不唯一,在框架图中会随机抽取一个根进行下转。

此时我们删刚刚ID为1的数据使其“根”不唯一

以下删掉1,20各位造的数据随机性不一样,需要根据情况删除

delete from   employees where id =1
delete from   employees where id =20

select  *  from employees

        注:本文中采用事务随机生成数据,各位模仿者,请根据生成数据的实际情况进行删除,以达到本博文的实际效果。

            此时可以通过递归查看部分根的关系

SELECT id, name, manager_id,level 
FROM employees
START WITH manager_id  =20  
CONNECT BY PRIOR id = manager_id;

 
 

        (至于为什么删掉1,20,在finereport,其会采用string的数据类型以第一列为准,在框架图中,会优先检索父节点值为空数据为“根”进行下钻,当根不唯一的时候,其“根”的选择会具有不可控性。所以我们根据他选择的“根”将1,10删掉后,20会作为“根”进行下转)。  

        此时ID为20的数据其没有可以进行下钻的层级

    

          此时我们再观看报表的展示情况

        关于框架图,当“根”不唯一的时候,其并不会产生扩散效果。

        解决办法:

        当“根”不唯一,我们可以增加一个节点作为当前所有“根”的上一层级,使其汇总到新增的“根”上,当然这个新增的“根”可以作为一个主题名称、公司名称、业务名称存在。如下图所示。

         如对本文中相关的操作仍有疑问,欢迎私信咨询。

        希望能帮助各位。双击三连。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1267974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链式栈基础

一.链式栈的栈顶在哪里? 二.链栈的结构: typedef struct LSNode { int data; struct LSNode* next; }LSNode ,*PLStack; //链栈的节点.由于栈顶在第一个数据节点,所以不需要top指针 三.链式栈的实现: //初始化 void InitStack(PLStack ps) { assert(ps ! NULL); if …

IBM ServeRAID M1015阵列卡 支持RAID5,需要配件

最近一台IBM x3400m3的旧服务器,折腾一下,要添置硬盘,重做RAID,阵列卡是ServeRAID M1015,默认进去WebBIOS,只有RAID0和RAID1,没有RAID5,参考官方原版的手册,如下图&#…

centos系列:【 全网最详细的安装配置Nginx,亲测可用,解决各种报错】

全网最详细的安装配置Nginx,亲测可用,解决各种报错 全网最详细的安装配置Nginx1、 安装环境依赖2、 下载Nginx包3、编译Nginx4、安装Nginx5、启动Nginx6、配置Nginx7、了解Nginx服务的主配置文件 nginx.conf8、基于授权的访问控制9、基于IP和端口的访问控…

【Redis基础】Redis基本的全局命令

✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! Redis基本的全局命令 1,KEYS命令 语法:KEYS pattern KEYS命令用来查询服…

vivado综合分析与收敛技巧2

1、分解深层存储器配置 , 实现功耗与性能平衡 在深层存储器配置中 , 可使用综合属性 RAM_DECOMP 实现更好的存储器分解并降低功耗。此属性可在 RTL 中设置。将RAM_DECOMP 属性应用于存储器时 , 存储器是在较宽的原语配置中设置的 &#x…

Kubernetes(K8s)-Kubernetes介绍-01

Kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署: 互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程…

现代C++之万能引用、完美转发、引用折叠

现代C之万能引用、完美转发、引用折叠 0.导语1.问题引入2.引入万能引用3.万能引用出现场合4.理解左值与右值4.1 精简版4.2 完整版4.3 生命周期延长4.4 生命周期延长应用5.区分万能引用6.表达式的左右值性与类型无关7.引用折叠和完美转发7.1 引用折叠之本质细节7.2 示例与使用7.…

IO多路复用就这么简单?

通过本文你可学到: 阻塞IO、非阻塞IO的区别、优缺点; IO多路复用的原理,为什么高性能; select原理、优缺点; poll原理、优缺点; epoll原理、优缺点 select、poll、epoll 到底是同步IO还是异步IO? ep…

CSS核心功能手册:从熟悉到精通

CSS核心功能代码 文章目录 CSS核心功能代码[toc]参考HTML代码尺寸操作设置元素尺寸内边距外边距设置默认布局边距用途和使用场景: 背景设置**背景颜色 (background-color)**:**背景图像 (background-image)**:**背景重复 (background-repeat)**:**背景位置 (backgro…

绘制彩色正多边形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第10讲。 绘制彩色正多边形…

ffmpeg 免安装,配置环境变量

1、下载ffmpeg https://download.csdn.net/download/qq284489030/88579595 2、解压 解压ffmpeg-4.4-essentials_build.zip到目标文件夹,比如 d:\apps下; 3、配置环境变量 (1)电脑桌面鼠标右键点击“此电脑”,弹出…

Abaqus飞机起落架扭力臂拓扑优化

Abaqus飞机起落架扭力臂拓扑优化 Abaqus除了可以对结构进行强度分析,同样也自带强大的优化功能,下面通过一个简 单的实例演示在Abaqus中进行拓扑优化,另外,如果需要更加强大的拓扑优化仿真,可以 在TOSCA中进行。 定义接…

揭秘发布订阅模式:让消息传递更高效

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Unity中Shader优化通用规则

文章目录 前言一、精度优化1、三种精度 fixed / half / float2、位置坐标、物理坐标类使用float3、HDR颜色、方向向量类使用half4、普通纹理、颜色类使用 fixed5、实际上,使用的精度取决于 平台 和 GPU6、现在桌面级GPU都是直接采用 float , Shader中的 fixed / hal…

【STM32】OLED显示屏

1 调试方式 1. 串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息 2. 显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上 3. Keil调试模式:借助Keil软件的调试模…

直接套用的软件详细设计说明书

软件开发全套资料过去进主页!

Libavutil详解:理论与实战

文章目录 前言一、Libavutil 简介二、AVLog 测试1、示例源码2、运行结果 三、AVDictionary 测试1、示例源码2、运行结果 四、ParseUtil 测试1、示例源码2、运行结果 前言 libavutil 是一个实用库,用于辅助多媒体编程,本文记录 libavutil 库学习及 demo 例…

windows电脑、苹果系统和安卓手机日程提醒双向同步如何操作?

在这个信息飞速传递的时代,我们时常需要在不同设备之间同步日程提醒,而对于同时使用Windows电脑、苹果系统和安卓手机的用户来说,这显得尤为重要。今天,我将分享一个简单的操作,让你在它们之间实现日程提醒的双向同步。…

实现电商平台与营销系统无缝集成:雅座的无代码开发与API连接

无代码开发:营销的新引擎 在数字化转型的浪潮中,无代码开发已成为企业提升效率、减少成本的新引擎。这种开发方式允许非技术人员通过图形界面构建应用程序,无需编写代码即可实现复杂功能。这对于营销、广告推广以及用户运营等业务尤为重要&a…

性能测试:深入理解并发量,线程数,吞吐量,TPS

并发数,线程数,吞吐量,每秒事务数(TPS)都是性能测试领域非常关键的数据和指标。 那么他们之间究竟是怎样的一个对应关系和内在联系? 测试时,我们经常容易将线程数等同于表述为并发数&#xff…