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

2023.11.25电商项目平台建设2 -四大业务之核销主题建模

1.数仓建模步骤

自下而上 ADS-DWS-DWM-DWD

 

2.DWD方案(清洗转换,降维拉宽) 

DWD层的表

dwd_sale_store_sale_dtl_i 门店销售明细宽表

维度dim        销售sale合成成的宽表

dwd_dim_date_f

日期表

store_sale_dtl

门店销售明细表

dwd_sale_store_sale_dtl_i

门店销售明细表

dwd_dim_source_type_map_f

交易类型映射表

store_sale_info

门店销售信息表

dwd_dim_store_f

分店信息表

store_sale_pay

门店销售支付表

dwd_dim_goods_f

门店商品信息表

dwd_dim_store_goods_f

店组信息表 

 

先合并销售的三张表(事实表),再去和维度的5张表合并,最后生成门店销售明细表的宽表

先与销售的3张事实表进行关联

销售日期:基于门店销售信息表中的库存日期处理
注意:所有时间数据都建议格式化下
 

母店编码和店铺编码: 母店编码为销售信息表的门店编码, 门店编码使用销售信息表的销售门店编码,如果没有, 再使用门店编码
交易来源:如果为null, 返回1,代表线下POS
会员类型: 如果以OL- 或者 SF- 开头的为1线上会员, 如果是''或者null为0非会员, 否则为实体卡会员
是否余额支付: 基于门店销售支付表,如果订单id为null返回0代表不是,否则返回1代表是
结算类型: 判断trade_id,如果为1 返回0(正常交易), 为2返回2, 如果为3,4返回5
母订单编号: 判断明细表中商品销售金额sale_amount如果小于0采用销售表的source_order_sn(退款单据ID),反之如果大于等于0采用销售表的parent_order_sn. 否则选order_no
item,sort,cashier_no,cashier_name,zt_id(member_center_sn),member_id: 如果为null设为0
支付时间: 选择商品信息表的支付日期pay_date
最后更新时间: 选择商品信息表的库存时间deal_date
是否为组合类型: 判断明细表combination_flag,如果为1返回1(是),否则返回0(否)
trade_mode_id,share_user_id,commission_amount: 如果为null, 设置为0
余额支付金额: 判断单据总支付金额如果等于0 , 则结果为0; 如果余额支付金额为null,则结果也为0,                                          否则使用余额支付金额 * (商品销售金额 / 单据总支付金额)

基于合并后的3个事实表结果,再去和其他五个维度表关联,生成最终商品明细宽表

刻钟: 判断0-14为1,15-29为2,30-44为3,45-59位4
刻钟数: 计算格式为hourly*4+刻钟
销售类型: 判断source_type或者original_source_type,当为1返回1, 当为9返回5 , 当为 4,5,6,7,8返回6. 当为11返回8 ,否则返回7
供应链类型: 判断门店商品信息表的 tag 商品标识为null, 返回4
采购仓库编号:	判断门店商品信息表的 dc_no 如果为null 返回-1
采购仓库名称:	判断门店商品信息表的 dc_name 如果为null 返回其他仓
采购柜组编号:	判断门店商品信息表的 group_no 如果为null, 返回-1
采购柜组名称:	判断门店商品信息表的 group_name 如果为null, 返回其他柜组
供应商ID: 判断门店明细表的vendor_id 如果为null, 返回0
是否日清: 判断门店商品信息表的is_clear 如果为null, 返回0
写入时间: 设置为昨天
核销时间: 设置为交易日期

冲减:冲减是会计学上使用较多的术语。是指收入或者费用之间相互抵消,冲减可以部分冲掉,也可以全额冲掉。 

 

3.DWM方案(提前聚合,业务合并)

4.DWS方案(基于主题需求-维度指标,形成大宽表)

5.ADS方案(基于主题需求-维度指标,分析和计算最终指标)

 


http://www.kler.cn/a/146237.html

相关文章:

  • 如何在不暴露MinIO地址的情况下,用Spring Boot与KKFileView实现文件预览
  • FastADMIN实现网站启动时执行程序的方法
  • Web前端------表单标签
  • 如何学习网络安全?有哪些小窍门?
  • 2024年度个人成长与技术洞察总结
  • 使用Pydantic驾驭大模型
  • 计算机毕业设计 基于SpringBoot的智能停车场计费系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 3.OpenResty系列之Nginx反向代理
  • 推荐你一个基于Koin, Ktor Paging等组件的KMM Compose Multiplatform项目
  • 内衣洗衣机怎么选?内衣洗衣机便宜好用的牌子推荐
  • SOLIDWORKS髙级孔命令及相关问题
  • 某生物科技巨头:引入安全工具,推动基因科技领域智能化发展
  • C 文件 rewind() 函数
  • JVM字节码文件的相关概述解读
  • leetcode周赛373场
  • Linux C语言 30-套接字操作
  • TCP/IP、Http、Socket之间的区别
  • LeetCode 4 寻找两个正序数组的中位数
  • 知识图谱06——将pdf中的表格(文字形式)保存至csv中
  • Flume采集Kafka并把数据sink到OSS
  • Controller 层代码就该这么写,简洁又优雅!
  • Xcode:does not contain bitcode
  • 华为eNSP使用教程(Enterprise Network Simulation Platform,企业网络仿真平台)
  • Docker搭建个人网盘NextCloud并接入雨云对象存储的教程
  • PNG格式的图像比JPG图像多一个Alpha通道
  • 【C++高阶(五)】哈希思想--哈希表哈希桶