精华内容
下载资源
问答
  • 本篇文章是对oracle求同比,环比函数(LAG与LEAD)进行了详细的分析介绍,需要的朋友参考下
  • SQL计算日环比、周同比

    千次阅读 2019-11-10 20:43:45
    计算日环比、周同比 范例表格如下: 这是面试问到的一个问题,回来学习之后了解可以用这个函数: 代码如下: select date,gmv,(gmv-gmv_1)/gmv_1,(gmv-gmv_7)/gmv_7 from (select date,gmv, lead(gmv,1) over...

    计算日环比、周同比
    范例表格如下:

    这是面试问到的一个问题,回来学习之后了解可以用这个函数:
    计算日活的日环比,周同比:

    代码如下:
    select date,dau,(dau-dau_1)/dau_1,(dau-dau_7)/dau_7
    from
    (select date,dau,
    lead(dau,1) over(order by date desc) as dau_1,
    lead(dau,7) over(order by date desc) as dau_7 from tablename) a

    展开全文
  • Hive计算日环比同比

    千次阅读 2019-12-17 13:58:24
    -- (本周期 - 上周期) / 上周期 select date_time ...,(val-val7)/val7 as `周同比` from ( select date_time ,val ,lag(val,1) over(order by date_time) as val1 ,lag(val,7) over(order b...

    1. 方式一

    在这里插入图片描述

    select
    num                                       -- 数量
    ,( num-num_1ago )/num_1ago                -- 日环比
    ,( num-num_7ago )/num_7ago                -- 周同比
    
    ,concat( round( X/10000,1 ),'万' )        -- 保留一位小数,拼接上万
    ,concat( round( X*100,2 ),'%' )           -- 格式化成百分数
    
    ,lpad( cast( X as string ),5,'0' )        -- 不够5位往左边补充0,支持mysql hive oracle
    ,rpad( cast( X as string ),5,'0' )        -- 不够5位往右边补充0,支持mysql hive oracle
    from A
    
    left join B
    on A.uin = B.uin
    
    left join C
    on A.uin = C.uin
    

    2. 方式二

    在这里插入图片描述

    select
    ds
    ,val
    ,( val-val_1ago )/val_1ago as `日环比`
    ,( val-val_7ago )/val_7ago as `周同比`
    from (
        select
        ds
        ,val
        ,lag( val,1 ) over( order by ds ) as val_1ago
        ,lag( val,7 ) over( order by ds ) as val_7ago
        from t_md_sosomap_user_uin
        where ds = 20210101
    ) tmp
    

    注意: lag表示往上面去N行, 这就要求往上面取7行,必须是LASTDAY_7

    展开全文
  • Axure元件库图表,其中包含环比同比图、环形图、柱状图、折线图、饼状图、综合统计图
  • sql同比环比 简单示例

    千次阅读 2019-12-12 17:46:58
    SQL同比-简单示例 同比:一般情况下是今年第n月与去年第n月比 创建一个简单的登录活动记录表 drop table if EXISTS logintime; create table logintime ( logincode VARCHAR(10), usercode VARCHAR(10...

    SQL同比-简单示例

    同比:一般情况下是今年第n月与去年第n月比

    1. 创建一个简单的登录活动记录表
    drop table if EXISTS logintime;
    create table logintime (
    logincode VARCHAR(10),
    usercode VARCHAR(10),
    username VARCHAR(10),
    logintime TIMESTAMP
    );
    
    1. 插入数据
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 8:01:12');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 10:01:04');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 12:05:28');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 13:03:36');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 15:07:57');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 18:01:22');
    insert into logintime values('acd001','aqc985654','王俊名','2019-12-12 20:10:42');
    insert into logintime values('acd001','aqc985654','王俊名','2018-12-12 10:23:45');
    insert into logintime values('acd001','aqc985654','王俊名','2018-12-12 12:11:23');
    insert into logintime values('acd001','aqc985654','王俊名','2018-12-12 15:14:33');
    insert into logintime values('acd001','aqc985654','王俊名','2018-12-12 20:35:01');
    
    1. 查询 看一看数据什么样
    select * from logintime;
    

    查看同比示例原表数据.

    -- 今年双12
    select count(0) logincountnow from logintime where date(logintime)= '2019-12-12';
    -- 去年双12
    select count(0) logincountlastyear from logintime where date(logintime)= '2018-12-12';
    

    同比示例今年双12
    同比示例去年双12.
    4.同比操作

    -- 同比操作
    SELECT
    	t.username,
    	t.logincountnow,
    	t2.logincountlastyear,
    	( t.logincountnow / t2.logincountlastyear ) - 1 AS rat -- 这个列就是你要的同比增长值
    FROM
    	-- 主数据
    	( SELECT t.username, count( 0 ) logincountnow FROM logintime t WHERE date(logintime)= '2019-12-12' GROUP BY t.username ) t
    	LEFT JOIN 
    	-- 对比数据
    	( SELECT t.username, count( 0 ) logincountlastyear FROM logintime t WHERE date(logintime)= '2018-12-12' GROUP BY t.username ) t2 
    	ON t.username = t2.username;
    

    同比示例结果图

    简单来讲就是拿出数据表的同时间长度内相对位置点的一致的数据进行对比。这个相对的点时间单位可以是时分秒,也可以是日月年。
    同比时间轴示例.

    SQL环比-简单示例

    环比:表示连续2个统计周期(比如连续两月)内的量的变化比。

    简单讲:就是两个连续的时间长度内数据量的变化
    还是在之前的表里加入一些数据

    insert into logintime values('acd001','aqc985654','王俊名','2019-07-07 18:01:22');
    insert into logintime values('acd001','aqc985654','王俊名','2019-07-08 20:10:42');
    insert into logintime values('acd001','aqc985654','王俊名','2018-01-01 10:23:45');
    insert into logintime values('acd001','aqc985654','王俊名','2018-03-18 12:11:23');
    insert into logintime values('acd001','aqc985654','王俊名','2018-07-07 15:14:33');
    insert into logintime values('acd001','aqc985654','王俊名','2018-11-11 20:35:01');
    

    执行一下代码查看一下

    select count(0) logincountnow from logintime where year(logintime) = '2019';
    select count(0) logincountlastyear from logintime where year(logintime) = '2018';
    

    环比结果1
    如上图这个“王俊名”同志 今年登录9次
    环比结果2

    如上图这个“王俊名”同志 去年登录8次

    -- 环比操作
    SELECT
    	t.username,
    	t.logincountnow,
    	t2.logincountlastyear,
    	( t.logincountnow / t2.logincountlastyear ) - 1 AS rat -- 这个列就是你要的环比增长值
    FROM
    	-- 主数据
    	( SELECT t.username, count( 0 ) logincountnow FROM logintime t WHERE year(logintime)= '2019' GROUP BY t.username ) t
    	LEFT JOIN 
    	-- 对比数据
    	( SELECT t.username, count( 0 ) logincountlastyear FROM logintime t WHERE year(logintime)= '2018' GROUP BY t.username ) t2 
    	ON t.username = t2.username;
    

    环比结果.
    环比概念示例图:
    环比示例图.
    同比、环比这两张图是不是很像有点相似?对比一下哪里不一样,哈哈

    展开全文
  • SQL 统计日环比、周同比

    万次阅读 2019-03-01 19:12:41
    date gmv 2019-01-01 115.7 2019-01-02 180.1 2019-01-03 296.8 2019-01-04 706.0 2019-01-05 703.5 2019-01-06 527.3 2019-01-07 462.9 ... 2019-01-09...
    dategmv
    2019-01-01115.7
    2019-01-02180.1
    2019-01-03296.8
    2019-01-04706.0
    2019-01-05703.5
    2019-01-06527.3
    2019-01-07462.9
    2019-01-08270.1
    2019-01-0923.3
    2019-01-10346.4
    2019-01-11468.4
    2019-01-12728.1
    2019-01-13841.4
    select date,gmv,(gmv-gmv_1)/gmv_1,(gmv-gmv_7)/gmv_7
    from
    (select date,gmv,
    lead(gmv,1) over(order by date desc) as gmv_1,
    lead(gmv,7) over(order by date desc) as gmv_7 from tablename) a

     

    展开全文
  • 数据我查询的是同比的数据,查出来在表格里实质上是用来计算环比数据,主要问题就是如何拿到扩展出来的第n个数据和第n-1个数据
  • cognos利用mdx函数实现同比环比,下载完解压后为视频文件。
  • Java计算同比环比

    千次阅读 2020-08-31 14:39:28
    Java计算同比环比 同比环比计算基本概念和计算公式 同比率:本年数据比上一年数据增长或减少的比率 同比率计算公式:rate = (本年数据 - 前一年数据) / 前一年数据 实例:2020年10月游客数量为80W,2019年10月游客...
  • ORACLE计算同比环比

    千次阅读 2020-07-06 14:19:18
    同比环比概念和公式 同比: 同比一般情况下是今年第n月与去年第n月比 环比: 表示连续2个统计周期(比如连续两月)内的量的变化比。 同比增长率=(本期数-同期数)/|同期数|×100% 环比增长率=(本期数-上期数)/上期...
  • 同比环比计算

    2020-08-03 15:37:59
    1.同比环比的区别和意义 1.1区别 同比:本期与同期做对比。例如 有当前月份的数据,获取上一年相同月份的数据进行比较 环比:本期与上期做对比。例如 有当前月份的数据,获取本年上月的数据进行比较 1.2意义 同比和...
  • MySQL计算环比同比(年、月、季度)

    万次阅读 多人点赞 2019-08-06 12:50:46
    MySQL计算环比同比(年、月、季度) 环比 所谓“环比”即连续2个单位周期(比如连续两月)内的量的变化比。如今年8月比今年7月。 当然这里的单位不一定是月,可以是任何时间单位。 环比增长率=(本期数-上期数)/...
  • SQL 求同比 环比

    万次阅读 2017-02-26 11:24:13
    or d.Sales=0 then '无穷大' else cast(cast((isnull(c.Sales, 0)-isnull(d.Sales,0))*100/isnull(d.Sales, 0) as decimal(10,2)) as varchar(50))+'%' end as 同比 from SalesDetail c left join (select a....
  • 同比环比

    千次阅读 2019-03-04 11:10:20
    我们在分析数据走势时,经常会用到同比环比。 但是,我们却经常将同比环比弄混淆。 那么,到底同比环比的区别是什么?又该如何计算呢? 一丶同比 为了方便理解,我们使用2018年和2017年的数据来进行说明。...
  • 同比环比的定义 月份同比计算 (2021-01 - 2020-01) / 2020-01 月份环比计算 (2021-02 - 2021-01) / 2021-01 在计算同比的时候要注意order by要对月份和年份都要排序,原因是lead 中的order by只指定了一个排序规则,...
  • MySQL 计算同比环比

    2021-01-15 21:03:20
    使用 case when 语句计算这张联合表相应列的比值, 即为同比环比数据 实际语句示例: # 计算同比 select s1.id,currDate,currSum currSumFee,prevDate,prevSum prevSumFee, CASE WHEN prevSum>0 THEN (currSum-...
  • 同比环比.doc

    2021-11-20 11:31:48
    同比环比.doc
  • Pandas计算同比环比指标的3种方法 同比和环比:环比和同比用于描述统计数据的变化情况 环比:表示本次统计段与相连的上次统计段之间的比较。 比如2010年中国第一季度GDP为G2010Q1亿元,第二季度GDP为G2010Q2亿元,...
  • cognos同比环比.doc

    2011-08-30 16:54:10
    bi cognos同比环比 解决同比环比问题
  • 稍加分析可知,这是一道典型的求同比环比类型的题目。 知识点梳理 同比一般情况下是今年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与去年同期发展水平对比而达到的...
  • 使用pandas计算环比同比

    千次阅读 2020-04-28 15:10:16
    同比环比 都是为了显示数据的变化速度,但是基数不同,同比侧重长期数据趋势变化,环比侧重于短期内数据趋势变化 同比是指在同一时期内的数据趋势变化,用于本期与同期的对比,例如本期2018-02月销售额与同期...
  • 现在创建了视图a_date和视图b_date,求环比同比。 视图a_date INSERT INTO `a_date`(`date`, `feiyong`) VALUES ('2017-09-01', 57557.50); INSERT INTO `a_date`(`date`, `feiyong`) VALUES ('2017-10-01', ...
  • sql语句下的同比环比操作

    千次阅读 多人点赞 2020-07-01 00:44:26
    需求:查询2020年,每月的销售额,以及同比环比,并按照年月进行升序排序 建数据库 建表 插入数据 偷个懒,这些语句就先省略了 给看个截图 ps: 建表时时间要选择datetime ,后面要对时间进行操作的~ 思路:分步操作 ...
  • 在计算同比环比时需要用到本、本月1、上月本、上月1,年初 及去年对应的时间 select CURDATE() as cur_day, DATE_FORMAT(CURDATE(),'%Y-%m-01') as cur_month_first_day, DATE_SUB(CURDATE(),INTERVAL ...
  • SELECTcurmonthMONTH, ((curmonth_sum-lastyear_sum)/lastyear_sum*100)identical, ((curmonth_sum-lastmonth_sum)/lastmonth_sum*100)annulus, FROM(selectt.SALARYMONTHascurmonth ,t.SALARYascurmonth_sum ...
  • 计算同比环比是数据分析工作中常见的工作,虽然理论简单,但是sql计算还是有点繁琐,先把我提炼出来的模板总结如下,方便日后直接使用。 select b1.唯一标识, b1.目标年月, b1.变量, round(b1.变量 - b3.变量, ...
  • 同比环比的区别 环比所表示连续2个统计周期内的量的变化比,它反映的是本期比上期增长了多少。而同比一般情况下是今年第n月与去年第n月比。...环比可以与环比相比较,而不能拿同比环比相比较。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,571
精华内容 3,828
关键字:

日同比日环比