跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

SQL自定义查询

支持通过常用SQL函数自定义查询事件表、用户表、用户分群表,获取您想计算的统计指标。

image

1.使用说明

1.1 基本用法

SELECT
  app_key, umid,
  event_name,
  event_kv_json,
  client_time,
  to_timestamp (client_time / 1000)  
FROM
  uapp_event_view
WHERE
  ds = '20231213'
  AND event_name = '$$_session_start'
LIMIT
  100;
说明
  • 前端展示500条查询记录

  • SQL语句仅能使用英文单(')引号,使用双(")报错

image.png

1.2 字段说明

1.2.1 事件表(uapp_event_view)

字段

类型

字段说明

app_key

text

应用Appkey

umid

text

友盟umid

event_name

text

事件名称

install_channel

text

安装渠道

app_channel

text

应用渠道

sdk_version

text

SDK版本

app_version

text

app版本

server_time

bigint

服务器时间戳

pre_app_version

text

前一个app版本号

screen_width

bigint

屏幕宽度

screen_height

bigint

屏幕高度

os_version

text

操作系统版本

device_brand

text

设备品牌

device_model

text

设备机型

country

text

国家

province

text

省份

city

text

城市

is_wifi

text

是否wifi

imei

text

imei(国际移动设备识别码)

idfa

text

idfa(广告标识符)

is_new_install

text

新老用户(1是0否)

client_time

bigint

客户端时间戳

os

text

操作系统

session_id

text

会话id

hour

text

小时字段

install_datetime

text

安装时间

userid

text

用户id

duration

double precision

持续时长

android_id

text

安卓id(设备上唯一标识符)

access

text

网络类型

carrier

text

运营商

event_kv_json

text

参数和参数值数据,JSON结构

ds

text

日期(分区)

说明

该事件表为增量表

1.2.2 用户表(uapp_umid_users_view)

字段

类型

字段说明

app_key

text

应用appkey

umid

text

友盟umid

client_time

bigint

客户端时间

app_channel

text

应用渠道

province

text

省份名

city

text

城市名

idfa

text

idfa(广告标识符)

imei

text

imei(国际移动设备识别码)

oaid

text

oaid开放匿名设备标识符

zid

text

反作弊标识符

device_brand

text

设备品牌

device_model

text

设备机型

os

text

操作系统

os_version

text

操作系统版本

app_version

text

应用版本

install_datetime

text

安装日期

install_channel

text

安装渠道

install_app_version

text

安装应用版本

active_ds

text

活跃日期

properties

text

用户属性

puid

text

用户账号

mobile

text

手机号

email

text

邮箱

custom_properties

jsonb

自定义属性

login_timestamp

bigint

登录时间戳

ds

text

日期(分区)

说明

用户属性表为全量表,每日更新(T+1)

查询用户表时需要携带ds条件,且ds条件需要为昨天,例如ds='20231227'

1.2.3 分群明细表(uapp_user_group_view)

字段

类型

字段说明

app_key

text

应用appkey

group_id

text

分群id

umid

text

友盟umid

ds

text

日期(分区)

说明

用户分群表(即一堆umid设备用户的集合),分群一般分例行人群和单次计算人群,由于数据存储周期原因,分群的umid设备明细会有不同的存储周期策略。单次计算的人群明细保留最近1095天,例行计算的人群明细保留最近30天。

查询分群表时候,需要where条件携带ds条件和group_id条件,否则会提示报错。

group_id的值可以通过如下路径获取:分析-> 行为洞察 -> 自定义分析 -> 元数据 -> 分群ID列 。

1.3 查询范围

时间范围:近一个月(不含今天)

数据范围:事件表、用户表、分群明细表(例行分群30天明细、单次分群1095天明细)

1.4 支持能力

支持以下能力

  • 支持SQL的保存、另存为、更新、历史已存SQL展示(最近100条)

  • 支持SQL的最近历史记录查询(最近300条)

  • 支持元数据的展示(即用户分群),可以快速找到分群ID(group_id),元数据列表当前只展示已计算完成,且存储生命周期在有效期的内的,详细见1.3查询范围

  • 支持不同用户等级的查询次数额度限制(免费版5次/天、专业版10次/天、尊享版20次/天),额度每天0晨重置,如有特殊需求和个性化查询额度需求,可联系客服

2. 函数列表

count

abs

min

max

sum

floor

avg

log

mod

power

random

distinct

sqrt

to_number

get_json_object(请注意说明)

replace

regexp_replace

row_to_json

to_char

to_date

to_timestamp

dateadd

datediff

now

last_day

nullif

exp

ceil

least

ln

row_number

sqrt

说明

当前仅支持以上函数(兼容PgSQL语法),更多函数敬请期待。

使用json函数注意事项:

旧函数:get_json_object 函数仅支持在uapp_umid_users_view表中查询使用。

新语法:event_kv_json ->> '您的json内字段' 仅支持在uapp_event_view表中查询使用。

3. 错误类型

错误码

错误描述

说明

30000101X

不允许使用*,请显式指定列名

请显式指定列名

300001018

只支持查询语句

当前仅支持简单的select语句

300001019

暂不支持union

300001020

暂不支持join

300001021

暂不支持子查询

300001022

SQL中不支持该表

300001023

未找到表名或不支持此操作

300001024

未匹配到正确的表名

300001025

缺少ds条件

300001026

SQL不存在

300001027

您无权操作此SQL

300001028

应用不存在

300001029

您无权操作此应用

300001031

暂不支持此函数使用

300001032

请求太频繁

建议合理控制查询频率

300001033

今日查询额度已不足(联系客服)

免费版5次/天,专业版10次/天,尊享版20次/天

300001034

仅支持部分函数(详细函数支持能力见说明文档)

300001035

where缺少group_id条件

300001036

sql文本过长(含注释),最多限制2000字符

建议合理控制SQL长度,避免大SQL出现,影响查询RT

300001037

敏感关键字禁止使用

sql中包含了被禁止使用的关键字等

...

...

...

4. 常见用法举例

  • 根据userid查询用户在某一天的行为

SELECT userid,event_name,event_kv_json FROM uapp_event_view 
WHERE 
userid = '218' and
ds = '20231213' LIMIT 100;
  • 查询在某一时间段内的某个事件的发生总量

SELECT count(event_name) FROM uapp_event_view 
WHERE 
event_name = 'ID1' 
and userid = '218'
and ds >= '20231213' and ds <= '20231215'
limit 100;
  • 查询某个分群(group_id)的用户设备明细

select app_key,umid from uapp_user_group_view  
where  
ds='20231227' and
group_id='pre_ug_o_00000_bfCSh_1xxxxxxxx';
说明

步骤:先到元数据找到自己的分群ID,然后复制某个分群ID的值,然后在sql中拼写group_id的查询条件即可

  • 找分群ID

image.png

  • 查询结果

image.png

5. FAQ

问题1:怎么知道我每天可以使用的查询次数和已用次数?

答:亲,可以到 设置 -> 我的配额 -> 自定义SQL分析 查看

image.png

问题2:为什么元数据的分群会比 用户洞察->用户分群 中展示的分群少?

答:亲,为了提升SQL自定义分析的查询体验,我们在元数据的用户分群这里只展示了已计算完成的分群,同时只保留了有有效分群明细的用户分群(数据存储周期原因)

问题3:为什么查询结果只展示500条?想要更多数据怎么办?

答:亲,为了避免查询结果集过多,造成SQL查询超时情况,目前只限制展示500条数据。如果有对更大的数据的查询需求和导出需求,欢迎使用DOP(数据返还)产品 链接 ,或通过客服提交需求