Navicat BI 中创建自定义字段:计算字段

news2024/12/22 23:46:14

在数据库设计和开发中,避免存储任何可以从其他字段计算或重建的数据是一种惯例。因此,在 Navicat BI 中构建图表时,你可能会缺少一些数据。但这不是问题,因为 Navicat BI 提供了专门用于此目的的计算字段。在今天的博客中,我们将使用“计算字段”来构建图表,该图标显示每个客户的平均租赁时间(即客户在归还电影前保留电影的时间长度)。与本系列的大多数文章一样,数据将从免费的 “dvdrental”样本数据库 中提取。

Navicat BI 相关技术文章

- 教程 | 连接数据

- 教程 | 创建工作区和数据源

- 教程 | 图表设计和仪表板

- 在 Navicat BI 创建自定义字段:类型更改字段

- 在 Navicat BI 创建自定义字段:映射字段的介绍

- 在 Navicat BI 中创建自定义字段:自定义排序顺序

- 海外专业博主测评 Navicat BI 工具

获取客户租赁信息

正如本系列之前的博客中提到的,我们应该在设计图表前创建数据源,因为我们需要指定图表使用的数据源。数据源引用连接中的表或文件/ODBC 源中的数据,并可从不同服务器类型的表中选择数据。创建新数据源后,我们可以点击“新建数据源查询”打开查询设计器。在这里,我们可以直接在编辑器中编写 SQL 语句,使用可视化查询生成器,或从 Navicat 导入查询。下面是 SELECT 语句,它将获取客户信息、租赁金额、影片租赁日期和归还日期:

customer_rental_info_data_source (111K)

保存查询并刷新数据后,我们就能看到所有查询字段和结果集:

customer_rental_info_data_source_with_data (253K)

现在,我们可以使用 rental_date 和 return_date 字段来计算租用期限。为此,请右键单击字段列表中的 return_date(在 macOS 上按住 Control 键),然后从弹出菜单中选择新建计算字段...:

new_calculated_field_menu_command (44K)

在“新建计算字段”对话框中,你可以查看到很多有用的函数,包括聚合函数、日期时间函数、逻辑函数等。我们将使用 DATEDIFF() 函数计算出租日期和返回日期字段之间的天数。该函数接受一个时间单位以及开始和结束日期。我们可以阅读函数列表下方的说明,了解更多信息。我们将传递一个“D”(日)作为单位,以及两个日期字段,如下所示:

new_calculated_field_dialog (116K)

对话框底部有一个预览,告诉我们是否得到了想要的结果。

单击“确定”按钮后,我们就可以在字段列表和结果中看到新字段了:

customer_rental_info_data_source_with_calculated_field (156K)

建立每个客户的平均租赁时间图表

由于每个客户 ID 都是一个单独的数据点,因此使用散点图可能效果不错。散点图是将单个数据点沿着 X 轴和 Y 轴绘制的数据图。我们将使用 customer_id 作为 X 轴,使用 rental_duration (Average) 作为 Y 轴。只需将字段拖动到图表设计器中的 X 轴和 Y 轴字段,将平均值聚合应用到 rental_duration 上,然后,就可以立即绘制图表了!

avg_rental_duration_per_customer_chart_in_design_mode (116K)

以下是显示模式下的完整图表:

avg_rental_duration_per_customer_chart_in_present_mode (104K)

补充:显示每位客户的租赁次数

虽然平均值很有用,但显示每位客户租用一部或多部电影的次数也很有用。为此,我们可以使用聚合函数。我们将计算结果集中的金额条目数,并按 customer_id 进行分组。下面是新计算字段对话框,其中调用了 AGGCOUNT() 函数:

aggcount_function (102K)

在图表设计器中,我们将把新的 number_of_rentals 字段拖到颜色槽中。添加升序排序后,图例项将按租用次数从少到多排序:

avg_rental_duration_per_customer_chart_in_design_mode_with_num_or_rentals (118K)

我们可以将光标悬停在单个数据点上,查看其详细信息。此时会出现一个工具提示,显示租用次数、customer_id 以及平均租用天数 rental_duration:

data_point_details (17K)

结语

本博客介绍如何在 Navicat BI 数据源和图表中使用计算字段。这些只是最新版商业智能(BI)的新功能之一。这也是自定义字段系列的结尾。如果你想试用 Navicat BI,你可以下载单机版进行 为期 14 天的全功能免费试用. It's available for Windows, macOS, and Linux operating systems.

Navicat 17 最新资讯 & 技术干货

- 新特性 | 聚焦 Navicat 17 

- Navicat 17 体验官火热招募中

- Navicat- 17 新特性 | 用户界面再升级

- Navicat 17 新特性 | 数据字典提升数据结构清晰度

- Navicat 17 新特性 | 模型设计创新与优化

- Navicat 17 新特性 | 查询与配置

- Navicat 17 新特性 | 原生支持国产 Linux ARM 平台以及银河麒麟与统信操作系统

- Navicat 17 新特性 | 新增阿里云PolarDB与微软Garnet

- 适用于个人或小团队开发者的 Navicat Premium Lite 免费版

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

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

相关文章

网站按钮检测系统源码分享

网站按钮检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

浅谈MVC设计模式

1 前言 1.1 内容概要 熟悉使用JSON工具,完成Java对象(Map)和Json字符串之间的相互转换(注意提供构造器和getter/setter方法) 注意事项:不管使用的是什么JSON工具,都要提供类的无参构造方法和…

基于SpringBoot的宠物寄领养网站管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【前后端分离】基于JavaSpringBootVueMySQL的宠物寄领养网站…

北斗卫星系统信号介绍

覆盖范围亚太区域全球范围 卫星数量35颗区域服务卫星30颗全球服务卫星 信号频段B1I, B2IB1C, B2a, B3, 兼容GPS/Galileo 定位精度区域内10米全球2.5~5米,中国内更高 新增功能区域短报文通信全球短报文通信、星基增强、精密定位 抗干扰能力相对有限更强 互操作…

无人机 PX4 飞控 | 如何检测状态估计EKF性能

无人机 PX4 飞控 | 如何检测状态估计EKF性能 前言检查EKF性能缺少pyulog问题解决脚本崩溃没有输出文件生成对应文件 结语 前言 ECL (Estimation and Control Library,估计和控制库),其中的状态估计使用扩展卡尔曼滤波算法&#x…

图像检测【YOLOv5】——深度学习

Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑…

计算机网络基本概述

欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言一、网络的基本概念二、集线器、交换机和路由器三、互连网与互联网四、网络的类型五、互连网的组成1. 边缘部分2. 核心部分 六、网络协议 前言 计算机网络是现代信息社会…

安装node 报错需要:glibc >= 2.28

--> 解决依赖关系完成 错误:软件包:2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodejs) 需要:libm.so.6(GLIBC_2.27)(64bit) 错误:软件包:2:nodejs-18.20.4-1nodesource.x86_64 (nodesource-nodej…

【数据结构篇】~排序(1)之插入排序

排序~插入排序 前言插入排序1.直接插入排序(时间复杂度:O(N^2))1.思想2.代码 2.希尔排序(时间复杂度:O(N∙))1.思路简易证明希尔排序的复杂度 2.代码 前言 四大排序,今天解决插入排序 堆排序和冒泡排序已经写过了&am…

C++笔记---继承(上)

1. 继承的简单介绍 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。 继承呈…

如何利用 Smarter Balanced 塑造教育领域的 AI 治理

目录 定义挑战 以人为本的设计引领 融入多样性 探索以学生为中心的价值观 探索效果的层次和不同的影响 部位于加利福尼亚州的Smarter Balanced Assessment Consortium 是一个由会员主导的公共组织,为 K-12 和高等教育领域的教育工作者提供评估系统。该组织成立…

09_Tensorflow2图像处理大赏:让你的图片笑出AI感,惊艳朋友圈!

1. 图像处理案例 1.1 逆时针旋转90度 import tensorflow as tf import matplotlib.pyplot as plt import matplotlib.cm as cm import numpy import osdef show_pic(pic,name,cmapNone):显示图像plt.imshow(pic,cmapcmap) plt.axis(off) # 打开坐标轴为 on # 设置图像标题…

C语言数据类型、变量及数据类型的长度、取值范围

文章目录 一、数据类型介绍1.字符型2.整型3.浮点型4.布尔类型 二、变量1.变量的创建2.变量的分类 三、数据类型的长度(字节)1.sizeof 操作符2.各种数据类型的长度3.sizeof中表达式不计算 四、各种类型的取值范围1.signed和unsigned2.数据类型的取值范围 五、整型提升练习1练习2…

【Obsidian】当笔记接入AI,Copilot插件推荐

当笔记接入AI,Copilot插件推荐 自己的知识库笔记如果增加AI功能会怎样?AI的回答完全基于你自己的知识库余料,是不是很有趣。在插件库中有Copilot插件这款插件,可以实现这个梦想。 一、什么是Copilot? 我们知道githu…

el-input-number设置了min值,希望默认值展示为空

data() {return {editForm: {num: undefined, //input}} } <el-input-number v-model.trim"editForm.num" controls-position"right" :min"1" placeholder"请输入" clearable /> 展示效果如下:

C++中的左值(Lvalue)和右值(Rvalue)详解

C中的左值&#xff08;Lvalue&#xff09;和右值&#xff08;Rvalue&#xff09;详解 在C中&#xff0c;左值&#xff08;Lvalue&#xff09;和右值&#xff08;Rvalue&#xff09;的概念是理解表达式和变量的重要基础。为了提高C的性能和灵活性&#xff0c;C11引入了一些新的…

F1C100S/F1C200S的资料来源说明

文章目录 常用板子开源创客荔枝派榴莲派 我想说是的官网啥资料都没有。但是它的资料又很多&#xff0c;从淘宝或者其他地方能都搜到很多。 http://wiki.lcmaker.com/index.php?titleLC-PI-200S https://github.com/peng-zhihui/Planck-Pi?tabreadme-ov-file#head4 http://do…

时序必读论文04|Non-stationary Transformers:序列平稳性优化【NeurIPS 2022】

我们在先前的一篇文章中已经总结了直接把Transformer应用到时间序列数据存在的问题&#xff0c;其中序列平稳化是transformer也是其他很多模型都未解决好的一个不足。实际上&#xff0c;序列平稳和非平稳是矛盾的存在&#xff0c;这篇文章探索了&#xff1a;原始数据-->平稳…

python基础知识(四)--if语句,for\while循环

目录 if语句 if-else语句 if...elif...else...语句的语法 if嵌套语句语法 while循环 死循环 for循环 例题&#xff1a; 1.请使用*代替&#xff0c;并输出一个正方形的显示效果。 2.逢7必过的游戏 3.九九乘法表 4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就…

停车位检测-停车场车位识别

YOLO Parking Spot 概述 停车场获取的图像训练了四个YOLO模型来检测车辆。目标是收集信息&#xff0c;并可能开发一种停车解决方案以改善交通流量并优化空间利用率。通过识别汽车&#xff0c;我们生成了一份报告&#xff0c;其中包含图像细节&#xff0c;如可用停车位的数量、…