维度字典

最后更新于: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