维度设定 --------------------- 本文主要介绍如何自定义维度相关的概念,以及如何设定自定义维度。 自定义维度概念 ===================== 自定义维度是指用户可以为一个成交对象 ``TradeObject`` 设置任意的属性,使得这些对象可以按照用户定义的维度分组。 对于每个成交对象,包含 ``TradeObject`` 和 ``InstrumentObject`` 的全部字段。 ``TradeObject.content`` 和 ``InstrumentObject.content`` 完整的字段信息可以参考 :ref:`objects_model_docs`。 设定自定义维度 ===================== 系统使用 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 | +--------+---------------------+----------+