Gklearlove 2022-03-27 01:04 采纳率: 0%
浏览 25

不同过滤维度(筛选条件)下的日活跃度的数据模型是怎么样的?

假设 有过滤维度(筛选条件):设备维度(安卓、苹果),城市维度(北京、上海、广州等),运营商维度(电信、联通、移动),最终呈现的指标是 每日活跃度。 这种数据模型是怎么样的呢?是明细到每一条用户、设备、城市、运营商这样的数据,还是能够提前算好呢?

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-27 14:20
    关注

    原始数据肯定是有明细,然后可以根据不同维度建立单一维度或者多个维度的汇总表;
    另外,根据举例的这个数据量来看,建立一个 日期、设备、城市、运营商级别的合计活跃用户数和总用户数就好了,这个汇总表数据量不大,而且可以满足当前各维度筛选的需求。


    这里在效率以及数据准确性上要做个取舍,用下面这个sql做汇总表,肯定比你原表效率要高,但是并非绝对准确,不过既然一天之内跨城市或多设备使用的用户很少,那么这种用户对这个数据的影响也就不会很大。

    select 日期,设备,城市,运营商,count(distinct uid) 用户数 fromgroup by 日期,设备,城市,运营商
    

    另外一种方式,以 日期、uid 两个字段作为唯一键,将城市、设备、运营商三者的所有值全部展开成列,值为1时表示是,空表示否,查询时根据不同的条件来指定不同的字段进行查询,这样表的行数也可以大大减少,但是由于城市数过多,很有可能超过列数上限。考虑到一天内一个用户很少跨城市,那么也可以把这个方案修改成日期、uid、城市三个字段作为唯一键,把设备和运营商的所有值展开成列

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月27日

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿