维度字典
最后更新于:2018-08-06 11:00:52
1. 什么是“维度字典”
针对已经存在的事件属性和用户属性,可以上传属性值的自定义映射关系,且属性值是一对一的映射关系。 在过滤,分组中可以使用带有维度字典的属性。如下图所示,维度字典的属性右侧会有字典标示,屏幕宽度,操作系统版本,性别都是有维度字典的属性。
2. 使用示例
2.1 界面上传维度字典
点击页面左下角的元数据,可以在用户属性页面和事件属性页面上传属性的维度字典。
1.浏览属性页面
如下图所示,只有文本类型和数值类型的属性可以上传维度字典,点击按钮可上传。
2.上传维度字典
- 首先建立维度字典,字典命名加上 .txt 后缀。
- 支持上图所示的分隔方式,选择的分隔符样式必须和维度字典中分隔符一致。分隔符左边是原始值,右边是替换的值。注意:字典中的分隔符样式都要使用英文的分隔符。同时字典每一行分隔符左边不要出现和分隔符相同的字符。这里因为维度字典每一行用"|"分隔,所以分隔符样式选择"|"。
- 上传可以选择新增上传,现有的字典会保留。覆盖会清空之前的字典再上传。点击确认开始上传。
- 注意维度字典必须是一对一映射,即逗号的左边列和右边列的取值都必须是唯一的,目前不支持一对多映射。
3.清空维度字典
所有有维度字典的属性右侧会出现删除按钮,表示可以清除维度字典。
2.2 上传维度字典api
通过发送 http post 请求[/property/dict/upload],可以上传字符串类型或数值类型属性的维度字典。
- Parameters
- propertyName: 上传的属性名,必须是已有属性的属性名,比如 $os_version, Gender
- type: 上传的属性类型,property 或者 profile,表示是事件属性还是用户属性。
- isIncrement: bool 类型,表示是否增量上传。false表示全量上传,会清空之前对应属性的字典再上传。true表示增量上传。
- file: 上传一个属性的维度字典,最大不超过 100M。维度字典每行用逗号分隔,逗号左边是属性值,逗号右边是用户定义的属性值对应的映射后的值。文件必须是 UTF-8 编码。
- split: 可选参数,默认是逗号分隔。比如自定义字典使用“|“分割,则 split 值为“|“。
- Response 200
比如用户要上传事件属性 $os_version 的维度字典,发送如下指令:
curl 'http://$WEB_URL/api/property/dict/upload?project=$PROJECT_NAME&propertyName=$os_version&type=property&isIncrement=true&token=$API_SECRET' -X POST -F "file=@$PATH"
- 替换 $WEB_URL, $PROJECT_NAME, $API_SECRET, $PATH 四个参数。$WEB_URL 是网站的 URL;$PROJECT_NAME 是 project名; $API_SECRET 可以使用 admin 账号登陆系统后,在账户管理界面获取;$PATH 是属性维度字典在本地的路径。
- file:
注意维度字典必须是一对一映射,即逗号的左边列和右边列的取值都必须是唯一的,目前不支持一对多映射。
2.3 下载维度字典
对于有维度字典的属性,可以下载已有的数据字典,默认保存为 txt 文件。
2.4 筛选表达式
对于有维度字典的属性,不管是字符串类型还是数值类型,筛选条件都只有四类:
- equal / notEqual,表示等于/不等于
- isSet / notSet,表示有值/没值
2.5 结果展示
以事件分析为例,获取2015-10-18至2015-10-20买入黄金的总次数,其中操作系统是第一版。因为操作系统版本是有维度字典的属性,过滤条件和结果分组列表中,都是显示的用户定义后的值。对于字典中没有覆盖的值,会显示原来的值。在漏斗分析,留存分析等功能中,有维度字典的属性使用情况类似。
2.6 清空维度字典
参数含义和上传维度字典类似,比如要清空刚才上传的$os_version的维度字典,则执行下面的指令。
curl 'http://$WEB_URL/api/property/dict/empty?propertyName=$os_version&type=property&token=$API_SECRET' -X POST