一文看懂数据分析必备计算功能—内存计算

news2024/11/28 10:48:11

各位数据的朋友,大家好,我是老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事。

在这里插入图片描述

接下来,我们准备讲一系列的奥威BI软件的内存计算在各种分析场景中的应用。在正式开讲之前,我先简单说一下,内存计算是什么,内存计算有什么作用。

1、内存计算是什么?

大家都知道,BI软件的主要技术原理是从数据源(如数据库或EXCEL)中获取数据,然后进行必要计算,再将结果展示出来。而这些计算,有两种方式来实现,一种是在后台将结果计算好,前端只是展示;另一种则是在前端完成计算并展示。

前一种的后台计算部分需要专业的IT开发人员才能做到,而后一种的前端计算呢?早期的计算是通过函数。有EXCEL经验的人都知道,EXCEL里有很多的函数来实现各种各样的计算,这种场景下,对于使用者的要求仍然是非常高的,同时,大家也会有一种感受:在EXCEL中计算是基于单元格。当有很多行的数据量时计算的效率是很低的。

那怎么做到既可以在前端0代码0函数,又可以高效计算呢?随着计算机硬件资源中内存资源的成本快速下降,基于内存计算的技术也应运而生。

内存计算:在内存中实现批量的计算。

2、内存计算有什么作用?

从计算机的原理来说,CPU是计算核心,但计算的数据总要有地方存贮,效率最高的存贮区域就是CPU的缓存,因为它离CPU最近,但CPU的缓存太小,目前CPU的缓存仍然是以M来计量,所以,基本上想用也用不了。而次佳选择就是内存了,内存可以用G甚至T来计量,足够大,又足够快。再次之才是硬盘。硬盘虽然空间更大,但存取太慢。所以内存计算就是最大限度的减少与存贮在硬盘上的数据库的交互,让大量的数据计算在内存中完成。原理很简单,但最终能实现还是得益于内存硬件容量、性能的大幅提升,以及成本大幅的降低。

举例说明:

假设我们要做一个销售收入的同比分析,通常需要看到当期的销售收入,然后还要看到去年同期的销售收入,然后再根据这两列来计算增长率。

传统情况下:需要IT小强在后台通过复杂的存贮过程计算得到这三列,然后再将结果查询出来。

基于内存计算:则只需要智能的生成不同的时间条件,分别将当期收入与去年同期收入加载到内存中,然后在内存中进行增长率的计算,最后在前端展示相应的结果。

大家可能会感觉,这好像没什么区别啊。计算的逻辑肯定是一样的,真正区别在于如果不用内存计算,当小丽想做某个同比分析的报表时就必须找IT小强,而小强可能需要半天的功夫才能完成;如果用内存计算,小丽自己就可以完成了,拖拽一下,秒级响应。

你如果是小强,你虽然希望每天都看到小丽水汪汪的大眼睛,但你愿意一天到晚不停的做报表吗?你如果是小丽,你希望一有想法就得去找强哥,还得等上半天吗?

我们接下来要讲的内存计算包括:

同比环比:这是最为常见的分析方式,适用于任意指标。

期初、期末:常用在分析科目余额,库存余额,应收余额中。

本年累计+同比:常用在分析关键经营指标,比如本年累计收入或本年累计收入同比。

近期筛选:比如想分析近12个月或近30天的销售收入趋势。

排名+同环比:比如想知道每个业务员的销售排名,还想知道与去年同期或上期对比,排名是升是降?

TOPN或TOPN%:比如想知道客户销售TOP10,或产品销售TOP80%。

占比+TOP占比:比如想知道每个区域的销售占比,或者看TOP10城市的销售占比。

累计占比:比如想按质量原因来制作帕累托图。

跨表计算:比如从销售中取销售金额,从库存中取库存余额,进行销售与库存的相关性分析。

内存计算再计算、排序与筛选:比如想知道哪些产品连续三个月销量持续下降?

老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事,我们下一讲再见!

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

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

相关文章

什么是阻抗?影响阻抗的因素有哪些?

问 什么是阻抗? 答 在具有电阻、电感和电容的电路里,对电路中的电流所起的阻碍作用叫做阻抗。 问 什么是阻抗匹配? 答 阻抗匹配是指信号源或者传输线跟负载之间达到一种适合的搭配。阻抗匹配主要有两点作用,调整负载功率和…

MATLAB函数封装2:QT调用封装函数

在利用MATLAB进行封装函数之后,最主要的目的是对函数进行调用,能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后,在QT中添加动态链接库,就可以实现函数的调用过程,这个过程相对简…

「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验

「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验 一、前言1.1 本次实践介绍1.2 本次实践目的 二、准备环境资源2.1 部署前需准备工作2.2 本地环境规划 三、部署Docker环境3.1 安装Docker3.2 配置Docker镜像加速3.3 开启路由转发3.4 重启Docker服务 四、检查本地Doc…

开发者如何成为更好的自己,耐心和观察是关键

个人成长需要有耐心和观察力,这是一个“等待并观察”的视角。个人成长是一个自我提升的过程,需要结合耐心和观察力。这个过程可能会面临挑战,需要花费很多时间和精力,但最终的结果是值得的。耐心和观察是个人成长过程中的两个重要…

windows搭建一个FTP服务器超详细

一.场景: 在开发过程中需要FTP文件上传下载功能,需要在本地或者服务器上搭建一个FTP服务器。 二.详细步骤: 1. 安装FTP服务器支持和配置IIS web服务器 打卡“启动关闭Window功能” 控制面板>程序>启动或关闭Windows功能 或者选择快…

明确自动化测试目的

明确自动化测试目的 1.提高测试人员的工作成就感和幸福感,减少手工测试中重复性的工作 目前,在大部分中小企业中,手工测试在日常测试工作占据的比例很大。测试人员必须跟随开发团队不断地进行选代式开发和测试。一个功能模块可能在整个测试周…

会声会影2023中文旗舰版新增功能讲解及下载更新教程

本次更新不仅带来了标题动作、标题特效、转场特效、音频标记等功能的更新,也增强了热门的GIF创作器、定格动画制作、多语字幕、短时长转场等功能,让大家能体验到更加新潮的视频制作方式。会声会影2023是一款视频编辑软件,由Corel开发。该软件…

【MATLAB数据处理实用案例详解(15)】——利用BP神经网络实现个人信贷信用评估

目录 一、问题描述二、BP神经网络实现个人信贷信用评估原理三、算法步骤3.1 读入数据3.2 划分训练样本与测试样本3.3 样本归一化3.4 创建BP神经网络,并完成训练3.5 测试 四、运行结果 一、问题描述 对个人信用的评估方法主要分为定性评估和定量评估两种&#xff0c…

Oracle中按天、周、月、季、年统计数据

简介: oracle实现按照天、周、月、季、年进行数据统计,在实际业务场景中如 "报表之类" 、"财务业务的往来" 等等,业务往往需要我们统计整年 或 整月的数据等,下面我们直入主题。 说明: 原始数据 一、按天查询 1、片段 …

我们为什么要叫“鲜枣课堂”?

大家好,我是小枣君。 再过几天,就是五月份了。5月19日,对我们来说,是一个重要的日子——“鲜枣课堂”品牌诞生六周年纪念日。 2017年5月19日,我正式确定了“鲜枣课堂”这个品牌命名,并开启了我的创业历程。…

ECF机制:信号处理

​​​​​​​ 📜 本章目录: 0x00 观察接收信号 0x01 阻塞和解除阻塞信号 0x02 安全的信号处理 0x03 在信号处理器中使用安全的 I/O 函数 0x04 便携式信号处理 0x05 显式信号等待 0x00 观察接收信号 假设内核从异常处理程序中返回,并…

多通道 JESD204B接口FMC子卡原理图: 8 通道 125MSPS16 位 AD 采集

板卡概述 FMC129 是一款 8 通道 125MHz 采样率 16 位 AD 采集 FMC子卡,符合 VITA57.1 规范,可以作为一个理想的 IO 模块耦合至 FPGA 前端,8 通道 AD 通过高带宽的 FMC 连接器(HPC)连接至 FPGA 从 而大大降低了系统信…

Mysql group by 查询报错 1055 this is incompatible with sql_mode=only_full_group_by

文章目录 一、问题二、原因三、解决办法 一、问题 mysql8 使用 group by 查询时报错: 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘dkia_quality_db.b.id’ which is not functionally dependent on colu…

OpenCV CascadeClassifier级联分类器 人脸检测

一、CascadeClassifier的简介 CascadeClassifier是opencv下objdetect模块中用来做目标检测的级联分类器的一个类;简而言之是滑动窗口机制级联分类器的方式;早期opencv版本仅支持haar特征的目标检测,分别在opencv2.2和2.4之后开始支持LBP和HO…

你知道如何使用C语言实现递归吗?

本篇博客会讲解如何使用C语言实现递归,以及2个注意事项。 递归是什么 递归,简单来说,就是自己调用自己。C语言中,可以使用函数来实现递归,也就是让一个函数自己调用自己。举一个简单的例子: 请你求斐波…

微服务---分布式事务Seata(XA,AT,TCC,SAGA模式基本使用)

分布式事务 1.分布式事务问题 1.1.本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则: 1.2.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务&#xff0c…

开发中不可轻视的接口文档

接口文档是描述如何与软件系统中的特定接口进行交互的文档,通常包含接口的名称、描述、请求和响应的格式、参数、返回值、错误码、调用示例等信息。它是开发人员在设计和开发软件系统时必不可少的参考资料。 日常工作中,运用接口文档最多的是前后端的同…

提高效率:使用这些工具,让你开发和学习更简单

🍎道阻且长,行则将至。🍓 目录 零、ChatGPT一、代码1.代码备忘清单2.菜鸟教程3.代码转图片4.代码在线运行5.LaTeX 公式编辑器6.GitCode、GitHub 等代码仓库平台 二、绘图1.Canva 可画2.Echarts Js画图3.算法可视化4.函数绘图5.遇到 Alt 截不…

236:vue+openlayers输入经纬度坐标,校验并在地图上标记点,enter提交

第236个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中输入坐标点,在地图上显示点图形。这里面校验了输入的经纬度坐标,同时使用了@keyup.enter.native来做提交处理。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文章目录 示例效果…

第七章SpingMVC

1.MVC模式 视图(View)-对应组件:JSP或者HTML文件 控制器(Controller)-对应组件:Servlet 模型(Model) -对应组件:JavaBean 2.MVC模式具体说明 JSP:负责生成动态…