页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
评论: 从版本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 pid = "I8a8a9fb601831840184096ba01831acd3de00554"; // 父节点id
        String str = "参考下面post的内容";
        // post的内容说明,参考接口调用-方式2的说明
        JSONObject obj = JSONObject.fromString(str);
        // 创建模型
        InvokeResult res = conn.remoteInvoke("AugmentedDataSetForVModule", "create", 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"
                }
        }]
}
```
### 简单示例3:Java私有查询带参数
```json
{  
        "name": "DataModel_java11",
        "alias": "DataModel_java11",
        "views": [{
                "name": "javaDemo",
                "alias": "java示例",
                "type": "JAVA_VIEW",
                "define": {
                        "className": "smartbi.composite.AccessibleFunctionQueryData",
                        "paramDefaultValues": {
                            "Department": "DEPARTMENT",
                            "UserName": "ADMIN"

                        }
                },"extractSetting": {
                    "type": "REALTIME"
                }
        }],
        "dimensions":[{
                "name": "FunctionAlias",
                "alias": "功能别名",
                "viewName": "javaDemo",
                "fieldName": "FunctionAlias",
                "valueType": "STRING"
        }, {
                "name": "UserAlias",
                "alias": "用户别名",
                "viewName": "javaDemo",
                "fieldName": "UserAlias",
                "valueType": "STRING"
        }],
        "measures": [{
                "name": "FunctionId",
                "alias": "功能ID",
                "viewName": "javaDemo",
                "aggregator": "count",
                "fieldName": "FunctionId"
        }]
}
```

### 简单示例4:Java私有查询带配置信息
```json
{  
        "name": "DataModel_csv3",
        "alias": "DataModel_csv3",
        "views": [{
                "name": "javaDemo",
                "alias": "java示例",
                "type": "JAVA_VIEW",
                "define": {
                        "className": "smartbi.CSVJavaQuery",
                        "configs": {
                            "FileName": "D:/foodmart_store.csv",
                            "Encoding": "utf-8"

                                                }
                }
        }],
       "dimensions":[{
                "name": "store_street_address",
                "alias": "地址",
                "viewName": "javaDemo",
                "fieldName": "store_street_address",
                "valueType": "ASCII"
        }],
        "measures": [{
                "name": "store_number",
                "alias": "数量",
                "viewName": "javaDemo",
                "aggregator": "sum",
                "fieldName": "store_number"
        }]
}
```

### <strong>详细示例:2简单示例5:SQL私有查询带参数
表关联、定义层次、日期层次、计算度量、计算成员</strong>

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

{  
 
      "name": "ModelDemoSimpleModelDemo5",
   
    "alias": "模型示例SQL私有查询带参数",
      
 // 私有查询列表         "views": [{
       {
        "name": "orderdetailsorders",

               "alias": "订单明细表订单表",
       
        "type": "BASICSQL_TABLEVIEW",
                "define": {
             "dataSourceId": "DS.notthwind",
          "tableIdsql": "TAB.northwind.null.orderdetails" select * from orders where {[orderId = ${param}]}"
        },
        "parameters": [
      /*,    {
            "storeTypename": "EXTRACTparam",
                "extractSetting": {"valueType": "STRING",
            "defaultValue": {
       "type": "FULL"      "value":  [
        }*/        [
},{                 "name": "ordersSQL参数默认值",
                "alias":  "订单表",
                "type": "BASIC_TABLE",]
                "define": {],
              "dataSource": "DS.northwind"
         "tableId": "TAB.northwind.null.orders"      }
          }
        ]
       /*,}
    ]
}
```

### 简单示例6:SQL私有查询带参数,有私有参数进行映射
```json
{
    "storeTypename": "EXTRACTSimpleModelDemo6",
           "alias": "私有参数映射SQL参数",
    "extractSettingviews": {[
      {
             "typename": "FULLorders",
        "alias": "订单表",
      }*/     "type": "SQL_VIEW",
   }],     "define": {
  // 层次结构列表
        "hierarchiesdataSourceId": [{
 "DS.notthwind",
          "namesql":"hierArea ", select * from orders where {[orderId = ${param}]}"
    "alias": "地区",    },
        "levelsparameters": [
          {
     {       "name": "param",
            "viewNamevalueType": "ordersSTRING",
            "defaultValue": {
              "namevalue": "ShipRegionLevel",[
                [
   "alias": "区域",               "",
        "fieldName": "ShipRegion",          ""
             "levelType": "LEVEL"  ]
              }],
              "dataSource": "DS.northwind"
{            }
        "viewName": "orders", }
        ]
      }
   "name": "ShipProvinceLevel", ],
    "parameters": [
      {
        "aliasvisible": "省份"true,
           "name": "参数-1726717634521",
        "fieldNamerefMapping": "ShipProvince", [
          {
            "levelTyperefViewName": "LEVELorders",
              "refParamName": "param"
 }            }
]         }],
        // 日期层次结构列表"valueType": "STRING",
        "dateHierarchiescomponentType": [{
"LIST_SINGLE",
           "namedefaultType": "hierDateCONSTLIST",
            "aliasdefaultValue": "时间维度",
 {
          "levelsvalue": [
            [
     {         "默认值真实值",
             "viewName": "orders默认值显示值",
            ]
       "name": "orderYear",  ]
         },
        "aliasstandByType": "CONSTLIST",
        "standByValue": {
          "fieldNamevalue": "OrderDate", [
            [
              "levelType备选值真实值": "LEVEL_TIME_YEAR",
              "备选值显示值"
   },         ]
       {   ]
        },
        "viewNamealias": "orders参数",
      }
    ]
}        "name": "orderQuarter",  
```

### 简单示例7:SQL私有查询带参数,有私有参数进行映射(私有参数含有SQL)
```json
{
    "name": "SimpleModelDemo7",
      "alias": "私有参数含SQL映射SQL参数",
    "views": [
      {
        "fieldNamename": "OrderDateorders",
           "alias": "订单表",
        "levelTypetype": "LEVELSQL_TIME_QUARTERVIEW",
        "define": {
          },"dataSourceId": "DS.notthwind",
          "sql": " select * from orders where {[orderId = ${param}]}"
         },
        "viewNameparameters": "orders", [
          {
            "name": "orderMonthparam",
            "valueType": "STRING",
      "alias": "月",     "defaultValue": {
              "fieldNamevalue": "OrderDate", [
                [
     "levelType": "LEVEL_TIME_MONTH"             "",
     },             ""
   {             ]
       "viewName": "orders",      ],
              "namedataSource": "orderDayDS.northwind",
            }
        "alias": "日", }
        ]
      }
   "fieldName": "OrderDate", ],
    "parameters": [
      {
        "levelTypevisible": "LEVEL_TIME_DAY"true,
        "name": "参数-1726717634521",
      }  "refMapping": [
         ] {
       }],     "refViewName": "orders",
  // 维度结构列表         "dimensionsrefParamName":[{ "param"
          }
    "name": "ShipRegion",        ],
        "aliasvalueType": "区域STRING",
          "componentType": "LIST_SINGLE",
        "viewNamedefaultType": "ordersSQL",
        "defaultValue": {
          "fieldNameSQL": "ShipRegionselect * from `orderdetails`",
          "nameColumn": "OrderID",
          "valueTypealiasColumn": "STRINGOrderID",
          }],
"dataSource": "DS.northwind"
       // 表关系图},
        "relationGraphstandByType": {"CONSTLIST",
        "standByValue": {
          "relationsvalue": [{
            [
             "srcViewName": "orderdetails备选值真实值",
              "备选值显示值"
         "destViewName": "orders",   ]
          ]
        },
        "linkTypealias": "LEFTJOIN参数",
      }
    ]
}             "fieldRelations": [{   
```

### 简单示例8:创建树形私有参数
```json
{
    "name": "SimpleModelDemo8",
    "alias": "创建树形私有参数",
       "views": [
   "srcFieldName": "OrderID",  {
        "name": "orders",
           "alias": "订单表",
        "destFieldNametype": "OrderIDSQL_VIEW",
        "define": {
          "dataSourceId": "DS.notthwind",
  }]        "sql": " select * from orders where {[orderId = ${param}]}"
        },
        // 度量列表"parameters": [
         "measures": [{
   
            "name": "Quantityparam",
   
            "aliasvalueType": "QuantitySTRING",
            "defaultValue": {
  "viewName": "orderdetails",           "value": [
    "aggregator": "sum",           [
     "fieldName": "Quantity"         },{   "",
             "name": "UnitPrice",    ""
            "alias": "UnitPrice",   ]
             "viewName": "orderdetails",
 ],
               "aggregatordataSource": "sum",DS.northwind"
            }
       "fieldName": "UnitPrice"  }
      }],  ]
      //}
计算度量列表    ],
    "calcMeasuresparameters": [
      {
     {   "visible": true,
            "name": "calc1参数-1726717634521",
        "refMapping": [
      "alias":"数量加1",    {
            "expressionrefViewName": "[Measures].[Quantity] + 1"
 orders",
            "refParamName": "param"
          }
        ],
        // 计算成员列表"valueType": "STRING",
        "calcMemberscomponentType": ["TREE_SINGLE",
        "defaultType": "SQL",
   {     "defaultValue": {
          "nameSQL": "north",select *     from `orderdetails`",
          "aliasnameColumn": "北方OrderID",
          "aliasColumn": "OrderID",
          "expressiondataSource": "[hierArea].[东北] + [hierArea].[华北]",DS.northwind"
         },
        "hierNamestandByType": "[ShipRegion]SQL",
        "standByValue": {
  }          ]
}
```

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

pid:父节点 id;

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

![](/download/attachments/115002507/1.svg 50%x50%)

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

| <strong>属性</strong> | <strong>类型</strong>    "SQL": "select * from `orderdetails`",
            "nameColumn": "OrderID",
            "aliasColumn": "OrderID",
     | <strong>说明</strong>      "dataSource": "DS.northwind",
| | --------------------- | ------------------------------ | ---------------------------- | | id   "pidColumn": "OrderID",
            "idColumn": "OrderID",
 | String          "orderBy": [
             | 模型 id,更新时才需要填 {
    | | name              "colName": "ProductID",
  | String                 "type": "asc"
      | 模型名称         }
           | |]
alias        },
        | String"rootType": "SQL",
        "rootValue": {
            "SQL": "select |* 模型别名from `orderdetails`",
            "nameColumn": "OrderID",
     | | views     "aliasColumn": "UnitPrice",
          | LIst<DataModelViewVO> "dataSource": "DS.northwind"
       | 私有查询列表},
        "alias": "参数"
      |}
| measures   ]
}          | LIst<DataModelMeasureVO>       | 度量列表   
```

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

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

{  
     | | relationGraph "name": "ModelDemo",
      | DataModelRelationGraphVO "alias": "模型示例",
    | 表关系图   // 私有查询列表
        "views": [{
      | | hierarchies        "name": "orderdetails",
 | List<DataModelHierarchyVO>     | 层次结构列表        "alias": "订单明细表",
       | | dateHierarchies       | List<DataModelDateHierarchyVO> | 基于日期字段生成时间层次列表 |
| calcMeasures"type": "BASIC_TABLE",
                | LIst<DataModelCalcMeasureVO>"define": {
       | 计算度量列表                 |
| calcMembers"tableId": "TAB.northwind.null.orderdetails"
            | LIst<DataModelCalcMemberVO>   }
| 计算成员列表               /*,
 | | namedSets             | LIst<DataModelNamedSetVO>"storeType": "EXTRACT",
     | 命名集列表          "extractSetting": {
       |  ##### <strong>DataModelViewVO 私有查询</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>  "type": "FULL"
                }*/
        },{
                "name": "orders",
                "alias": "订单表",
                "type": "BASIC_TABLE",
                "define": {
                 | | --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| name      "tableId": "TAB.northwind.null.orders"
                }
                /*,
                 | String"storeType": "EXTRACT",
                | 名称"extractSetting": {
                    "type": "FULL"
                }*/
        }],
        // 层次结构列表
        "hierarchies": [{
            "name":"hierArea",
            "alias": "地区",
            "levels": [
                {
         | | alias         "viewName": "orders",
      | String             "name": "ShipRegionLevel",
 | 别名                  "alias": "区域",
                    "fieldName": "ShipRegion",
                    "levelType": "LEVEL"
                },
                {
                    "viewName": "orders",
                | | type  "name": "ShipProvinceLevel",
              | ViewType     "alias": "省份",
       | 类型:SQL_VIEW、JAVA_VIEW、BASIC_TABLE,分别代表SQL查询、Java查询、基础表 。以下暂不支持:PROC_VIEW、JS_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE | | define         "fieldName": "ShipProvince",
                    "levelType": "LEVEL"
      | ObjectNode          }
            ]
        }],
      | 定义,有对应具体的 VO,如基础表为<strong>BasicTableViewDefineVO<//strong> 日期层次结构列表
        "dateHierarchies": [{
            "name":"hierDate",
            "alias": "时间维度",
            "levels": [
                {
| | storeType             | StoreType    "viewName": "orders",
       | 存储方式:DIRECT、EXTRACT,分别代表直连、抽取            "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         | 
##### <strong>BasicTableViewDefineVO 基础表定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| tableId连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1 对 1(内连接)、1 对 1(外连接) |
| fieldRelations        | List\<FieldRelationVO\> | 私有查询字段名                                                                  | 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> | <strong>类型</strong> | <strong>说明</strong>     | 目标字段名            |

##### <strong>DataModelHierarchyVO 层次结构</strong>

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

#####     <strong>DataModelLevelVO 层次</strong>

| String               <strong>属性</strong> | 聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN |
| 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                | 名称 别名                                                                                                                                                           |
| destViewNamefieldName             | String                | 别名字段名                                                                                                                      | | linkType              | TableLinkType         | 连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1  1(内连接)、1  1(外连接) |
| fieldRelationsviewName        | List<FieldRelationVO> | 私有查询字段名   | String                | 私有查询名                                                                              |  ##### <strong>FieldRelationVO  字段关系</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- | | srcFieldName          | String                | 源字段名              | | destFieldName     |
| levelType  | String          | 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>                                                                                           /strong> | <strong>类型</strong> | <strong>说明</strong>                                               |
| --------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                  | String                | 名称         | 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                                          | String                       |
| levelType             | FieldTreeNodeType     | 层次类型:LEVEL、LEVEL_TIME_YEAR、LEVEL_TIME_QUARTER、LEVEL_TIME_MONTH、LEVEL_TIME_WEEK、LEVEL_TIME_DAY、LEVEL_GEO,分别代表普通、年、季、月、周、日、地理层次 |

##### <strong>DataModelDateHierarchyVO 基于日期字段生成层次结构<| 父成员名:[ShipRegion].[All ShipRegions] |

##### <strong>DataModelNamedSetVO 命名集</strong>

| <strong>属性</strong> | <strong>类型</strong>  | <strong>说明</strong>        |
| --------------------- | ---------------------- | ---------------------------- |
| name                  | String                 | 名称                         |
| alias                 | String                | 别名                         |
| expression          | 别名  | String                | 表达式                       |
| levelshierName              | String | List<DataModelLevelVO> | 层次列表            | 层次结构名,如:[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 数据类型:INTEGER、DOUBLE、LONG、STRING 等                  | String      |

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

| <strong>属性</strong> | <strong>类型</strong> | 数据格式名,可以在<strong>公共设置-数据格式</strong>中查询需要的名 |

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

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong><strong>说明</strong>                                              |
| --------------------- | --------------------- | ------------------------------------------------------------------ |
| name                  | String                | 名称 私有查询名                                                         |
| alias                 | String                | 别名字段名                                                             |
| visible               | boolean   expression            | String可见性                         | 表达式                                   |
| hierName valueType             | StringValueType             | 控件类型:INPUT、INPUT_MULTIPLE、LIST_SINGLE、TREE_SINGLE(树形)等 |
| 层次结构名,如:[ShipRegion]defaultType             | | parentName   ParamExprType         | String  默认值类型:SQL、CONSTLIST(静态列表)              | 父成员名:[ShipRegion].[All ShipRegions] |  ##### <strong>DataModelNamedSetVO 命名集</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>        | | --------------------- | --------------------- | ---------------------------- |
| name
| defaultValue          | ObjectNode          | String | 参数默认值,有静态列表与SQL,有ConstiListObjectNode  SQLObjectNode            | 名称            |
| standByType           | |ParamExprType alias        | 备选值类型
| standByValue      | String   | ObjectNode            | 别名备选值                         |
| rootType  expression            | String ParamExprType         | 根节点类型            |  表达式           |
| rootValue          | | hierName | ObjectNode            | 根节点值 String                | 层次结构名,如:[ShipRegion] |  ##### <strong>DataModelDimensionVO 字段属性</strong> |
| <strong>属性</strong>refMapping | <strong>类型</strong> | <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有两个元素,第一个元素为真实值,第二个元素为显示值      |
| nameColumn    fieldName   | String         | String    |  真实值字段    |
| aliasColumn    | 字段名 | String              |  显示值字段    |
| dataSource       | String              |  查询SQL的数据源    |
| pidColumn       | | visible String              | String 父ID    |
| idColumn         | String 可见性             |  ID    |
| orderBy          | List\<OrderByVO\>     |  排序信息    |

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

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>        |
| dataFormat            | String  ---------------- | ------------------- | ---------------------------- |
| colName              | 数据格式名,可以在<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        |  引用参数名       |







|