页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
评论: 从版本18恢复


Markdown


## <strong>创建数据模型</strong>
- <strong>接口调用-方式1</strong>

```java
import smartbi.net.sf.json.JSONObject;
import smartbi.sdk.ClientConnector;
import smartbi.sdk.InvokeResult;

public class DataModelDemo {

        public static void main(String[] args) {
        // 用户名
        String user = "admin";
        // 密码
        String password = "admin";
        // Smartbi链接http://10.10.35.85:18080/smartbi
        String smartbiURL = "http://localhost:8080/smartbi";
        // 创建Smartbi链接对象
        ClientConnector conn = new ClientConnector(smartbiURL);
        // 建立此连接时,就对smartbi进行了登录
        boolean ret = conn.open(user, password);
        String strpid = "参考下面post的内容I8a8a9fb601831840184096ba01831acd3de00554"; // 父节点id
      // post的内容说明,参考接口调用-方式2的说明,如: String str = "参考下面post的内容";
    // str = "{\"dataSetId\": \"I8a8aa3d4018220a120a154fd018220c691c50013\",\"rows\": [ \"product_name\"],\"columns\": [\"store_sales_m\"]}";
 // post的内容说明,参考接口调用-方式2的说明
        JSONObject obj = JSONObject.fromString(str);
        // 查询模型创建模型
        InvokeResult res = conn.remoteInvoke("AugmentedDataSetForVModule", "getDatacreate", new Object[]{pid, obj});
        conn.close();
        }
}
```
- <strong>接口调用-方式2(仅支持在已登录的情况下)</strong>

http://host:port/smartbi/smartbix/api/dataModel/{pid}

- <strong>接口请求类型</strong>

POST

- <strong>返回值</strong>

CheckResult

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                    |
| --------------------- | --------------------- | ---------------------------------------- |
| id                    | Stirng                | 模型 id                                  |
| errorCode             | String                | 错误码,成功时错误码、错误信息同时为空   |
| errorMessage          | String                | 错误信息,成功时错误码、错误信息同时为空 |

### <strong>简单示例:单物理表</strong>

![](https://wiki.smartbi.com.cn/download/attachments/115002507/DIdcbwCfgon6Kux843ecvX6Wnsh.png)

```json
{  
        "name": "SimpleModelDemo",
        "alias": "模型简单示例",
        "views": [{
                "name": "orders",
                "alias": "订单表",
                "type": "BASIC_TABLE",
                "define": {
                        "tableId": "TAB.northwind.null.orders"
                }
        }],
        "dimensions":[{
                "name": "ShipRegion",
                "alias": "区域",
                "viewName": "orders",
                "fieldName": "ShipRegion",
                "valueType": "STRING"
        }],
        "measures": [{
                "name": "Freight",
                "alias": "运费",
                "viewName": "orders",
                "aggregator": "sum",
                "fieldName": "Freight"
        }]
}
```

### 简单示例 2:SQL 私有查询

```json
{  
        "name": "SimpleModelDemo2",
        "alias": "模型简单示例2",
        "views": [{
                "name": "orders",
                "alias": "订单表",
                "type": "SQL_VIEW",
                "define": {
                        "dataSourceId": "DS.notthwind",
                        "sql": " select * from orders"
                }
        }]
}
```

### <strong>详细示例:2 表关联、定义层次、日期层次、计算度量、计算成员</strong>
简单示例3:Java私有查询带参数
```json
注意:需要把注释去掉

{  
        "name": "ModelDemoDataModel_java11",
        "alias": "模型示例DataModel_java11",
        // 私有查询列表
        "views": [{
                "name": "orderdetailsjavaDemo",
                "alias": "订单明细表java示例",
                "type": "BASICJAVA_TABLEVIEW",
                "define": {
                        "tableIdclassName": "TABsmartbi.northwindcomposite.null.orderdetailsAccessibleFunctionQueryData",
                }        "paramDefaultValues": {
       /*,                     "storeTypeDepartment": "EXTRACTDEPARTMENT",
                "extractSetting": {                     "type"UserName": "FULLADMIN"

               }*/         },{
                },"nameextractSetting": "orders", {
                    "aliastype": "订单表REALTIME",
                "type": "BASIC_TABLE",}
        }],
        "definedimensions": {
       [{
                "tableIdname": "TAB.northwind.null.orders"FunctionAlias",
                "alias": "功能别名",
}                 /*"viewName": "javaDemo",
                "storeTypefieldName": "EXTRACTFunctionAlias",
                "extractSettingvalueType": {"STRING"
        }, {
          "type": "FULL"     "name": "UserAlias",
          }*/      "alias": "用户别名",
 }],         // 层次结构列表     "viewName": "javaDemo",
  "hierarchies": [{             "namefieldName": "hierAreaUserAlias",
                "aliasvalueType": "地区",STRING"
        }],
        "levelsmeasures": [{
                {
   "name": "FunctionId",
                "viewNamealias": "orders功能ID",
   
                "nameviewName": "ShipRegionLeveljavaDemo",
   
                "aliasaggregator": "区域count",
   
                "fieldName": "ShipRegionFunctionId",
        }]
}
```

### 简单示例4:Java私有查询带配置信息
```json
{  
  "levelType      "name": "LEVELDataModel_csv3",
        "alias": "DataModel_csv3",
      },  "views": [{
             {   "name": "javaDemo",
                "viewNamealias": "ordersjava示例",
   
                "nametype": "ShipProvinceLevelJAVA_VIEW",
                "define": {
  "alias": "省份",                     "fieldNameclassName": "ShipProvincesmartbi.CSVJavaQuery",
                        "levelTypeconfigs": {
"LEVEL"                 }           "FileName":  ]"D:/foodmart_store.csv",
         }],         // 日期层次结构列表         "dateHierarchiesEncoding": [{ "utf-8"

            "name":"hierDate",             "alias": "时间维度",             "levels": [        }
        {        }
        }],
   "viewName": "orders",    "dimensions":[{
                "name": "orderYearstore_street_address",
   
                "alias": "地址",
   
                "fieldNameviewName": "OrderDatejavaDemo",
   
                "levelTypefieldName": "LEVELstore_TIMEstreet_YEARaddress",
                },
"valueType": "ASCII"
        }],
      {    "measures": [{
                "viewNamename": "ordersstore_number",
   
                "namealias": "orderQuarter数量",
   
                "aliasviewName": "javaDemo",
   
                "fieldNameaggregator": "OrderDatesum",
   
                "levelTypefieldName": "LEVELstore_TIME_QUARTERnumber"
        }]
}
```

### 简单示例5:SQL私有查询带参数
```json
{
},    "name": "SimpleModelDemo5",
    "alias": "SQL私有查询带参数",
    "views": {[
         {
          "viewNamename": "orders",
           "alias": "订单表",
        "nametype": "orderMonthSQL_VIEW",
        "define": {
          "aliasdataSourceId": "DS.notthwind",
          "sql": " select * from orders where {[orderId   "fieldName": "OrderDate",= ${param}]}"
           },
        "levelTypeparameters": "LEVEL_TIME_MONTH"[
          {
     },       "name": "param",
        {    "valueType": "STRING",
               "viewName""defaultValue": "orders",{
              "value": [
    "name": "orderDay",           [
         "alias": "日",        "SQL参数默认值",
            "fieldName": "OrderDate",     ""
               "levelType": "LEVEL_TIME_DAY" ]
              ],
 }             ]"dataSource": "DS.northwind"
        }],    }
    // 维度结构列表     }
   "dimensions":[{     ]
      }
    "name": "ShipRegion",
]
}
```

### 简单示例6:SQL私有查询带参数,有私有参数进行映射
```json
{
    "name": "SimpleModelDemo6",
    "alias": "区域私有参数映射SQL参数",
    "views": [
      {
        "viewNamename": "orders",
          "alias": "订单表",
        "fieldNametype": "ShipRegionSQL_VIEW",
        "define": {
          "valueTypedataSourceId": "STRINGDS.notthwind",
        }],  "sql": " select * from orders where // 表关系图
        "relationGraph": {{[orderId = ${param}]}"
        },
        "relationsparameters": [{
           {
            "srcViewNamename": "orderdetailsparam",
            "valueType": "STRING",
            "destViewNamedefaultValue": {
"orders",              "value": [
         "linkType": "LEFTJOIN",      [
                  "fieldRelations":,
[{                  ""
              "srcFieldName": "OrderID", ]
              ],
                "destFieldNamedataSource": "OrderIDDS.northwind"
             }
          }]
         ]
      }]
    ],
   }, "parameters": [
      // 度量列表{
        "measuresvisible": [{
       true,
        "name": "Quantity参数-1726717634521",
        "refMapping":  [
     "alias": "Quantity",    {
            "viewNamerefViewName": "orderdetailsorders",
   
            "aggregatorrefParamName": "sumparam",
          }
        "fieldName": "Quantity"],
         },{"valueType": "STRING",
        "componentType": "LIST_SINGLE",
        "namedefaultType": "UnitPriceCONSTLIST",
        "defaultValue": {
          "aliasvalue": "UnitPrice",[
            [
   "viewName": "orderdetails",           "默认值真实值",
          "aggregator": "sum",   "默认值显示值"
            ]
"fieldName": "UnitPrice"         }],
        //},
计算度量列表        "standByType": "calcMeasuresCONSTLIST":,
  [      "standByValue": {
     {     "value": [
          "name":"calc1",  [
              "alias":"数量加1备选值真实值",
 
              "expression备选值显示值":
"[Measures].[Quantity] + 1"           ]
 }         ],
        //},
计算成员列表        "alias": "calcMembers": [参数"
      }
    ]
}     {      
```

### 简单示例7:SQL私有查询带参数,有私有参数进行映射(私有参数含有SQL)
```json
{
    "name": "northSimpleModelDemo7",
    "alias": "私有参数含SQL映射SQL参数",
    "views": [
      {
"alias        "name": "北方orders",
        "alias": "订单表",
        "expressiontype": "[hierArea].[东北] + [hierArea].[华北]","SQL_VIEW",
        "define": {
          "hierNamedataSourceId": "[ShipRegion]"DS.notthwind",
          "sql": " select * from orders where {[orderId = ${param}]}"
        ]},
} ```  - <strong>接口参数及其说明</strong>  pid:父节点 id; "parameters": post[
内容的结构如下,详细说明如下:  ![](/download/attachments/115002507/1.svg 50%x50%)  ##### <strong>DataModelVO 模型</strong>  | <strong>属性</strong>{
| <strong>类型</strong>          | <strong>说明</strong>  "name": "param",
      | | --------------------- | ------------------------------ | ---------------------------- |
| id "valueType": "STRING",
            "defaultValue": {
       | String      "value": [
                [
| 模型 id,更新时才需要填      | | name        "",
         | String        ""
                |]
模型名称              ],
      | | alias      "dataSource": "DS.northwind"
         | String  }
          }
        ]
  | 模型别名   }
    ],
    "parameters": [
      |{
| views       "visible": true,
        | LIst<DataModelViewVO>"name": "参数-1726717634521",
        "refMapping": |[
私有查询列表          {
      | | measures    "refViewName": "orders",
        | LIst<DataModelMeasureVO>   "refParamName": "param"
  | 度量列表       }
        ],
    | | relationGraph  "valueType": "STRING",
     | DataModelRelationGraphVO  "componentType": "LIST_SINGLE",
   | 表关系图    "defaultType": "SQL",
        "defaultValue": {
     | | hierarchies   "SQL": "select * from `orderdetails`",
   | List<DataModelHierarchyVO>     | 层次结构列表 "nameColumn": "OrderID",
          "aliasColumn": "OrderID",
   | | dateHierarchies     "dataSource": "DS.northwind"
| List<DataModelDateHierarchyVO> | 基于日期字段生成时间层次列表 | | calcMeasures  },
       | LIst<DataModelCalcMeasureVO> "standByType": "CONSTLIST",
 | 计算度量列表      "standByValue": {
         | | calcMembers"value": [
          | LIst<DataModelCalcMemberVO> [
  | 计算成员列表           "备选值真实值",
     | | namedSets       "备选值显示值"
     | LIst<DataModelNamedSetVO>      |]
命名集列表          ]
        |},
 ##### <strong>DataModelViewVO 私有查询</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> "alias": "参数"
      }
    ]
}                 
```

### 简单示例8:创建树形私有参数
```json
{
    "name": "SimpleModelDemo8",
    "alias": "创建树形私有参数",
    "views": [
      {
        "name": "orders",
        "alias": "订单表",
        "type": "SQL_VIEW",
        "define": {
          "dataSourceId": "DS.notthwind",
       | | --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| name "sql": " select * from orders where {[orderId = ${param}]}"
        },
        "parameters": [
          {
            "name": "param",
   | String        "valueType": "STRING",
      | 名称     "defaultValue": {
              "value": [
                [
                  "",
                  ""
                ]
              ],
              "dataSource": "DS.northwind"
          | | alias}
          }
     | String  ]
      }
    ],
 | 别名  "parameters": [
      {
        "visible": true,
        "name": "参数-1726717634521",
        "refMapping": [
          {
            "refViewName": "orders",
            "refParamName": "param"
          }
        ],
        "valueType": "STRING",
        "componentType": "TREE_SINGLE",
        "defaultType": "SQL",
        |
| type"defaultValue": {
          "SQL": "select * from `orderdetails`",
   | ViewType      "nameColumn": "OrderID",
      | 类型:BASIC_TABLE,代表基础表 。以下暂不支持:SQL_VIEW、PROC_VIEW、JS_VIEW、JAVA_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE | | define"aliasColumn": "OrderID",
          "dataSource": "DS.northwind"
   | ObjectNode    },
       | 定义,有对应具体的 VO,如基础表为<strong>BasicTableViewDefineVO</strong>"standByType": "SQL",
        "standByValue": {
            "SQL": "select * from `orderdetails`",
            "nameColumn": "OrderID",
            "aliasColumn": "OrderID",
            "dataSource": "DS.northwind",
   | | storeType       "pidColumn": "OrderID",
    | StoreType       "idColumn": "OrderID",
    | 存储方式:DIRECT、EXTRACT,分别代表直连、抽取       "orderBy": [
                {
                    "colName": "ProductID",
                    "type": "asc"
                }
            ]
        },
        "rootType": "SQL",
        "rootValue": {
            "SQL": "select * from `orderdetails`",
            "nameColumn": "OrderID",
            "aliasColumn": "UnitPrice",
            "dataSource": "DS.northwind"
        },
        "alias": "参数"
      }
    ]
}                      
```

### <strong>详细示例:2 表关联、定义层次、日期层次、计算度量、计算成员</strong>

```json
注意:需要把注释去掉

{  
        "name": "ModelDemo",
        "alias": "模型示例",
        // 私有查询列表
        "views": [{
                "name": "orderdetails",
                "alias": "订单明细表",
                "type": "BASIC_TABLE",
                "define": {
                        "tableId": "TAB.northwind.null.orderdetails"
                }
                /*,
                "storeType": "EXTRACT",
                "extractSetting": {
                    "type": "FULL"
                }*/
        },{
                "name": "orders",
                "alias": "订单表",
                "type": "BASIC_TABLE",
                "define": {
                        "tableId": "TAB.northwind.null.orders"
                }
                /*,
                "storeType": "EXTRACT",
                "extractSetting": {
                    "type": "FULL"
                }*/
        }],
        // 层次结构列表
        "hierarchies": [{
            "name":"hierArea",
            "alias": "地区",
            "levels": [
                {
                    "viewName": "orders",
                    "name": "ShipRegionLevel",
                    "alias": "区域",
                    "fieldName": "ShipRegion",
                    "levelType": "LEVEL"
                },
                {
                    "viewName": "orders",
                    "name": "ShipProvinceLevel",
                    "alias": "省份",
                    "fieldName": "ShipProvince",
                    "levelType": "LEVEL"
                }
            ]
        }],
        // 日期层次结构列表
        "dateHierarchies": [{
            "name":"hierDate",
            "alias": "时间维度",
            "levels": [
                {
                    "viewName": "orders",
                    "name": "orderYear",
                    "alias": "年",
                    "fieldName": "OrderDate",
                    "levelType": "LEVEL_TIME_YEAR"
                },
                {
                    "viewName": "orders",
                    "name": "orderQuarter",
                    "alias": "季",
                    "fieldName": "OrderDate",
                    "levelType": "LEVEL_TIME_QUARTER"
                },
                {
                    "viewName": "orders",
                    "name": "orderMonth",
                    "alias": "月",
                    "fieldName": "OrderDate",
                    "levelType": "LEVEL_TIME_MONTH"
                },
                {
                    "viewName": "orders",
                    "name": "orderDay",
                    "alias": "日",
                    "fieldName": "OrderDate",
                    "levelType": "LEVEL_TIME_DAY"
                }
            ]
        }],
        // 维度结构列表
        "dimensions":[{
                "name": "ShipRegion",
                "alias": "区域",
                "viewName": "orders",
                "fieldName": "ShipRegion",
                "valueType": "STRING"
        }],
        // 表关系图
        "relationGraph": {
                "relations": [{
                        "srcViewName": "orderdetails",
                        "destViewName": "orders",
                        "linkType": "LEFTJOIN",
                        "fieldRelations": [{
                                "srcFieldName": "OrderID",
                                "destFieldName": "OrderID"
                        }]
                }]
        },
        // 度量列表
        "measures": [{
                "name": "Quantity",
                "alias": "Quantity",
                "viewName": "orderdetails",
                "aggregator": "sum",
                "fieldName": "Quantity"
        },{
                "name": "UnitPrice",
                "alias": "UnitPrice",
                "viewName": "orderdetails",
                "aggregator": "sum",
                "fieldName": "UnitPrice"
        }],
        // 计算度量列表
        "calcMeasures": [
            {
                "name":"calc1",
                "alias":"数量加1",
                "expression": "[Measures].[Quantity] + 1"
            }
        ],
        // 计算成员列表
        "calcMembers": [
            {
                "name":"north",
                "alias":"北方",
                "expression": "[hierArea].[东北] + [hierArea].[华北]",
                "hierName": "[ShipRegion]"
            }
        ]
}
```

- <strong>接口参数及其说明</strong>

pid:父节点 id;

post 内容的结构如下,详细说明如下:

![](https://wiki.smartbi.com.cn/download/attachments/136905783/modecreate.png 50%x50%)



##### <strong>DataModelVO 模型</strong>

| <strong>属性</strong> | <strong>类型</strong>          | <strong>说明</strong>        |
| --------------------- | ------------------------------ | ---------------------------- |
| id                    | String                         | 模型 id,更新时才需要填      |
| name                  | String                         | 模型名称                     |
| alias                 | String                         | 模型别名                     |
| views                 | LIst\<DataModelViewVO\>         | 私有查询列表                 |
| measures              | LIst\<DataModelMeasureVO\>       | 度量列表                     |
| relationGraph         | DataModelRelationGraphVO       | 表关系图                     |
| hierarchies           | List\<DataModelHierarchyVO\>     | 层次结构列表                 |
| dateHierarchies       | List\<DataModelDateHierarchyVO\> | 基于日期字段生成时间层次列表 |
| calcMeasures          | LIst\<DataModelCalcMeasureVO\>   | 计算度量列表                 |
| calcMembers           | LIst\<DataModelCalcMemberVO\>    | 计算成员列表                 |
| namedSets             | LIst\<DataModelNamedSetVO\>      | 命名集列表                   |
| parameters            | LIst\<DataModelParameterVO\>     | 私有参数列表                  |


##### <strong>DataModelViewVO 私有查询</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                                                                                                       |
| --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| name                  | String                | 名称                                                                                                                                        |
| alias                 | String                | 别名                                                                                                                                        |
| type                  | ViewType              | 类型:SQL_VIEW、JAVA_VIEW、BASIC_TABLE,分别代表SQL查询、Java查询、基础表 。以下暂不支持:PROC_VIEW、JS_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE |
| define                | ObjectNode            | 定义,有对应具体的 VO,如基础表为<strong>BasicTableViewDefineVO</strong>                                                                    |
| storeType             | StoreType             | 存储方式:DIRECT、EXTRACT,分别代表直连、抽取                                                                                               |
| extractSetting        | ExtractSettingVO      | 抽取设置                                                                                                                                
| parameters            | List\<DataModelParameterFieldVO\>      | 参数列表定义,支持设置SQL查询中参数的类型及默认值     

##### <strong>ExtractSettingVO 抽取设置定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                            |
| --------------------- | --------------------- | ------------------------------------------------ |
| type                  | ExtractType           | 抽取方式:FULL、REALTIME,分别代表全量、按次抽取 |

##### <strong>DataModelParameterFieldVO 参数列表定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                            |
| --------------------- | --------------------- | ------------------------------------------------ |
| name                  | String                | 参数名称 |
| valueType             | ValueType             | 数据类型:INTEGER、DOUBLE、LONG、STRING等 |
| defaultValue          | ObjectNode            | 参数类型,可参考案例5中的定义 |

##### <strong>BasicTableViewDefineVO 基础表定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| tableId               | String                | 基础表 Id             |

##### <strong>SQLViewDefineVO  </strong><strong>SQL</strong><strong>查询定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| dataSourceId          | String                | 数据源 Id             |
| sql                   | String                | sql 语句              |

##### <strong>DataModelMeasureVO 度量</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                               |
| --------------------- | --------------------- | --------------------------------------------------- |
| name                  | String                | 名称                                                |
| alias                 | String                | 别名                                                |
| aggregator            | String                | 聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN |
| fieldName             | String                | 私有查询字段名                                      |
| viewName              | String                | 私有查询名                                          |

##### <strong>DataModelRelationGraphVO 表关系图</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| relations:            | List\<RelationVO\>      | 表关系列表            |

##### <strong>RelationVO 表关系</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                                                                           |
| --------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| srcViewName           | String                | 名称                            | | extractSetting        | ExtractSettingVO      | 抽取设置                                                              |
| destViewName          | String                | 别名                                        |  ##### <strong>ExtractSettingVO 抽取设置定义</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                            | | --------------------- | --------------------- | ------------------------------------------------ |
| type                        |
| linkType   ExtractType           | 抽取方式:FULL、REALTIME,分别代表全量、按次抽取TableLinkType         | 连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1 #####对 1(内连接)、1 <strong>BasicTableViewDefineVO 基础表定义</strong>1(外连接) |
| <strong>属性</strong> fieldRelations        | <strong>类型</strong>List\<FieldRelationVO\> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| tableId 私有查询字段名                                                                  | String                | 基础表 Id             |

##### <strong>SQLViewDefineVO<strong>FieldRelationVO  </strong><strong>SQL</strong><strong>查询定义<字段关系</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| dataSourceIdsrcFieldName          | String                | 数据源源字段名 Id             |
| sql          destFieldName         | String                | sql 语句  目标字段名            |

##### <strong>DataModelMeasureVO 度量</strong>

| <strong>属性<<strong>DataModelHierarchyVO 层次结构</strong> |
<strong>类型</strong>
| <strong>说明</strong>                               <strong>属性</strong> | <strong>类型</strong>  | <strong>说明</strong> |
| --------------------- | ---------------------- | --------------------------------------------------- |
| name                  | String                 | 名称                                                |
| alias                 | String                 | 别名                  |
| levels                | List\<DataModelLevelVO\>           |
| aggregator| 层次列表              |
String
#####             <strong>DataModelLevelVO 层次</strong>

| 聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN<strong>属性</strong> | | fieldName  <strong>类型</strong> | <strong>说明</strong>           | String                | 私有查询字段名                                      | | viewName              | String                | 私有查询名                                     |
| --------------------- |  |

##### <strong>DataModelRelationGraphVO 表关系图</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| relations:name                  | List<RelationVO> String                | 表关系列表 名称                    |  ##### <strong>RelationVO 表关系</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                                                                           | | --------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| srcViewName                                |
| alias                 | String                | 名称 别名                                                                                                                                                           |
| fieldName   destViewName          | String                | 别名字段名                                                                                                            | | linkType              | TableLinkType         | 连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1  1(内连接)、1  1(外连接) | | fieldRelations        |
List<FieldRelationVO>| |viewName 私有查询字段名             | String                | 私有查询名                                                                   |  ##### <strong>FieldRelationVO  字段关系</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- | | srcFieldName          | String                | 源字段名              | | destFieldName         | String      |
| levelType        | 目标字段名    | FieldTreeNodeType     | 层次类型:LEVEL、LEVEL_TIME_YEAR、LEVEL_TIME_QUARTER、LEVEL_TIME_MONTH、LEVEL_TIME_WEEK、LEVEL_TIME_DAY、LEVEL_GEO,分别代表普通、年、季、月、周、日、地理层次 |

##### <strong>DataModelHierarchyVO<strong>DataModelDateHierarchyVO 层次结构<基于日期字段生成层次结构</strong>

| <strong>属性</strong> | <strong>类型</strong>  | <strong>说明</strong> |
| --------------------- | ---------------------- | --------------------- |
| name                  | String                 | 名称                  |
| alias                 | String                 | 别名                  |
| levels                | List<DataModelLevelVO>List\<DataModelLevelVO\> | 层次列表              |

##### <strong>DataModelLevelVO<strong>DataModelCalcMeasureVO 层次<计算度量</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                                                                                                                          |
| ---------------------    |
| --------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| name                  | String                | 名称                                                               |
| alias                 | String                                                    | 别名                    | | alias                 | String                | 别名      |
| expression            | String                | 表达式                                                             |
| dataFormat            | String                | 数据格式名,可以在<strong>公共设置-数据格式</strong>中查询需要的名 |

##### <strong>DataModelCalcMemberVO 计算成员</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>            | | fieldName      |
| --------------------- | --------------------- |  | String                | 字段名---------------------------------------- |
| name                  | String                | 名称                                     |
| alias                 | String                |   别名                                         |
| viewName  expression            | String                | 私有查询名表达式                                   |
| hierName              | String                | 层次结构名,如:[ShipRegion]             |
          | parentName                                                        |
| levelType   | String          | FieldTreeNodeType     | 层次类型:LEVEL、LEVEL_TIME_YEAR、LEVEL_TIME_QUARTER、LEVEL_TIME_MONTH、LEVEL_TIME_WEEK、LEVEL_TIME_DAY、LEVEL_GEO,分别代表普通、年、季、月、周、日、地理层次父成员名:[ShipRegion].[All ShipRegions] |

##### <strong>DataModelDateHierarchyVO<strong>DataModelNamedSetVO 基于日期字段生成层次结构<命名集</strong>

| <strong>属性</strong> | <strong>类型</strong>  | <strong>说明</strong>        |
| --------------------- | ---------------------- | ---------------------------- |
| name                  | String                 | 名称                         |
| alias                 | String                 | 别名                         |
| levels expression            | String                | 表达式                       |
| List<DataModelLevelVO> | 层次列表 hierName              | String                | 层次结构名,如:[ShipRegion]   |

##### <strong>DataModelCalcMeasureVO<strong>DataModelDimensionVO 计算度量<字段属性</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                              |
| --------------------- | --------------------- | ------------------------------------------------------------------ |
|
| name viewName              | String                | 私有查询名                                                         |
| fieldName             | String                | 字段名       | String                | 名称                                    |
| visible               | String         | | alias     | 可见性           | String                | 别名                                |
| dataFormat            | String                | 数据格式名,可以在<strong>公共设置-数据格式</strong>中查询需要的名 |
expression| maskingRule           | String                | 表达式 脱敏规则                                                           |
| valueType             | |ValueType dataFormat            | String 数据类型:INTEGER、DOUBLE、LONG、STRING 等                       | 数据格式名,可以在<strong>公共设置-数据格式</strong>中查询需要的名 |

##### <strong>DataModelCalcMemberVO<strong>DataModelParameterVO 计算成员<字段属性</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                              |
        |
| --------------------- | --------------------- | ---------------------- | -------------------------------------------- |
| name                  | String                | 名称 私有查询名                                                         |
| alias                 | String                | 别名 字段名                                                             |
| visible               | boolean   expression            | String 可见性                         | 表达式                                   |
| valueType      hierName       | ValueType      | String      | 控件类型:INPUT、INPUT_MULTIPLE、LIST_SINGLE、TREE_SINGLE(树形)等 |
| defaultType      | 层次结构名,如:[ShipRegion]    | ParamExprType        | | parentName默认值类型:SQL、CONSTLIST(静态列表)            | String                | 父成员名:[ShipRegion].[All ShipRegions] |  ##### <strong>DataModelNamedSetVO 命名集</strong>  | <strong>属性</strong> | <strong>类型</strong>
| <strong>说明</strong>defaultValue        | | --------------------- | --------------------- | ---------------------------- |
| name| ObjectNode            | 参数默认值,有静态列表与SQL,有ConstiListObjectNode  SQLObjectNode        | String                |
名称 | standByType           | ParamExprType         | 备选值类型
| |standByValue alias         | ObjectNode       | String    | 备选值           | 别名             |
| rootType          | | expression  | ParamExprType         | String根节点类型                | 表达式        |
| rootValue             | |ObjectNode hierName              | String根节点值                | 层次结构名,如:[ShipRegion] |  ##### <strong>DataModelDimensionVO 字段属性</strong>  | <strong>属性</strong>
| <strong>类型</strong>refMapping | <strong>说明</strong>          | List\<DataModelParameterMappingVO\>     | 映射表参数                        |

##### <strong>ConstiListObjectNode字段属性</strong>

| <strong>属性</strong> | --------------------- | --------------<strong>类型</strong> | <strong>说明</strong>        |
| ------- | -------------- | ------------------------ | ---------------------------- |
| value viewName                | StringList<List<String>>    | value中有多个List,每个List有两个元素,第一个元素为真实值,第二个元素为显示值      |

##### <strong>SQLObjectNode字段属性</strong>

| 私有查询名<strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>        |
| ---------------- | ------------------- | ---------------------------- |
| SQL              | String              | value中有多个List,每个List有两个元素,第一个元素为真实值,第二个元素为显示值      |
| fieldNamenameColumn       |   String   | String          |  真实值字段    | 字段名  
| aliasColumn      | String              |  显示值字段    |
| dataSource       | String              |  查询SQL的数据源    |
| visiblepidColumn        | String      | String       |  父ID      |
| 可见性idColumn         | String              |  ID    |
| orderBy          | List\<OrderByVO\>     |  排序信息    |

##### <strong>OrderByVO字段属性</strong>

| <strong>属性</strong> | <strong>类型</strong> | dataFormat<strong>说明</strong>        |
| ---------------- | ------------------- | ---------------------------- |
| StringcolName                | 数据格式名,可以在<strong>公共设置-数据格式</strong>中查询需要的名String | | maskingRule           | String 排序字段              |
| 脱敏规则type             | String              |  排序类型:asc、desc    |

##### <strong>DataModelParameterMappingVO字段属性</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>        |
| ---------------- | ------------- | ---------------------------- |
| valueTyperefViewName      | String      | ValueType |  引用参数所在表的名称 |
|   refParamName     | 数据类型:INTEGER、DOUBLE、LONG、STRING 等String        |  引用参数名       |







|