页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。
评论: 从版本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"
                }
        }]
}
```

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

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

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

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

### 简单示例4:Java私有查询带配置信息
```json
{  
        "levelTypename": "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",
         
          "fieldNamesql": "OrderDate", select * from orders where {[orderId = ${param}]}"
        },
   "levelType": "LEVEL_TIME_MONTH"    "parameters": [
          {
},                 {
       "name": "param",
            "viewNamevalueType": "ordersSTRING",
            "defaultValue": {
      "name": "orderDay",       "value": [
            "alias": "日",   [
                 "fieldName": "OrderDateSQL参数默认值",
 
                  "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": {
    "alias": "UnitPrice",     "value": [
          "viewName": "orderdetails", [
               "aggregator默认值真实值":,
"sum",              "默认值显示值"
  "fieldName": "UnitPrice"         }],
         // 计算度量列表]
        "calcMeasures": [},
        "standByType": "CONSTLIST",
   {     "standByValue": {
          "namevalue":"calc1", [
            [
  "alias":"数量加1",            "备选值真实值",
    "expression": "[Measures].[Quantity] + 1"          "备选值显示值"
            ]
 }         ],
        //},
计算成员列表        "alias": "calcMembers": [参数"
      }
    ]
}     {      
```

### 简单示例7:SQL私有查询带参数,有私有参数进行映射(私有参数含有SQL)
```json
{
    "name": "northSimpleModelDemo7",
           "alias": "私有参数含SQL映射SQL参数",
    "aliasviews":"北方", [
      {
        "expressionname": "[hierArea].[东北] + [hierArea].[华北]","orders",
        "alias": "订单表",
        "hierNametype": "[ShipRegion]"SQL_VIEW",
        "define":  {
 }         ]
}
```

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

pid:父节点 id;

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

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

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

| <strong>属性</strong> | <strong>类型</strong>"dataSourceId": "DS.notthwind",
          "sql": " select * from orders where {[orderId = ${param}]}"
        },
        "parameters": [
         | <strong>说明</strong>{
       | | --------------------- | ------------------------------ | ---------------------------- |
| id "name": "param",
            "valueType": "STRING",
        | String   "defaultValue": {
              "value": [
    | 模型 id,更新时才需要填      | | name  [
               | String  "",
                  ""
   | 模型名称            ]
        | | alias    ],
            | String "dataSource": "DS.northwind"
            }
         | 模型别名}
        ]
      }
    |],
| views   "parameters": [
      {
     | LIst<DataModelViewVO>  "visible": true,
      | 私有查询列表 "name": "参数-1726717634521",
        "refMapping": [
    | | measures    {
         | LIst<DataModelMeasureVO>  "refViewName": "orders",
   | 度量列表        "refParamName": "param"
          }
| | relationGraph      ],
  | DataModelRelationGraphVO     "valueType": "STRING",
| 表关系图       "componentType": "LIST_SINGLE",
        "defaultType": "SQL",
  | | hierarchies    "defaultValue": {
     | List<DataModelHierarchyVO>     | 层次结构列表  "SQL": "select * from `orderdetails`",
          "nameColumn": "OrderID",
  | | dateHierarchies       | List<DataModelDateHierarchyVO> | 基于日期字段生成时间层次列表 |
| calcMeasures"aliasColumn": "OrderID",
          "dataSource": "DS.northwind"
   | LIst<DataModelCalcMeasureVO>   | 计算度量列表},
        "standByType": "CONSTLIST",
      | | calcMembers"standByValue": {
         | LIst<DataModelCalcMemberVO>"value": [
  | 计算成员列表         [
       | | 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": {
           |
| --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| name  "dataSourceId": "DS.notthwind",
          "sql": " select * from orders where {[orderId = ${param}]}"
        },
      | String "parameters": [
          {
  | 名称         "name": "param",
            "valueType": "STRING",
            "defaultValue": {
              "value": [
                [
                  "",
                  ""
                ]
         | | alias   ],
             | String "dataSource": "DS.northwind"
            }
 | 别名        }
        ]
      }
    ],
    "parameters": [
      {
        "visible": true,
        "name": "参数-1726717634521",
        "refMapping": [
          {
            "refViewName": "orders",
            "refParamName": "param"
          }
        ],
    | | type  "valueType": "STRING",
        "componentType": "TREE_SINGLE",
    | ViewType   "defaultType": "SQL",
        "defaultValue": |{
类型:BASIC_TABLE,代表基础表 。以下暂不支持:SQL_VIEW、PROC_VIEW、JS_VIEW、JAVA_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE | | define      "SQL": "select * from `orderdetails`",
     | ObjectNode    "nameColumn": "OrderID",
      | 定义,有对应具体的 VO,如基础表为<strong>BasicTableViewDefineVO</strong>  "aliasColumn": "OrderID",
          "dataSource": "DS.northwind"
        },
        "standByType": "SQL",
        "standByValue": {
            "SQL": "select * from `orderdetails`",
      | | storeType      "nameColumn": "OrderID",
      | StoreType     "aliasColumn": "OrderID",
      | 存储方式:DIRECT、EXTRACT,分别代表直连、抽取     "dataSource": "DS.northwind",
            "pidColumn": "OrderID",
            "idColumn": "OrderID",
            "orderBy": [
                {
                    "colName": "ProductID",
       | | extractSetting        | ExtractSettingVO  "type": "asc"
  | 抽取设置             }
            ]
        },
        "rootType": "SQL",
        "rootValue": {
            "SQL": "select * from `orderdetails`",
            "nameColumn": "OrderID",
            "aliasColumn": "UnitPrice",
            "dataSource": "DS.northwind"
        },
         |"alias": "参数"
 ##### <strong>ExtractSettingVO 抽取设置定义</strong>  | <strong>属性</strong>}
| <strong>类型</strong> | <strong>说明</strong> ]
}                      
```

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

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

{  
        "name": "ModelDemo",
       | ExtractType   "alias": "模型示例",
       | 抽取方式:FULL、REALTIME,分别代表全量、按次抽取 |

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

| <strong>属性</strong> |私有查询列表
<strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- |
| tableId "views": [{
                 | String"name": "orderdetails",
                | 基础表 Id"alias": "订单明细表",
             |  ##### <strong>SQLViewDefineVO  </strong><strong>SQL</strong><strong>查询定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| dataSourceId  "type": "BASIC_TABLE",
                "define": {
       | String                | 数据源 Id"tableId": "TAB.northwind.null.orderdetails"
              | | sql}
                /*,
 | String              "storeType": "EXTRACT",
| sql 语句              |"extractSetting": {
   ##### <strong>DataModelMeasureVO 度量</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>        "type": "FULL"
                }*/
    |
| --------------------- | --------------------- | --------------------------------------------------- |
| name    },{
                "name": "orders",
        | String       "alias": "订单表",
       | 名称        "type": "BASIC_TABLE",
                "define": {
                    | | alias  "tableId": "TAB.northwind.null.orders"
             | String  }
             | 别名  /*,
                "storeType": "EXTRACT",
                "extractSetting": {
         | | aggregator            | String"type": "FULL"
                }*/
| 聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN | | fieldName   }],
        // |层次结构列表
String        "hierarchies": [{
      | 私有查询字段名     "name":"hierArea",
            "alias": "地区",
            "levels": [
      | | viewName        {
     | String              "viewName": "orders",
|  私有查询名                  "name": "ShipRegionLevel",
                    "alias": "区域",
|  ##### <strong>DataModelRelationGraphVO 表关系图</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- |
| relations:     "fieldName": "ShipRegion",
               | List<RelationVO>    "levelType":  | 表关系列表"LEVEL"
                |},
 ##### <strong>RelationVO 表关系</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>      {
                    "viewName": "orders",
                    "name": "ShipProvinceLevel",
                    "alias": "省份",
                  | | --------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| srcViewName "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                | 名称                                                                                                            |
| destViewName          | String                | 别名                                                                                                            |
| linkType              | TableLinkType         | 连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1 对 1(内连接)、1 对 1(外连接) |
| fieldRelations        | List\<FieldRelationVO\> | 私有查询字段名                                                                                                  |

##### <strong>FieldRelationVO  字段关系</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> |
| --------------------- | --------------------- | --------------------- |
| srcFieldName          | String                | 源字段名              |
| destFieldName         | String                | 目标字段名            |

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

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

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

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                                                                                                                                          |
| --------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                  | String                | 名称                                                                                                                                                           |
| 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        |  引用参数名       |







|