首页
学习
活动
专区
圈层
工具
发布

SQL踩坑经验 | 用SQL实现帕累托累计和滚动平均值

#L12Ach%,回滚过去六个月平均达成率(不含统计月),展示为百分数形式,保留两位小数,平均值算法为加权平均 手里的原始数据基本是这个样子: #数据有下面字段:brand ,yearmonth,workday_of_month...每个 CTE 可以专注于完成一个特定的子任务(例如,计算一个中间汇总、过滤特定数据、连接几个表得到一个中间视图)。 主查询通过引用这些命名的 CTE 来组合最终结果,使得主查询的逻辑变得非常简洁明了。...5.简化窗口函数的使用: 在定义 CTE 中使用窗口函数进行计算(如排名、累计求和等),然后在主查询中对这些计算结果进行过滤或进一步处理,会使逻辑更清晰。...思路上是做自连接,然后用case when嵌套求和就可以了,但是写得时候我搞了个小问题,想了半天都没想明白是哪里出的问题。...CTE的临时表,但是出来的结果不太多对,琢磨了很久都没有琢磨明白为啥用CTE出来的结果是错的,最后修改成了从原始表取数 第四个问题是时间范围的问题,我的需求中有时间范围的要求,数据结构也比这里展示的更复杂一些

36010

多用度量值,少用新建列:一个度量值解决分月均摊

社群里有朋友提出这么一个问题: 问题 这是原始数据: 这是想要的结果: 结果呈现: 看到这个问题,首先第一感觉,好像是非常简单的,获取每一个合同编号的起始月,然后均摊、求和就可以。...很明显,全部的合同都是1年期,也就是12个月,不能均摊在13个月。 所以第一个问题就是就要定义到底是哪12个月。...经过一番讨论,确认:如果合同的起始日期为当月的15号之前(含),那么就从当月算起共12个月,如果是15号之后(不含),那么就从下个月算起共12个月。...B表中,如果在就返回分摊费用 使用CONTAINSSTRING和CONCATENATEX来确定所筛选的月份是否在以上的B表中。...最近在研究流数据集,流数据集中是无法通过创建新列或者进行PQ处理的,甚至连数据格式都无法更改,能做的只有创建复杂度量值。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Pandas透视表及应用

    Pandas 透视表概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。...通过对会员的注册数据以及的分析,监控会员运营情况,为后续会员运营提供决策依据。...#通过cumsum 对月增量做累积求和 month_count.loc[:,'存量'] = month_count['月增量'].cumsum() month_count 可视化,需要去除第一个月数据...第一个月数据是之前所有会员数量的累积(数据质量问题) 由于会员等级跟消费金额挂钩,所以会员等级分布分析可以说明会员的质量  通过groupby实现,注册年月,会员等级,按这两个字段分组,对任意字段计数... 计算连带率 会员复购率分析  上面计算的数据为所有数据的复购率,我们要统计每年的复购率,所以要先对数据进行订单日期筛选,这里我们定义一个函数  统计2018年01月~2018年12月复购率和2018

    1.3K10

    (三)数仓人必看!ODS 到 DWS 各层设计规范全解析,含同步存储质量核心要点

    3个月内最大访问跨度最近7天分区;3个月内最大访问跨度12天时,建议保留最近15天分区;3个月内最大访问跨度最近33天分区;3个月内最大访问跨度个月内最大访问跨度最近7天分区;3个月内最大访问跨度12天时,建议保留最近15天分区;3个月内最大访问跨度最近33天分区;3个月内最大访问跨度最近120天分区;3个月内最大访问跨度最近240天分区;3个月内最大访问跨度最近400天分区;2) 事务型事实表设计准则基于数据应用需求的分析设计事务型事实表...3) 周期快照事实表周期快照事实表中的每行汇总了发生在某一标准周期,如某一天、某周、某月的多个度量事件。粒度是周期性的,不是个体的事务。...在表的命名上要能说明数据的统计周期,如 _Id表示最近1天,_td 表示截至当天,_nd 表示最近N天。

    49610

    构建高并发风控中台:消费交易特征API的Java调用与数据解析

    一、构建企业级数据风控中台在构建企业级信贷审批系统、保险核保平台以及大型电商会员体系时,如何从海量数据中实时获取用户的精准画像,是决定业务风控能力的关键。...本文将以此为核心,面向Java开发者,详细介绍如何在SpringBoot等企业级环境中集成此API,解析其加密数据结构,并探讨如何利用这些特征数据构建稳健的企业风控应用。...时间维度特征:tap031tap036(近3/6/12个月的交易金额与笔数)。行业偏好分布:tap016(笔数最多行业)、tap017(金额最高行业)。...tap101近12个月贷记卡交易金额区间代码(1-12)反映用户的信用卡活跃度和负债偿还意愿。映射值越大(如12代表20万+),用户价值越高。...tap005最近一次一级行业字符串(如FIN,SHOP)监控用户最近的资金动向,例如频繁出现FIN(金融投资)可能意味着用户近期有大额理财或借贷行为。

    24310

    想要精准营销,从学习搭建一套对的标签体系开始丨 DTVision 分析洞察篇

    ”、“普通”、“中端”、“准高端”、“高端” 等标签值・标签含义(描述):描述该标签业务含义,如 “最近 30 天的购买商品的金额区间,对用户消费力进行评估”・标签业务口径:标签以哪个数据定义为准,如...数仓一般实现:1、公共层数据包含基础属性数据、基础指标(指标也可以作为一种标签,如最近 30 天购买金额、最近 30 天访问次数等),这些数据不仅给标签系统用,也可以给 BI 报表、数据门户使用,所以放在数仓中加工表...三、标签配置基于标签模型的设计,一部分基础指标类的标签在数仓已建设完成,一部分标签需要在产品界面上实现。我们接下来看下业务人员如何在袋鼠云标签产品「客户数据洞察平台」中配置标签。...同时,在后续加工衍生标签时,在某些场景上会用到多个实体下的原子标签加工,这时候可以用 “关系” 将 2 个实体关联起来,如将 “用户” 实体与 “书籍” 实体通过用户表的 “最近购买商品 ID”、以及书籍表的...3、创建衍生标签基于接入的数据表的原始字段和原子标签,通过 “且、或” 关系、“求和、去重计数、计数、最大值、最小值、均值” 聚合函数、“等于、不等于、小于、小于等于、大于、大于等于、包含、不包含等”

    1.3K30

    想要精准营销,从学习搭建一套对的标签体系开始丨DTVision分析洞察篇

    普通”、“中端”、“准高端”、“高端”等标签值 · 标签含义(描述):描述该标签业务含义,如“最近30天的购买商品的金额区间,对用户消费力进行评估” · 标签业务口径:标签以哪个数据定义为准,如“用户活跃城市...数仓一般实现: 1、公共层数据 包含基础属性数据、基础指标(指标也可以作为一种标签,如最近30天购买金额、最近30天访问次数等),这些数据不仅给标签系统用,也可以给BI报表、数据门户使用,所以放在数仓中加工表...三、标签配置 基于标签模型的设计,一部分基础指标类的标签在数仓已建设完成,一部分标签需要在产品界面上实现。我们接下来看下业务人员如何在袋鼠云标签产品「客户数据洞察平台」中配置标签。...同时,在后续加工衍生标签时,在某些场景上会用到多个实体下的原子标签加工,这时候可以用“关系”将2个实体关联起来,如将“用户”实体与“书籍”实体通过用户表的“最近购买商品ID”、以及书籍表的“书籍ID”关联起来...3、创建衍生标签 基于接入的数据表的原始字段和原子标签,通过“且、或”关系、“求和、去重计数、计数、最大值、最小值、均值”聚合函数、“等于、不等于、小于、小于等于、大于、大于等于、包含、不包含等”操作符

    98230

    学习周报20200621 | 风控、模型、回顾

    如何在建模中应用。 滚动率分析:滚动率分析就是从某个观察点之前的一段时间(称为观察期)的最坏的状态向观察点之后的一段时间(称为表现期)的最坏状态的发展变化情况。 ?...所以,确定Y变量可以按照下面的套路: 1)进行滚动率分析,定义坏客户,如上面所说的M4+为坏客户; 2)然后统计出M4+的Vintage数据表及Vintage图,找出成熟期; 3、表现期大于成熟期的样本可以用于建模...,k最近邻,应该是最简单的ml方法了,对于未知标签的样本,看与它最近的k个样本(使用某种距离公式,马氏距离或者欧式距离)中哪种标签最多,它就属于这类; 朴素贝叶斯(Naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法...,对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。...2)坏账变化情况 以9个月内逾期60天为坏账标准,或12个月内逾期90天为坏账标准,观测模型的表现。

    2.2K20

    如何防范用户共谋欺诈?Uber工程师利用关系图检测共谋

    每个用户可以被视为图中的一个节点,并通过嵌入向量表示。这个表示能够对用户及其邻居社区的属性进行编码,以用于机器学习任务,如节点分类和边预测。...具体而言,模型把相邻节点的消息进行加权和归一化求和,再传递到目标节点以学习一个 RGCN 层中的隐藏表示,然后将所有节点的隐藏表示传递到激活函数(如 ReLU)中完成非线性变换。...为了评估 RGCN 模型的性能和欺诈评分的效用,我们使用历史数据对模型进行训练。该数据的跨度为 4 个月,直到特定的日期为止。然后,我们用分割日期后 6 周的数据测试了模型的表现。...并为这些最近的「种子用户」随机分配一个分区号(0 到 n)。每个种子用户的 x 跳子图也被放到到相同的分区中。一个用户可能是多个分区的一部分,而不活跃的用户可能不在任何分区中。...超级节点 图生成过程的一个巨大挑战是处理超级节点,超级节点是一个具有极高连接量的节点。我们分两个阶段对这些节点进行处理: 在创建关系表时,过滤具有高度连接的实体。

    72410

    Oracle的使用

    :|| 多表关联(和mysql一样的用法) 左连接 left join 表名 on 条件 (左表不限制,右表显示符合条件的数值,空显示null) 右连接 right join 表名 on 条件...全外连接 full join 表名 on 条件 minus是获取第一张表独有的数据(俩张表都有的数据不显示,只显示第一张表特有的) intersect显示两张表中都有的数据(交集) union是整合两张表的数据...数据库中是没有limit关键字的,想在Oracle数据库中实现limit功能可以通过使用rownum来限制结果集行数。...两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D:星期中的第几天 DD:月份中的第几天...DDD:年所中的第几天 DAY:九个字符表示的天的全称,右边用空格补齐 HH,HH12:一天中的第几个小时,12进制表示法 (当前时间大于12点的时候会报错) HH24:一天中的第几个小时,取值为

    1.3K30

    架构设计中的性能优化与可扩展性:如何找到平衡点?

    小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!...本文将探讨在分布式架构中如何实现高性能,如何选择合适的负载均衡策略,以及如何在性能与扩展性之间找到理想的平衡点。...性能优化策略数据库优化:使用缓存(如 Redis、Memcached)来存储频繁访问的数据,减少对数据库的访问频率。数据库分库分表:通过将数据库拆分成多个独立的数据库或表来减轻单一数据库的压力。...索引优化:为常用查询创建合适的索引,避免全表扫描。应用层优化:异步处理:对于不需要立即返回结果的任务(如发送邮件、日志记录),可以使用异步处理来减轻主线程的负担。...使用 CDN 和边缘计算来分担部分负载,将流量引导到最近的可用节点。 4. 性能与扩展性平衡点:从设计到实践综合优化策略如何在性能和扩展性之间找到平衡点,实际上取决于对业务需求和技术栈的深入理解。

    69921

    分页查询接口,从2s优化到了0.01s

    前言 最近在我的知识星球中,有个小伙伴问了这样一个问题:百万商品分页查询接口,如何保证接口的性能? 这就需要对该分页查询接口做优化了。...单表已经到达了几千万。 这时候分页查询接口性能急剧下降,我们不能不做分表处理了。 做简单的分表策略是将历史数据归档,比如:在主表中只保留最近三个月的数据,三个月前的数据,保证到历史表中。...我们的分页查询接口,默认从主表中查询数据,可以将数据范围缩小很多。 如果有特殊的需求,再从历史表中查询数据,最近三个月的数据,是用户关注度最高的数据。...9 数据库读写分离 有时候,分页查询接口性能差,是因为用户并发量上来了。 在系统的初期,还没有多少用户量,读数据请求和写数据请求,都是访问的同一个数据库,该方式实现起来简单、成本低。...但随着用户量的增长,用户的读数据请求和写数据请求都明显增多。 我们都知道数据库连接有限,一般是配置的空闲连接数是100-1000之间。如果多余1000的请求,就只能等待,就可能会出现接口超时的情况。

    60710

    百万商品查询,性能提升了10倍

    前言 最近在我的知识星球中,有个小伙伴问了这样一个问题:百万商品分页查询接口,如何保证接口的性能? 这就需要对该分页查询接口做优化了。...单表已经到达了几千万。 这时候分页查询接口性能急剧下降,我们不能不做分表处理了。 做简单的分表策略是将历史数据归档,比如:在主表中只保留最近三个月的数据,三个月前的数据,保证到历史表中。...我们的分页查询接口,默认从主表中查询数据,可以将数据范围缩小很多。 如果有特殊的需求,再从历史表中查询数据,最近三个月的数据,是用户关注度最高的数据。...9 数据库读写分离 有时候,分页查询接口性能差,是因为用户并发量上来了。 在系统的初期,还没有多少用户量,读数据请求和写数据请求,都是访问的同一个数据库,该方式实现起来简单、成本低。...但随着用户量的增长,用户的读数据请求和写数据请求都明显增多。 我们都知道数据库连接有限,一般是配置的空闲连接数是100-1000之间。如果多余1000的请求,就只能等待,就可能会出现接口超时的情况。

    45110

    MySQL命令操作(Linux平台)

    Linux shell 批量创建数据库/表 Shell 脚本如下: # create database and table HOST='localhost' PORT='3306' USER='root...MySQL 从常用操作命令: 显示数据库 show databases; 切换数据库 use top123; 显示数据库表 show tables; ?...key; 添加组合主键 alter table gametop800 add primary key(id, dtime); 如果感兴趣的话,可以深入综合运用awk,cut,paste,正则表达式,数据库操作等较为复杂的语法...,完成MySQL数据库操作 下面是实现了一个抓取网页,提取特征,抽取信息,结果汇总,批量插入数据库永久保存 示例: 附加: 1) 查看正在处理的进程: show  processlist; 2) 查看数据库占空间大小...06 10:04:26 格式:  date_format(time, '%Y-%m-%d %H:%m:%S') 如查询今天签到的同学 select true_name from sign_in Where

    1.3K20

    Flink 内部原理之编程模型

    这些核心API提供了用于数据处理的通用构建模块,如用户指定的各种转换,连接,聚集,窗口,状态等。在这些API中处理的数据类型被表示为对应编程语言中的类。...DataSet API为有限数据集提供了额外的原语(primitives),如循环/迭代。 (3) Table API是以表为核心的声明式DSL,可以动态地改变表(当表表示流数据时)。...Table API遵循(扩展的)关系模型:每个表都有一个schema(类似于关系数据库中的表),对应的API提供了类似的操作(offers comparable operations),如select,...数据流类似于有向无环图(DAG)。尽管通过迭代构造允许特殊形式的环,但是为了简单起见,大部分我们都会这样描述。 ? 程序中的转换与数据流中的算子通常是一一对应的。...相反,流上的聚合(计数,求和等)需要由窗口来划定范围,比如在最近5分钟内计算,或者对最近100个元素求和。 窗口可以是时间驱动的(比如:每30秒)或者数据驱动的(比如:每100个元素)。

    1.8K30

    最近的面试都在问些什么?

    又是一年毕业季,给大家分享下最近三个月的中小厂社招面试的面经,这里已经整理出了我的答案或思路供大家参考。...InnoDB存储引擎:默认使用行锁,当对某一行数据操作时,锁定行而不是整个表;当全表扫描时使用表锁,如果事务涉及的操作无法通过行锁实现,也会使用表锁; MyISAM存储引擎:只支持表锁,每次写操作会锁定整个表...唯一索引冲突:如果数据库表中有唯一索引,如主键或唯一约束,那么两个线程的插入操作中只有一个会成功,另一个会因为违反唯一性约束而失败;使用事务和select for update检查数据是否存在,在事务中锁定数据行...http; 3.连接方式:RPC通常基于长连接,如分布式系统中,服务间的相互调用,长连接在建立连接后保持连接状态,可以减少连接和断开连接的开销,不过在一些轻量级RPC调用场景中,通信不频繁时RPC会采用短连接...;HTTP1.1之前是短连接,1.1开始引入持久连接(但本质上仍然是基于请求/响应),http2和3引入了多路复用,允许单个连接上并行发送多个请求和响应。

    54210

    Quant Macro:CTA与宏观经济指标的结合

    在基于美国工业供给数据和有色金属期货价格数据的实证研究中,这些结论都得到了验证。...基于如库存动态、工业生产增长及工业景气等指标构建对工业评价的综合指标,基于该指标构建的简单交易策略在过去28年取得了显著的收益。...在其他金融市场中,经济数据主要影响后续的需求和供给。这对于制定关于经济数据和商品回报之间关系的假设很重要。...情绪波动:如果制造业企业信心在最近几个月减弱,我们预计在其他条件不变的情况下,工业大宗商品需求将相应放缓甚至下降。由于情绪往往受到订单或订单前景而不是生产的影响,它应该对需求有一定的预测能力。...主要包括以下指标: 1、国内制造业和贸易业务的库存,一年同比值的3个月移动均值。这代表了最近的存货变化。 2、工业生产增长,一年同比值的12个月移动均值。这代表了工业部门过去的周期性状态。

    76720

    构建RFM体系:优化客户分析和营销策略

    本文将介绍 RFM 分析如何在数据产品不充分的情况下实现以及如何利用RFM分析来优化营销策略,提高客户满意度,增加业务收益。...- 需要大量的历史交易数据。 客户细分模型(如地理位置、购买历史、产品偏好) - 提供了更全面的用户洞察。- 可根据不同业务需求定义各种细分标准。 - 需要多维度数据,可能需要数据清洗和处理。...- 需要大量的事件数据。 社交网络分析模型(分析用户在社交网络中的连接) - 识别影响力用户和信息传播模式。- 用于社交媒体营销和口碑营销。 - 仅适用于与社交网络相关的业务。...2.1.2其它方式: 观察调研:这种方法通常用于用户研究,通过用户访谈和问卷调查等方式收集特定人群对产品或服务的反馈数据,了解他们的需求和行为特征。...,满足客户的需求和期望,从而提高客户对企业的满意度和忠诚度。

    2.6K30

    如何用SQL计算客户生命周期价值

    那我们从一个简单的情况开始,假设一个客户使用了我们的产品12个月,并且每个月花费了$50。 [image5-300x222.png] 显然,这个用户在他的生命周期中花费了$50*12 = \$600。...,这是因为软件服务的成本较低,对结果的准确率影响不大。...如果你理解LTV这一概念的话,应当知道它是一个几何级数的求和,线性的流失率对应的图像并不是一条直线(很多文章中展示的图像也佐证了这一点) 当然,我们知道线性流失率并不能概括所有的场景。...这里的问题在于传统的数据库当中用户的访问记录为一个个单独的行而不是位于同一行。 解决这个问题的方法是使用自连接,这样我们就可以在一行中看到某用户的全部行为。...如果你想了解如何在电子商务场景下为每个群组估算LTV,请下载我们的免费电子书并参考其中的SQL来计算用户的生命周期价值。

    3.8K70

    QuartZ Cron表达式

    CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。...即便如此,SimpleTrigger一样,CronTrigger拥有的startTime指定的时间表时生效,指定的时间表时,应停止(可选)结束时间。...:表示每月的某一天,或第周的某一天 “L”:用于每月,或每周,表示为每月的最后一天,或每个月的最后星期几如“6L”表示“每月的最后一个星期五” “W”:表示为最近工作日,如“15W”放在每月(day-of-month...)字段上表示为“到本月15日最近的工作日” “#”:是用来指定的每月第n个工作日,例 在每周(day-of-week)这个字段中内容为"6#3" or "FRI#3" 则表示“每月第三个星期五” Cron...n/m表示从n开始,每次增加m “L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X “W”字符:指定离给定日期最近的工作日(周一到周五) “#”字符:表示该月第几个周X。

    1K40
    领券