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

news/2024/12/2 14:35:13/

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

在这里插入图片描述

接下来,我们准备讲一系列的奥威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.ppmy.cn/news/56097.html

相关文章

SignalR实现简单的Web端实时通讯,跳过WebSocket验证,Swagger加锁后不能访问接口,Script setup不支持动态绑定

版本.Net6Vue3Element-Plus 问题 Swagger加锁后不能访问接口 (看第三步)跳过WebSocket验证 (看第四步里面)添加自定义接受方法 (看第四步)不能使用 第一步、下载包 后端: 前端:…

Java版本企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

docker容器原理及简单且详细的使用

docker原理简单介绍 docker是一种虚拟化容器技术。 虚拟化:早期为了节约成本和学习只有在宿主机中基于 kvm(基于内核的虚拟机)等技术虚拟出来完整的操作系统,而这个完整的操作系统会大量的占用宿主机的硬件资源,当创建…

垃圾回收器ZGC应用分析总结

目录 一、基本概述 二、基本关键技术知识总结 (一)三色标记法(着色指针) (二)读屏障 (三)多图映射 (四)简单场景说明ZGC并发 三、基本回收原理介绍 四…

成为黑客猎手:从零开始学习漏洞挖掘的完整指南

一.了解基础知识 学习计算机网络、操作系统、编程语言等相关基础知识,这些知识对于后续的漏洞挖掘和利用非常重要。具体建议如下: 学习计算机网络基础知识,例如 OSI 模型、TCP/IP 协议、HTTP 协议等。推荐书籍:《计算机网络》。…

智融合·共未来丨智合同携手百融云创打造合同智能化应用服务平台

人工智能技术是当今社会的热议话题之一。近年来,众多企业在人工智能领域持续布局,相关技术已在社会生产各环节极大地提高了生产效率。如果把过去信息技术产业的发展比喻为“手工时代”,那么人工智能技术的出现则将把信息技术产业推向“自动化…

Linux常用命令——ip6tables命令

在线Linux命令查询工具 ip6tables linux中防火墙软件 补充说明 ip6tables命令和iptables一样&#xff0c;都是linux中防火墙软件&#xff0c;不同的是ip6tables采用的TCP/ip协议为IPv6。 语法 ip6tables(选项)选项 -t<表>&#xff1a;指定要操纵的表&#xff1b; …

Python深度学习十大核心算法!

深度学习已经成为了一种热门的技术,它的应用领域正在不断扩大。在深度学习中,有一些核心的算法是非常重要的,这些算法为深度学习的应用提供了强大的基础。在本文中,我们将介绍基于Python深度学习的十大核心算法。 卷积神经网络卷积神经网络(Convolutional Neural Network,…