头部国际药企B Dashboard看板案例分享 Part 2架构与设计(aka 拆指标与数据建模)

楼主
我是社区第367089位番薯,欢迎点我头像关注我哦~

PART1 头部国际药企B Dashboard看板案例分享 Part 1综述

PART2 头部国际药企B Dashboard看板案例分享 Part 2架构与设计(aka 拆指标与数据建模)

PART3 头部国际药企B Dashboard看板案例分享 Part 3图表制作

 

经过Part 1 《头部国际药企B Dashboard看板案例分享 Part 1综述》的需求整理后,进入Part 2,架构与设计工作。

I 报表形式

数据的价值在于通过数字,可以方便、准确、抽象的描述一段时间内发生的事情;而经营分析是对业务运营效果的监控。因此将运营指标开发为定期发布的周报、月报等,是最适合经营分析需求的报表形式。

 

II 运营指标梳理

通过使用金额、数量2种测量方式的运营指标是最常见的度量经营效果的指标类型。通过金额类型的指标(及其派生指标)值变化反映收入的波动;通过数量类型的指标(及其派生指标)值的变化反映动销的波动。结合下钻分析(结构分析)、对比分析和趋势分析,就能比较快速的洞察波动原因,判断今后波动方向。

美*平台提供的数据粒度是城市+ 连锁 + 店铺 + SKU,金额口径为1 美*平台GTV,数量指标有 2 销售数量、3 订单数、4 顾客数、5 动销连锁数。对店铺字段进行简单清洗后,打上了重点客户、销售渠道等标签。从货看场的角度计算了派生指标:6 动销店铺数;从场看货的角度计算了7 动销SKU数;并按环比、同比2种对比分析方法,计算了以上7个指标的环比与同比值,支持从时间维度按月、按旬(每月分上下旬)筛选;从销售渠道筛选;从区域维度按省份、按城市筛选;

# 指标名称 指标类型 原子/派生 对比方式 是否可加 备注
1 美*平台GTV 金额 原子 环比,同比  
2 销售数量 数量 原子 环比,同比  
3 订单数 数量 原子 环比,同比 无法对交叉购买去重,精度问题忽略
4 顾客数 数量 原子 环比,同比 无法对交叉购买去重,精度问题忽略
5 动销连锁数 数量 原子 环比,同比 半可加 区域上卷至全国时,可加
6 动销店铺数 数量 派生 环比,同比 半可加 区域上卷至城市时,可加
7 动销SKU数 数量 派生 环比,同比  

 

III 数据建模

按此要求,ADS建模如下

# 列名 数据类型 长度 描述
1 dateperiod String  
2 yearmonth Int32 10 报告年月
3 city String   城市
4 province String   省份
5 region String   区域
6 chain_client String   厂商口径连锁名称
7 chain_prop String   连锁属性
8 chn_prop String   销售渠道(O2O/B2C)
9 upc Int64 19 SKU UPC编码
10 pname String   品名
11 brand String   品牌
12 pdt_prop String   商品分销方式
13 pdt_key String   重点商品
14 qty Float64 22 销售数量
15 gtv Float64 22 美*平台GTV
16 nbsk Int32 10 订单数
17 nstr Int32 10 动销连锁数
18 nmbr Int32 10 顾客数

 

IV FineBI数据准备

在 cube表建模前,通过FineBI数据准备功能,基于ods做了尝试,最终采纳按不同的日期期间进行聚合的建模方式,开发日颗粒度(另一套报表)和旬颗粒度2套cube,可以在报表性能和开发容易度2个维度中,均取得不错的反馈。最终交付的报表按“演、练、战”3种场景进行了定位。“演场景”,给厂商老板看的正式交付报表(Part 1截图);“练场景”, 给拜耳运营日常使用的报表;以及“战场景”,按排列组合的方式,将各种维度交叉组合后开发结构分析图表组合。而这2套cube在3个场景中均能通用,并且性能优良,充分体现了计算工程师高超的建模能力的。下一Part 将进入图表开发介绍。

SELECT * FROM factory.bayer_dm_sales_rollup
WHERE 
    1 = 1
    ${IF(LEN(by_yearmonth) == 0, "", "AND yearmonth IN ('"+by_yearmonth+"')")}
    ${IF(LEN(by_dateperiod) == 0, "", "AND dateperiod IN ('"+by_dateperiod+"')")}
    ${IF(LEN(by_city) == 0, "", "AND city IN ('"+by_city+"')")}
    ${IF(LEN(by_province) == 0, "", "AND province IN ('"+by_province+"')")}
    ${IF(LEN(by_region) == 0, "", "AND region IN ('"+by_region+"')")}
    ${IF(LEN(by_chain_client) == 0, "", "AND chain_client IN ('"+by_chain_client+"')")}
    ${IF(LEN(by_chain_prop) == 0, "", "AND chain_prop IN ('"+by_chain_prop+"')")}     
    ${IF(LEN(by_chn_prop) == 0, "", "AND chn_prop IN ('"+by_chn_prop+"')")}
    ${IF(LEN(by_brand) == 0, "", "AND brand IN ('"+by_brand+"')")}
    ${IF(LEN(by_pdt_prop) == 0, "", "AND pdt_prop IN ('"+by_pdt_prop+"')")} 
    ${IF(LEN(by_pdt_key) == 0, "", "AND pdt_key IN ('"+by_pdt_key+"')")}     
    ${IF(LEN(by_upc) == 0, "", "AND upc IN ('"+by_upc+"')")}
    ${IF(LEN(by_pname) == 0, "", "AND pname IN ('"+by_pname+"')")} 
分享扩散:

沙发
发表于 2023-6-19 10:17:55
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 6567浏览人数
最后回复于:2023-9-12 21:10

返回顶部 返回列表