页面树结构

版本比较

标识

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


Markdown

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

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

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

POST

- <strong>返回值</strong>

CheckResult

| <strong>属性</strong> | <strong>类型</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";
      | | --------------------- | --------------------- | ---------------------------------------- |
| id // 密码
        String password = "admin";
        // Smartbi链接http://10.10.35.85:18080/smartbi
  | Stirng     String smartbiURL = "http://localhost:8080/smartbi";
       | 模型// id创建Smartbi链接对象
        ClientConnector conn = new ClientConnector(smartbiURL);
        // 建立此连接时,就对smartbi进行了登录
        boolean ret |
| errorCode= conn.open(user, password);
        String pid =  | String"I8a8a9fb601831840184096ba01831acd3de00554"; // 父节点id
        String str = "参考下面post的内容";
   | 错误码,成功时错误码、错误信息同时为空   | | errorMessage// post的内容说明,参考接口调用-方式2的说明
        JSONObject |obj String = JSONObject.fromString(str);
        // 创建模型
    | 错误信息,成功时错误码、错误信息同时为空 |  ###InvokeResult <strong>简单示例:单物理表</strong>res 
![](https://wiki.smartbi.com.cn/download/attachments/115002507/DIdcbwCfgon6Kux843ecvX6Wnsh.png)

```json
{ = conn.remoteInvoke("AugmentedDataSetForVModule", "create", new Object[]{pid, obj});
         "name": "SimpleModelDemo",conn.close();
        }
}
"alias": "模型简单示例",
        "views": [{
                "name": "orders",```
- <strong>接口调用-方式2(仅支持在已登录的情况下)</strong>

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

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

POST

- <strong>返回值</strong>

CheckResult

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>                  "alias": "订单表", |
| ---------------------              "type": "BASIC_TABLE",| --------------------- | ---------------------------------------- |
| id                   "define": {| Stirng                | 模型 id      "tableId": "TAB.northwind.null.orders"                 }         }], |
| errorCode      "dimensions":[{       | String         "name": "ShipRegion",      | 错误码,成功时错误码、错误信息同时为空   |
| errorMessage     "alias": "区域",    | String            "viewName": "orders",   | 错误信息,成功时错误码、错误信息同时为空 |

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

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

```json
 {  
"fieldName": "ShipRegion",       "name": "SimpleModelDemo",
        "valueTypealias": "STRING"
        }]模型简单示例",
        "measuresviews": [{
                "name": "Freightorders",
                "alias": "运费订单表",
                "viewNametype": "ordersBASIC_TABLE",
                "aggregatordefine": "sum", {
                        "fieldNametableId": "Freight"TAB.northwind.null.orders"
         }] } ```  ### 简单示例 2:SQL 私有查询}
 ```json {      }],
        "namedimensions": "SimpleModelDemo2",[{
                "aliasname": "模型简单示例2ShipRegion",
                "viewsalias": [{"区域",
                "nameviewName": "orders",
                "aliasfieldName": "订单表ShipRegion",
                "typevalueType": "SQL_VIEWSTRING",
        }],
        "definemeasures": {
       [{
                "dataSourceIdname": "DS.notthwindFreight",
       
                "sqlalias": "运费",
 select * from orders"            "viewName": "orders",
   }         }] } ```  ### <strong>详细示例:2 表关联、定义层次、日期层次、计算度量、计算成员</strong>

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

{"aggregator": "sum",
                "namefieldName": "ModelDemoFreight",
        "alias}]
}
```

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

```json
{  
        "name": "模型示例SimpleModelDemo2",
        // 私有查询列表"alias": "模型简单示例2",
        "views": [{
                "name": "orderdetailsorders",
                "alias": "订单明细表订单表",
                "type": "BASICSQL_TABLEVIEW",
                "define": {
                        "tableIddataSourceId": "TAB.northwind.null.orderdetails"DS.notthwind",
                    }    "sql": " select * from orders"
       /*,         }
       "storeType": "EXTRACT",
      }]
}
```
### 简单示例3:Java私有查询带参数
```json
{  
        "extractSettingname": {"DataModel_java11",
           "alias": "DataModel_java11",
        "typeviews": "FULL"[{
                }*/
        },{
                "name": "ordersjavaDemo",
                "alias": "订单表java示例",
                "type": "BASICJAVA_TABLEVIEW",
                "define": {
                        "tableIdclassName": "TABsmartbi.northwindcomposite.null.orders"AccessibleFunctionQueryData",
                    }    "paramDefaultValues": {
           /*,                 "storeTypeDepartment": "EXTRACTDEPARTMENT",
         
      "extractSetting": {                     "typeUserName": "FULLADMIN"

               }*/         }],
        // 层次结构列表         },"hierarchiesextractSetting": [{
    
       "name":"hierArea",             "aliastype": "地区REALTIME",

           "levels": [    }
        }],
    {    "dimensions":[{
                "viewNamename": "ordersFunctionAlias",
   
                "namealias": "ShipRegionLevel功能别名",
   
                "aliasviewName": "区域javaDemo",
   
                "fieldName": "ShipRegionFunctionAlias",
   
                "levelTypevalueType": "LEVEL"
       STRING"
        }, {
               {    "name": "UserAlias",
                "viewNamealias": "orders用户别名",
   
                "nameviewName": "ShipProvinceLeveljavaDemo",
   
                "aliasfieldName": "省份UserAlias",
   
                "fieldNamevalueType": "ShipProvinceSTRING",
           }],
        "levelTypemeasures": [{
"LEVEL"                 }"name": "FunctionId",
            ]    "alias": "功能ID",
   }],         // 日期层次结构列表      "viewName": "javaDemo",
  "dateHierarchies": [{             "nameaggregator": "hierDatecount",
                "aliasfieldName": "时间维度FunctionId",
        }]
}
```

"levels": [
 ### 简单示例4:Java私有查询带配置信息
```json
{  
        "name": "DataModel_csv3",
  {            "alias": "DataModel_csv3",
        "viewNameviews": "orders",
   [{
                "name": "orderYearjavaDemo",
   
                "alias": "java示例",
   
                "fieldNametype": "OrderDateJAVA_VIEW",
   
                "levelTypedefine": "LEVEL_TIME_YEAR"{
                },        "className": "smartbi.CSVJavaQuery",
       {                 "configs": {
      "viewName": "orders",                     "nameFileName": "orderQuarterD:/foodmart_store.csv",
                            "aliasEncoding": "季",utf-8"

                     "fieldName": "OrderDate",                     "levelType": "LEVEL_TIME_QUARTER"    }
            },    }
        }],
   {    "dimensions":[{
                "viewNamename": "ordersstore_street_address",
   
                "namealias": "orderMonth地址",
   
                "aliasviewName": "javaDemo",
   
                "fieldName": "OrderDatestore_street_address",
   
                "levelTypevalueType": "LEVEL_TIME_MONTHASCII"
        }],
       }, "measures": [{
              {    "name": "store_number",
                "viewNamealias": "orders数量",
   
                "nameviewName": "orderDayjavaDemo",
   
                "aliasaggregator": "sum",
   
                "fieldName": "OrderDatestore_number",
        }]
}
```

### 简单示例5:SQL私有查询带参数
```json
{
    "levelTypename": "LEVEL_TIME_DAYSimpleModelDemo5",
    "alias": "SQL私有查询带参数",
    "views": [
    }  {
        "name": "orders",
]         }]"alias": "订单表",
        // 维度结构列表"type": "SQL_VIEW",
        "dimensionsdefine":[{
      {
          "namedataSourceId": "ShipRegionDS.notthwind",
                "alias"sql": "区域", select * from orders where {[orderId = ${param}]}"
        "viewName": "orders"},
        "parameters":  [
     "fieldName": "ShipRegion",    {
            "valueTypename": "STRINGparam",
        }],      "valueType": "STRING",
  // 表关系图         "relationGraphdefaultValue": {
 
              "relationsvalue": [{
                 [
      "srcViewName": "orderdetails",           "SQL参数默认值",
             "destViewName": "orders",    ""
                ]
   "linkType": "LEFTJOIN",          ],
              "fieldRelationsdataSource": [{ "DS.northwind"
            }
          }
        ]
"srcFieldName": "OrderID",      }
    ]
}
```

### 简单示例6:SQL私有查询带参数,有私有参数进行映射
```json
{
    "name": "SimpleModelDemo6",
    "alias": "私有参数映射SQL参数",
    "destFieldNameviews": "OrderID"[
      {
        "name": "orders",
       }] "alias": "订单表",
        "type": "SQL_VIEW",
    }]    "define": {
   },       "dataSourceId":  // 度量列表"DS.notthwind",
          "measuressql": " select * from orders where {[orderId = ${param}]}"
        },
        "nameparameters": "Quantity",[
          {
     "alias": "Quantity",
                "viewNamename": "orderdetailsparam",
   
            "aggregatorvalueType": "sumSTRING",
   
            "fieldNamedefaultValue": "Quantity"
        },{
 
              "namevalue": "UnitPrice",[
                "alias": "UnitPrice",[
                 "viewName": "orderdetails",
                  "aggregator":
"sum",                ]
"fieldName": "UnitPrice"         }],    ],
    // 计算度量列表         "calcMeasuresdataSource": [ "DS.northwind"
            }
  {        }
        "name":"calc1",]
      }
    ],
    "aliasparameters":"数量加1", [
      {
        "expressionvisible": "[Measures].[Quantity] + 1" true,
        "name": "参数-1726717634521",
     }   "refMapping": [
    ],      {
  // 计算成员列表         "calcMembersrefViewName": ["orders",
            {
"refParamName": "param"
          }
    "name":"north",        ],
        "aliasvalueType": "北方STRING",
        "componentType": "LIST_SINGLE",
        "expressiondefaultType": "[hierArea].[东北] + [hierArea].[华北]","CONSTLIST",
        "defaultValue": {
          "hierNamevalue": "[ShipRegion]"
            [
}         ] } ```  - <strong>接口参数及其说明</strong>

pid:父节点 id;

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

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

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

| <strong>属性</strong> | <strong>类型</strong> "默认值真实值",
              "默认值显示值"
            ]
         | <strong>说明</strong>]
       | | --------------------- | ------------------------------ | ---------------------------- |
| id  },
        "standByType": "CONSTLIST",
        "standByValue": {
       | String  "value": [
            [
        | 模型 id,更新时才需要填    "备选值真实值",
 | | name           "备选值显示值"
      | String     ]
          ]
        |},
模型名称        "alias": "参数"
      }
    |]
|} alias          
```

### 简单示例7:SQL私有查询带参数,有私有参数进行映射(私有参数含有SQL)
```json
{
| String   "name": "SimpleModelDemo7",
    "alias": "私有参数含SQL映射SQL参数",
    "views": [
      {
 | 模型别名      "name": "orders",
        "alias": "订单表",
   | | views   "type": "SQL_VIEW",
        "define": {
  | LIst<DataModelViewVO>       "dataSourceId": "DS.notthwind",
 | 私有查询列表        "sql": " select * from orders where {[orderId  |
| measures= ${param}]}"
        },
      | LIst<DataModelMeasureVO> "parameters": [
    | 度量列表     {
            "name": "param",
 | | relationGraph         | DataModelRelationGraphVO"valueType": "STRING",
      | 表关系图     "defaultValue": {
              |
| hierarchies"value": [
           | List<DataModelHierarchyVO>    [
| 层次结构列表                 |"",
| dateHierarchies       | List<DataModelDateHierarchyVO> | 基于日期字段生成时间层次列表 | | calcMeasures    ""
     | LIst<DataModelCalcMeasureVO>   | 计算度量列表      ]
          | | calcMembers  ],
        | LIst<DataModelCalcMemberVO>     "dataSource": "DS.northwind"
| 计算成员列表           }
     | | namedSets   }
        ]
| LIst<DataModelNamedSetVO>     }
| 命名集列表   ],
    "parameters": [
      {
  |  ##### <strong>DataModelViewVO 私有查询</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>"visible": true,
        "name": "参数-1726717634521",
        "refMapping": [
          {
            "refViewName": "orders",
            "refParamName": "param"
          }
        ],
        "valueType": "STRING",
        "componentType": "LIST_SINGLE",
        "defaultType": "SQL",
        "defaultValue": {
   | | --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| name       "SQL": "select * from `orderdetails`",
          "nameColumn": "OrderID",
          "aliasColumn": "OrderID",
          "dataSource": "DS.northwind"
    | String   },
        "standByType": "CONSTLIST",
  | 名称     "standByValue": {
          "value": [
            [
              "备选值真实值",
              "备选值显示值"
            ]
          ]
        },
        "alias": "参数"
      }
    ]
}                 
```
|
|### alias简单示例8:创建树形私有参数
```json
{
    "name": "SimpleModelDemo8",
    "alias": "创建树形私有参数",
  | String "views": [
      {
      | 别名 "name": "orders",
        "alias": "订单表",
        "type": "SQL_VIEW",
        "define": {
          "dataSourceId": "DS.notthwind",
          "sql": " select * from orders where {[orderId    = ${param}]}"
        },
        "parameters": [
          {
            "name": "param",
            "valueType": "STRING",
           | | type"defaultValue": {
              "value": [
 | ViewType              |[
类型:BASIC_TABLE,代表基础表 。以下暂不支持:SQL_VIEW、PROC_VIEW、JS_VIEW、JAVA_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE | | define              "",
 | ObjectNode            | 定义,有对应具体的 VO,如基础表为<strong>BasicTableViewDefineVO</strong>  ""
                ]
              ],
              "dataSource": "DS.northwind"
            }
    | | storeType    }
        |]
StoreType      }
    ],
 | 存储方式:DIRECT、EXTRACT,分别代表直连、抽取  "parameters": [
      {
        "visible": true,
        "name": "参数-1726717634521",
        "refMapping": [
          {
            "refViewName": "orders",
            "refParamName": "param"
          }
    | | extractSetting  ],
     | ExtractSettingVO  "valueType": "STRING",
  | 抽取设置     "componentType": "TREE_SINGLE",
        "defaultType": "SQL",
        "defaultValue": {
          "SQL": "select * from `orderdetails`",
          "nameColumn": "OrderID",
          "aliasColumn": "OrderID",
          "dataSource": "DS.northwind"
        },
        "standByType": "SQL",
        "standByValue": {
            "SQL": "select * from `orderdetails`",
        |  ##### <strong>ExtractSettingVO 抽取设置定义</strong>

| <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> "nameColumn": "OrderID",
            "aliasColumn": "OrderID",
            "dataSource": "DS.northwind",
            "pidColumn": "OrderID",
     | | --------------------- | --------------------- | ------------------------------------------------ |
| type  "idColumn": "OrderID",
            "orderBy": [
      | ExtractType         {
 | 抽取方式:FULL、REALTIME,分别代表全量、按次抽取 |  ##### <strong>BasicTableViewDefineVO 基础表定义</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- |
| tableId "colName": "ProductID",
                 | String  "type": "asc"
            | 基础表 Id  }
          |  #####]
<strong>SQLViewDefineVO  </strong><strong>SQL</strong><strong>查询定义</strong>  | <strong>属性</strong> | <strong>类型</strong> |},
<strong>说明</strong> | | --------------------- | --------------------- | --------------------- |
| dataSourceId "rootType": "SQL",
        "rootValue": {
 | String          "SQL": "select * from `orderdetails`",
 | 数据源 Id         "nameColumn": "OrderID",
  | | sql        "aliasColumn": "UnitPrice",
         | String  "dataSource": "DS.northwind"
        },
   | sql 语句   "alias": "参数"
      }
  |  #####]
<strong>DataModelMeasureVO} 度量</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>              
```

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

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

{  
    | | --------------------- | --------------------- | --------------------------------------------------- |
| name "name": "ModelDemo",
        "alias": "模型示例",
        // 私有查询列表
 | String      "views": [{
        | 名称       "name": "orderdetails",
                "alias": "订单明细表",
                "type": "BASIC_TABLE",
   | |  alias          "define": {
     | String                | 别名 "tableId": "TAB.northwind.null.orderdetails"
                }
                /*,
           | | aggregator   "storeType": "EXTRACT",
       | String        "extractSetting": {
      | 聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN | | fieldName         "type": "FULL"
  | String             }*/
  | 私有查询字段名     },{
                "name": "orders",
              | | viewName "alias": "订单表",
            | String   "type": "BASIC_TABLE",
           | 私有查询名    "define": {
                        "tableId": "TAB.northwind.null.orders"
          |  ##### <strong>DataModelRelationGraphVO 表关系图</strong>  | <strong>属性</strong>}
| <strong>类型</strong> | <strong>说明</strong> | | --------------------- | --------------------- | --------------------- | | relations:   /*,
        | List<RelationVO>      | 表关系列表 "storeType": "EXTRACT",
          |  ##### <strong>RelationVO 表关系</strong>  | <strong>属性</strong> | <strong>类型</strong> | <strong>说明</strong>"extractSetting": {
                    "type": "FULL"
                }*/
        }],
        // 层次结构列表
        "hierarchies": [{
            "name":"hierArea",
            "alias": "地区",
            "levels": [
   | | --------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| srcViewName        {
                    "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                | 名称                                                                                                            |
| 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                 | 别名                         |
| expression            | String                | levels 表达式                       |
| List<DataModelLevelVO> | 层次列表 hierName              | String                   | 层次结构名,如:[ShipRegion] |

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

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







|