当前位置: 首页 > news >正文

大数据-Hive练习-环比增长率、同比增长率、复合增长率

目录

🥙12.1 环比增长率

1. 概述

2. 公式

3. 示例

4.练习-需求:计算各类商品的月环比增长率

🥙12.2 同比增长率

1. 概述

2. 公式

3. 示例

4. 练习-需求:计算各类商品的月同比增长率

🥙12.3 复合增长率

1. 概述

2. 公式

3. 示例

 4. 练习-需求:计算各类商品的月同比增长率


练习数据表

-- 创建销量表sales_monthly
-- product表示产品名称,ym表示年月,amount表示销售金额(元)
CREATE TABLE sales_monthly(product string,ym string,amount decimal(10, 2))
row format delimited fields terminated by ",";-- 生成测试数据
load data local inpath '/opt/testDemo/sales.txt' into table sales_monthly;

sales.txt

苹果,201801,10159.00
苹果,201802,10211.00
苹果,201803,10247.00
苹果,201804,10376.00
苹果,201805,10400.00
苹果,201806,10565.00
苹果,201807,10613.00
苹果,201808,10696.00
苹果,201809,10751.00
苹果,201810,10842.00
苹果,201811,10900.00
苹果,201812,10972.00
苹果,201901,11155.00
苹果,201902,11202.00
苹果,201903,11260.00
苹果,201904,11341.00
苹果,201905,11459.00
苹果,201906,11560.00
香蕉,201801,10138.00
香蕉,201802,10194.00
香蕉,201803,10328.00
香蕉,201804,10322.00
香蕉,201805,10481.00
香蕉,201806,10502.00
香蕉,201807,10589.00
香蕉,201808,10681.00
香蕉,201809,10798.00
香蕉,201810,10829.00
香蕉,201811,10913.00
香蕉,201812,11056.00
香蕉,201901,11161.00
香蕉,201902,11173.00
香蕉,201903,11288.00
香蕉,201904,11408.00
香蕉,201905,11469.00
香蕉,201906,11528.00
桔子,201801,10154.00
桔子,201802,10183.00
桔子,201803,10245.00
桔子,201804,10325.00
桔子,201805,10465.00
桔子,201806,10505.00
桔子,201807,10578.00
桔子,201808,10680.00
桔子,201809,10788.00
桔子,201810,10838.00
桔子,201811,10942.00
桔子,201812,10988.00
桔子,201901,11099.00
桔子,201902,11181.00
桔子,201903,11302.00
桔子,201904,11327.00
桔子,201905,11423.00
桔子,201906,11524.00

🥙12.1 环比增长率

1. 概述

环比增长率是指两个相邻时段之间某种指标的增长率。通常来说,环比增长率是比较两个连续时间段内某项数据的增长量大小的百分比。

环比增长率反映了两个相邻时间段内某种经济指标的变化速度,被广泛用于企业、社会和国民经济等方面的经济分析中。

2. 公式

环比增长率的计算公式如下:

环比增长率 = (本期数值 - 上期数值)/ 上期数值 * 100%

其中:

  • 本期数值是指当前时间段内的指标数值;

  • 上期数值是指上一个时间段内的指标数值。

3. 示例

通过计算两者之间的差异,再以百分比的形式表示出来,就得到了环比增长率。

例如,如果某公司今年第一季度的销售额为 100 万人民币,第二季度的销售额为 120 万人民币,那么环比增长率可以按照以下步骤计算:

环比增长率 = (120 - 100) / 100 * 100% = 20%

这样就得到了该指标在本期相对于上期的增长率为 20%。

4.练习-需求:计算各类商品的月环比增长率

--需求说明:计算各类商品的月环比增长率;
select product as `产品`,ym as `年月`,(amount-lag(amount,1) over (partition by product order by ym))/lag(amount,1,amount) over (partition by product order by ym) *100 as `环比增长率%`
from sales_monthly;

🥙12.2 同比增长率

1. 概述

同比增长率是指与去年同期相比的增长率。它用于比较同一时间段内的两个不同年份的数据变化情况,判断增长趋势和比较不同年度的表现。常用于分析经济、市场等领域的年度变化趋势。

2. 公式

同比增长率的计算公式如下:

同比增长率 = (本期数值 - 去年同期数值)/ 去年同期数值 * 100%

其中:

  • 本期数值是指当前时间段内的指标数值;

  • 去年同期数值是指上一个年度同一时间段内的指标数值。

通过计算两者之间的差异,再以百分比的形式表示出来,就得到了同比增长率。

3. 示例

举例来说,如果某项指标在今年第一季度120,而去年同期第一季度100,那么同比增长率可以按照以下步骤计算:

同比增长率 = (120 - 100) / 100 * 100% = 20%

这样就得到了该指标在今年第一季度相对于去年同期的增长率为 20%

4. 练习-需求:计算各类商品的月同比增长率

select s1.`产品`,s1.`今年日期`,s1.`本年销量`,s2.amount as `去年销量`,(s1.`本年销量`-s2.amount)/s2.amount *100 as `同比增长率(%)`
from (
select product as `产品`,ym as `今年日期`,amount as `本年销量`,concat(cast(substr(ym,1,4) as int)-1,substr(ym,5)) as last_year
from sales_monthly
order by product,ym) as s1
left join sales_monthly as s2
on s1.last_year=s2.ym and s1.`产品`=s2.product;

🥙12.3 复合增长率

1. 概述

复合增长率是指在一段连续的时间内,某项指标每个月或年平均增长的复合增长率。它用于衡量某指标在一段时间内(月均或年均)的整体增长速度。

2. 公式

复合增长率的计算公式如下:

复合增长率 = (最终值 / 初始值)^( 1 / n) - 1

其中:

  • 最终值是指期末的数值;

  • 初始值是指起始的数值;

  • n 时间段数量是指经过 n 个时间段的增长所到达的值。

在hive中通过power((最终值 / 初始值), 1 / n)-1来进行计算

3. 示例

举例来说,假设某项指标在起始时刻(一月份)为 100,经过 6 个月(到达七月份)的增长,最终值为 200,则可以按照以下步骤计算月均复合增长率:

月均复合增长率 = ( (200 / 100)^(1 / (7-1)) -1) * 100%

这样就得到了某指标经过 6 个月的整体增长率(复合增长率) 为12.25%。

select (power(200/100,1/6)-1)*100 as `增长率`;

结果:

在计算月均或年均复合增长率时,需要使用连续的起始值和结束值来进行计算。假设有 n 个连续的月份数据,那么起始值到结束值的时间跨度为 n-1 个月,只计算后续的增长情况。

 4. 练习-需求:计算各类商品的月同比增长率

--1. 先求出每个产品的第一个月的销量,并对这个排序做个计数
select product,ym,amount,first_value(amount) over (partition by product order by amount) as first_value,row_number() over (partition by product order by amount) as num
from sales_monthly;--2.num-1即为公式中的时间段,要考虑num-1=0的情况
select product as `产品`,ym as `年月`,amount as `销量`,first_value as `起始销量`,(power(1.0*amount/first_value,1.0/NULLIF(num-1,0))-1)*100 as `复合增长率`
from(
select product,ym,amount,first_value(amount) over (partition by product order by amount) as first_value,row_number() over (partition by product order by amount) as num
from sales_monthly);

结果:

相关文章:

大数据-Hive练习-环比增长率、同比增长率、复合增长率

目录 🥙12.1 环比增长率 1. 概述 2. 公式 3. 示例 4.练习-需求:计算各类商品的月环比增长率 🥙12.2 同比增长率 1. 概述 2. 公式 3. 示例 4. 练习-需求:计算各类商品的月同比增长率 🥙12.3 复合增长率 1. 概述 2. 公式 3. 示例…...

C++ 考前难点总结

前言 后天考c&#xff0c;但这几天得甲流了&#xff0c;特别难受&#xff01;复习c的时候复习着忘着&#xff0c;所以用csdn记录一下不熟悉的知识点&#xff0c;等后天考前再看一遍&#xff01; 函数模板 #include <iostream>// 定义一个模板类 template <class T1…...

ARM 汇编语言知识积累

博文参考&#xff1a; arm中SP&#xff0c;LR&#xff0c;PC寄存器以及其它所有寄存器以及处理器运行模式介绍 arm平台根据栈进行backtrace的方法-腾讯云开发者社区-腾讯云 (tencent.com) 特殊功能寄存器&#xff1a; SP&#xff1a; 即 R13&#xff0c;栈指针&#xff0c;…...

k8s面试之——简述网络模型

kubernetes网络模型是kubernetes集群中管理容器网络通信的一种机制&#xff0c;用于实现pod间、pod与外部网络间的通信和互联&#xff0c;并提供了多种网络插件和配置选项来满足不同应用场景下的需求。kubernetes网络模型可以分为一下几个部分&#xff1a; 1. pod网络模型 在…...

C语言中关于if else的理解

if else我们可以理解为 if(条件1) //如果条件1成立 语句1&#xff1b; //执行语句1 else //如果条件1不成立 语句2; //执行语句2 这是一个经典的if els…...

Keil5软件仿真 定时器互补通道 波形输出(Logic Analyzer)

步骤一&#xff1a;管脚配置确认。 ①配置定时器的管脚模式为复用推挽输出模式&#xff08;GPIO_MODE_AF_PP&#xff09;&#xff01;&#xff01;&#xff01;&#xff0c;注意&#xff1a;复用开漏模式软件仿真时无波形。 步骤二&#xff1a;编译程序。 ①点击编译按钮。 …...

华纳云:怎么实现Linux主机ssh无密码登录

实现Linux主机之间的SSH无密码登录可以通过使用SSH密钥对。以下是简单的步骤&#xff1a; 步骤 1: 生成SSH密钥对 打开终端&#xff0c;并在本地计算机上执行以下命令&#xff1a; ssh-keygen -t rsa 此命令将生成一对SSH密钥(公钥和私钥)。您可以选择在生成密钥时设置密码&…...

模型树实操

很多时候&#xff0c;数据都是有层级和分类的&#xff0c;使用laravel的Dcat框架&#xff0c;可以快速搭建一个结构清晰、且可以鼠标拖拽排序的后台&#xff1b;先上例子更直观&#xff1a; 这里是Dcat的模型树使用文档&#xff0c;戳一下&#xff1b; 重点注意事项有&#x…...

html table+css实现可编辑表格

要实现可编辑的 HTML 表格&#xff0c;你可以使用 JavaScript 和 HTML5 的 contenteditable 属性。 <!DOCTYPE html> <html> <head><style>table {border-collapse: collapse;width: 100%;}th, td {border: 1px solid black;padding: 8px;text-align:…...

c语言:计算1+2+3……+n的和|练习题

一、题目 输入一个数n&#xff0c;计算123……n的和 二、代码截图【带注释】 三、源代码【带注释】 #include int main() { int num0; printf("请输入要运算的数:"); scanf("%d",&num); sumResult(num);//相加结果函数 } //计算打印…...

Yolov5水果分类识别+pyqt交互式界面

Yolov5 Fruits Detector Yolov5 是一种先进的目标检测算法&#xff0c;可以应用于水果分类识别任务。结合 PyQT 框架&#xff0c;可以创建一个交互式界面&#xff0c;使用户能够方便地上传图片并获取水果分类结果。以下将详细阐述 Yolov5 水果分类识别和 PyQT 交互式界面的实现…...

正式环境和sandbox中的RecordTypeId不一样应该怎么办

如果在 Salesforce 正式环境和 Sandbox 中&#xff0c;RecordTypeId 不一样&#xff0c;通常需要在代码或配置中进行适配&#xff0c;以确保代码在不同环境中的兼容性。以下是一些常见的方法&#xff1a; 使用自定义设置或自定义标签&#xff1a; 创建自定义设置或自定义标签来…...

7种常见的网络安全设备及其功能

网络安全设备在现代网络环境中起着至关重要的作用&#xff0c;帮助保护个人和组织免受恶意攻击。本文将介绍7种常见的网络安全设备&#xff0c;包括防火墙、入侵检测系统、反病毒软件、数据加密设备、虚拟私人网络、安全信息和事件管理系统以及网络访问控制设备&#xff0c;并详…...

vue3实现pinia仓库状态持久化

使用 pinia-plugin-persistedstate 实现pinia仓库状态持久化 安装 pnpm i pinia-plugin-persistedstate # or npm i pinia-plugin-persistedstate # or yarn add pinia-plugin-persistedstatemain.ts引入 import persist from pinia-plugin-persistedstate const app creat…...

Node.js(三)-模块的加载机制

1. 优先从缓存中加载 模块在第一次加载后会被缓存&#xff0c;这就意味着多次调用require()不会导致模块的代码被执行多次。 注意:不论是内置模块、用户自定义模块、还是第三方模块&#xff0c;它们都会优先从缓存中加载&#xff0c;从而提高模块的加载效率. 2. 内置模块的加…...

函数

1、概述 1.1、函数分类 1&#xff09;系统函数&#xff08;库函数&#xff09; 2&#xff09;用户定义函数 1.2、函数的作用 降低代码重复率让程序更加模块化&#xff0c;利于阅读、修改和完善 1.3、函数的调用&#xff1a;随机数 函数调用 5 要素&#xff1a; 头文件&…...

第四周:机器学习知识点回顾

前言&#xff1a; 讲真&#xff0c;复习这块我是比较头大的&#xff0c;之前的线代、高数、概率论、西瓜书、樱花书、NG的系列课程、李宏毅李沐等等等等…那可是花了三年学习佳实践下来的&#xff0c;现在一想脑子里就剩下几个名词就觉得废柴一个了&#xff0c;朋友们有没有同感…...

韩版传奇 2 源码分析与 Unity 重制(一)服务端 TCP 状态管理

专题介绍 该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。 相关资料 官方论坛: https://www.lomcn.org/fo…...

python编程(2)之灯光秀的按钮

今天小编带领大家开始学习python编程的第二节&#xff0c;灯关秀的按钮。 按键在后续的学习和开发过程中&#xff0c;都是很重要的内容&#xff0c;是帮助我们获取外界信息的基础通道&#xff0c;识别按键的方式&#xff0c;在上节的内容给大家介绍了&#xff0c;大家可以进行学…...

pandas将dataframe列中的list转换为多列

在应用机器学习的过程中&#xff0c;很大一部分工作都是在做数据的处理&#xff0c;一个非常常见的场景就是将一个list序列的特征数据拆成多个单独的特征数据。 比如数据集如下所示&#xff1a; data [[John, 25, Male,[99,100,98]],[Emily, 22, Female,[97,99,98]],[Michae…...

Wangle客户端开发实战:从零开始构建高效网络应用

Wangle客户端开发实战&#xff1a;从零开始构建高效网络应用 【免费下载链接】wangle Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. 项目地址: https://gitcode.com/g…...

MelonLoader终极指南:Unity游戏模组加载器的完整安装与使用教程

MelonLoader终极指南&#xff1a;Unity游戏模组加载器的完整安装与使用教程 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 还在…...

GD32F407定时器实战:1ms中断精准控制LED闪烁(附源码与调试技巧)

GD32F407定时器实战&#xff1a;1ms中断精准控制LED闪烁&#xff08;附源码与调试技巧&#xff09; 1. 嵌入式定时器的核心价值与应用场景 在嵌入式系统开发中&#xff0c;定时器如同系统的心跳&#xff0c;为各类周期性任务提供精准的时间基准。以智能家居中的温控系统为例&…...

FPGA新手避雷指南:你的第一个呼吸灯项目可能卡在这几个Vivado仿真和引脚分配问题上

FPGA新手避雷指南&#xff1a;从仿真到引脚分配的完整呼吸灯实战 第一次在FPGA上实现呼吸灯效果&#xff0c;本该是充满成就感的时刻。但当你按照教程一步步操作&#xff0c;点击"Generate Bitstream"后&#xff0c;板子上的LED却毫无反应——这种挫败感我太熟悉了。…...

一站式融合赋能,企业级私有化视频会议系统EasyDSS助力企业培训全流程闭环管理

传统企业培训往往面临诸多痛点&#xff0c;线下培训受地域、时间限制&#xff0c;直播培训错过即无&#xff0c;核心内容无法有效沉淀&#xff0c;会议、直播、点播多平台切换&#xff0c;操作繁琐效率低&#xff0c;EasyDSS企业级私有化视频会议系统&#xff0c;打破单一功能局…...

手把手教你学Simulink——基于Simulink的模型预测控制(MPC)PFC整流器快速动态响应

目录 手把手教你学Simulink ——基于Simulink的模型预测控制(MPC)PFC整流器快速动态响应 一、问题背景 二、系统建模与控制目标 1. 单相 Boost PFC 拓扑 2. 动态方程(αβ 静止坐标系) 3. 控制目标 三、有限控制集 MPC(FCS-MPC)设计 1. 预测模型(离散化) 2. 代…...

ViT图像分类-中文-日常物品完整指南:4090D单卡环境配置与中文类别映射说明

ViT图像分类-中文-日常物品完整指南&#xff1a;4090D单卡环境配置与中文类别映射说明 想试试用AI模型来识别你手机里的照片吗&#xff1f;比如&#xff0c;拍一张桌上的水杯、键盘或者零食&#xff0c;让模型告诉你它是什么。今天要介绍的这个工具&#xff0c;就能帮你轻松实…...

Alpamayo-R1-10B实战案例:自动驾驶算法工程师日常调试VLA模型工作流

Alpamayo-R1-10B实战案例&#xff1a;自动驾驶算法工程师日常调试VLA模型工作流 1. 项目概述 Alpamayo-R1-10B是专为自动驾驶研发设计的开源视觉-语言-动作(VLA)模型&#xff0c;基于100亿参数架构构建。这套工具链包含AlpaSim模拟器和Physical AI AV数据集&#xff0c;旨在通…...

bilibili-api完全指南:评论数据爬取的4个突破式解决方案

bilibili-api完全指南&#xff1a;评论数据爬取的4个突破式解决方案 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址&#xff1a;https://github.com/MoyuScript/bilibili-api 项目地址: https://gitcode.com/gh_mi…...

颠覆传统投资分析:TradingAgents-CN智能交易系统零门槛部署指南

颠覆传统投资分析&#xff1a;TradingAgents-CN智能交易系统零门槛部署指南 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在金融科技迅猛发展的…...