FineBI表单如何更新
FineBI表单如何更新
1. 描述
Cube单表更新,是指在某个业务包上面设置定时更新,在某个固定的时间点对某个的业务包中的特定表进行数据更新,部分更新分为两种,全量更新和增量更新,因而在更新策略上则可以使用全量更新、增量更新、混合更新。
全量更新是指将该表对应到数据库中的表的所有数据全部更新一次到本地的cube中。
增量更新是指在当前cube中该表的已有数据的基础上,将对应数据库中的表的未更新的数据(与当前cube中表不一样的数据)更新到本地的cube中。
注:单表更新的时候,并非只执行当前这一只表,它将首先获取该表的所有依赖的基础表,依赖的基础表指在ETL流对于某表的上边的表来说的。获取这个些基础表后,会执行这些基础表的单表更新;再获取关于此表的所有关联关系(包括主外键表),分析关联关系与表数据是否完整,如不完整则删除另一端不存在的关联;存在则获得需要关联的路径,而后计算关联相关的路径,如该路径数据完整,则确认是要更新的关联,进行关联关系的更新。
其中:A表如果是某些ETL表的基础表,更新A表时,这些ETL表也会被更新。
下面详细讲解单表更新。
2. 更新设置界面
选择数据配置>业务包管理,点击需要设置Cube定时更新的业务包,进入业务包设置界面,单击需要设置更新的表,如下图,选择销售demo业务包,对活动费用表设置定时更新。
点击活动费用表,进入表设置界面,点击下方的更新设置按钮,如下图:
进入更新设置界面,如下图:
由上向下,依次是单表随全局更新的更新方式、单表更新按钮、定时更新设置、增量更新设置框。
单表随全局更新的更新方式是指在全局更新时该表执行什么的更新方式;
单表更新按钮是立即执行单表更新的触发器;可以选择立即全量更新,立即增量更新。
定时更新设置是针对该表进行的单表更新,可以选择全量更新或增量更新。
下面详细说明。
3.更新界面说明
3.1随全局更新方式
展开更新方式。我们可以看到一共有三种更新方式,分别是“总是全量更新”,“首次全量,以后增量”,“首次全量,以后不更新”。如下图
下面详细解释各种方式:
总是全量更新:总是全量更新就意味着每次更新都要整个表包括字段、字段值全部更新。
首次生成为全量,此后增量更新:首次生成cube是全量更新,以后一直使用增量更新的方式。增量更新是指对表中新增加、新删除和新修改的数据进行更新,即将数据库中有变化的数据更新值Cube中,并保持以前的数据不变动。其设置界面在下方,分为增量增加、增量删除、增量修改。其具体的增量更新的详细设置见增量更新。这种更新方式适合于数据量非常大的业务明细数据。
首次生成为全量,此后不更新:第一次生成cube是全量的数据,此后无须在全局更新的时候去更新这张表;一般这种方式适合于一些基础维度表,这些表一般是固定的标准,极少改变;比如一些行业标准的字典表、省市地区表;
3.2立即更新该表
立即更新该表就是直接执行该表的更新。在点击该按钮后可以选择两种更新方式:全量更新与增量更新。当然这里面增量更新应该先行设置好。
注:增量更新的时候,如果数据表结构发生变化如多加一个字段或少一个字段,此时增量更新不会多加字段或少字段而产生更新错误;这时候先采取全量更新方式即可。因而在更新策略中会选择混合更新方式。
3.3定时更新
定时更新是针对当前表所进行的更新;与全局更新的定时任务是分开执行的。定时更新是由更新周期设置与更新方式组成的。如下图:
定时周期:由每单位周期+时间点组成;单位周期为月、天。每月对应的时间点是哪一天;每天又分每天与每周天;其对应的时辰(几点)。
更新方式:依然可以选择两种更新方式:全量更新与增量更新。
3.4单独更新与全局更新
由上我们可看到,单表更新的操作受到全局更新方式与单独更新影响;在对大数据量表更新时候,应该避免同一天出现多次更新的情况即定时设置上出现在同一天中;通常设置了随全局更新的更新或增量更新;表更新会随着全局更新的定时设置执行更新操作;而定时更新就不必进行设置,或者采取大周期的与全局更新方式不同的更新方式(如果设置随全局更新的定时增量更新;单独定时可以设置大周期的定时全量更新。)
FineBI表单如何更新的更多相关文章
- jquery获取form表单中的内容,并将表单内容更新到datagrid的一行
//执行不刷新页面更新所修改的行 var arr = $('#patient_form').serializeArray();//将表单中的数据格式化成数组 var m = new Array(); ...
- Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...
- ASP.NET MVC 3 之表单和 HTML 辅助方法(摘抄)
——选自<ASP.NET MVC3 高级编程(第5章) 孙远帅 译> 第5章 表单和HTML辅助方法 本章内容简介: * 理解表单 * 如何利用HTML辅助方法 * 编辑和输入的辅助方法 ...
- Ajax提交表单时验证码自动验证 php后端验证码检测
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...
- 【antd】form表单默认值设置
问题: 在antd的form表单的api里面有个"initialValues"可以设置默认值.但是表单没有更新 <Form name="test" for ...
- Asp.Net MVC4通过id更新表单
用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容 ...
- SpringBoot整合Thymeleaf表单更新操作
对于表单值回显并更新的逻辑相比大家都已经很熟悉了, 但是我们操作Thymeleaf的话这里就会有一点小坑了, 在要回显值的表单的所有字段上,我们都要加上 th:field,才可以完成回显值更新 或者这 ...
- jsp表单更新数据库
和插入语句相似,表单传值,在另一个页面接收数据并连接数据库进行更新: 语句如下: <% request.setCharacterEncoding("UTF-8"); Stri ...
- BootStrap 智能表单系列 首页 (持续更新中...)
背景:本码农.NET后端工程师,在项目开发中发现写了很多重复的代码, 于是自己整了一套根据配置来生成form表单的插件,针对表单的改动仅需要修改配置的json即可 使用中发现还是蛮实用的,于是开源出来 ...
随机推荐
- Celery -- 分布式任务队列 及实例
Celery 使用场景及实例 Celery介绍和基本使用 在项目中如何使用celery 启用多个workers Celery 定时任务 与django结合 通过django配置celery perio ...
- 编写自己的SpringBoot-starter
前言 我们都知道可以使用SpringBoot快速的开发基于Spring框架的项目.由于围绕SpringBoot存在很多开箱即用的Starter依赖,使得我们在开发业务代码时能够非常方便的.不需要过多关 ...
- JavaScript初探一
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- React技术栈梳理
一.react是什么? react是一个js框架,可以用它来编写html页面,使用react后我们可以完全抛弃html(只需要一个主index文件),而用纯js来编写页面: 二.为什么要使用react ...
- 高可用的MongoDB集群-实战篇
1.概述 最近有同学和网友私信我,问我MongoDB方面的问题:这里我整理一篇博客来赘述下MongoDB供大家学习参考,博客的目录内容如下: 基本操作 CRUD MapReduce 本篇文章是基于Mo ...
- MySQL复制以及调优
一. 简介 MySQL自带复制方案,带来好处有: 数据备份. 负载均衡. 分布式数据. 概念介绍: 主机(master):被复制的数据库. 从机(slave):复制主机数据的数据库. 复制步骤: (1 ...
- java8 Stream使用案例
1. 原理 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator. 原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执 ...
- jQuery 各类判断函数汇总
欢迎访问我的github:huanshen,有我的源码解析 常用的判断函数有type,isEmptyObject,isFunction,isWindow,isPlainObject,isArrayli ...
- multimap多重映照容器(常用的方法总结)
multimap和map的不同之处在于前者允许重复键值的元素出现. /*关于C++STL中mulitmap的学习,与map不同的是,multimap允许插入重复键值的元素*/ #include < ...
- .21-浅析webpack源码之事件流this-compilation
上一节生成Compilation实例后,添加了一些属性,随后触发this-compilation事件流,如下: Compiler.prototype.newCompilation = (params) ...