维度设定

本文主要介绍如何自定义维度相关的概念,以及如何设定自定义维度。

自定义维度概念

自定义维度是指用户可以为一个成交对象 TradeObject 设置任意的属性,使得这些对象可以按照用户定义的维度分组。

对于每个成交对象,包含 TradeObjectInstrumentObject 的全部字段。

TradeObject.contentInstrumentObject.content 完整的字段信息可以参考 对象模型

设定自定义维度

系统使用 SQL 语法设定自定义维度。 有两种不同类型的维度,分别是 表达式维度项

自定义维度 - 表达式

表达式类型,是指用户直接给定一个维度的定义。

例如,用户可以定义一个维度,表示成交时交易日是星期几。可以这样定义:

EXTRACT('dow' from TO_TIMESTAMP("TradeObject".content->>'trading_day', 'YYYY-MM-DD'))

得到的数据结构为

id

columns

星期

1

...

1

2

3

定义品种维度,表示成交时的品种。可以这样定义:

"TradeObject".content->>'product_id'

得到的数据结构为

id

columns

品种

1

...

rb

2

rb

定义板块维度,表示成交时合约所在的板块。可以这样定义:

"TradeObject".content->>'categories_name'

得到的数据结构为

id

columns

板块

1

...

金属

2

金属

自定义维度 - 维度项

维度项类型,是指用户需要穷举定义维度下的所有项,其余值会归到 OTHERS 中。

例如,为不同的用户分组。可以这样定义:

  • 组A: "TradeObject".content->>'investor_name' = 'ringo' or "TradeObject".content->>'investor_name' = 'ringo001'

  • 组B: "TradeObject".content->>'investor_name' = 'shinny' or "TradeObject".content->>'investor_name' = 'shinny001'

  • 组C: "TradeObject".content->>'investor_name' = 'tech' or "TradeObject".content->>'investor_name' = 'tech001'

得到的数据结构为

id

columns

用户组

1

...

组A

2

组A

3

组B

4

组C