# 维度表 API

调用方法请参见Open API文档中的调用方法描述。

# 一、创建维度表

  • 使用 POST 方式提交调用请求, 设置 Content-Type 为 text/csv, 请求体为维度表内容

[POST /open/dict-create]

Content-Type: text/csv

# 1.1 请求参数

Parameter Description Data Type
projectId 项目 ID integer
createParam 创建维度列信息描述 string

# 1.2 维度表创建参数createParam的配置

# 1.2.1 创建维度属性

此处的主字段为channel,与维度表中的channel_id进行关联连接,添加维度表属性channel_name

1.维表示例

维表数据采用csv格式,第一列为关联字段 第一行为列名,第二行开始为数据。

channel_id,channel_name
1,龙腾1区
2,龙腾2区
3,龙腾3区

2.createParam 示例(给事件表的channel字段创建上述维度表)

columns列表里,元素顺序必须与维表数据中列的顺序一致。

{
  "mainColumn": {
    "property": {
      "columnName": "channel",
      "tableType": "event"
    }
  },
  "columns": [
    {
      "property": {
        "columnName": "channel_id",
        "selectType": "number"
      }
    },
    {
      "property": {
        "columnName": "channel_name",
        "columnDesc": "渠道类型",
        "selectType": "string"
      }
    }
  ]
}

3.createParam 字段解释

mainColumn 节点(创建维度表的主字段描述节点)

属性名称 属性描述
property 主属性(物理属性和虚拟属性均可以)
columnName 主属性字段名称
tableType 主属性所属表类型,event:事件属性;user:用户属性

columns列表(维度字段描述节点)

columns列表里,元素顺序必须与维表数据中列的顺序一致。

属性名称 属性描述
property 维度字段属性列表
columnName 维度字段名称
columnDesc 维度字段描述,即字段的显示名称(可选)
selectType 维度字段类型:number 数值,bool 布尔,string 字符串,datetime 日期类型

4.创建结果

创建成功后,可找到属性名为channel@channel_name的维度表属性

# 1.3 接口响应

属性名称 属性描述
return_code 请求响应码 0 为成功,其他为失败
return_message 响应失败信息
data 详细报告实体

响应报告描述

属性名称 属性描述
duplcatedMainKeyColumns 关联主字段重复的列名称
duplcatedMainKeyLineNum 关联主字段重复的行数(会自动丢弃)
mainKeyErrorColumns 关联主字段解析错误的列名称
mainKeyErrorLineNum 关联主字段解析错误的行数(会自动丢弃)
typeErrorColumns 其他字段类型错误的列名称
typeErrorLineNum 其他字段类型错误的行数(会置空)
successLineNum 成功的行数
totalLineNum 总行数

响应示例

{
  "data": {
    "duplcatedMainKeyColumns": ["activity_type@type_test"],
    "duplcatedMainKeyLineNum": 2,
    "mainKeyErrorColumns": ["activity_type@type_test"],
    "mainKeyErrorLineNum": 3,
    "successLineNum": 27,
    "totalLineNum": 40,
    "typeErrorColumns": ["numwrong_test", "boolwrong_test"],
    "typeErrorLineNum": 8
  },
  "return_code": 0,
  "return_message": "success"
}

# 1.4 curl 示例

curl --header 'Content-Type: text/csv' --data-binary '@test.csv' 'http://ta2:8992/open/dict-create?token=bTOzKiTIozG4e19FgXphcA8dDV3DIY8RwdHTO7aSnBsRqSNaIk19BnBMecJDWibD&projectId=377&createParam=%7b%22commonHeader%22%3a%7b%22projectId%22%3a377%7d%2c%22mainColumn%22%3a%7b%22property%22%3a%7b%22columnName%22%3a%22channel%22%2c%22tableType%22%3a0%7d%7d%2c%22columns%22%3a%5b%7b%22property%22%3a%7b%22columnName%22%3a%22channel_id%22%2c%22selectType%22%3a%22string%22%7d%7d%2c%7b%22property%22%3a%7b%22columnName%22%3a%22channel_name%22%2c%22columnDesc%22%3a%22%e6%b8%a0%e9%81%93%e7%b1%bb%e5%9e%8b%22%2c%22selectType%22%3a%22string%22%7d%7d%5d%7d'