页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 6 下一个 »

创建数据模型

  • 接口调用

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

  • 接口请求类型

POST

  • 返回值

CheckResult

属性类型说明
idStirng模型 id
errorCodeString错误码,成功时错误码、错误信息同时为空
errorMessageString错误信息,成功时错误码、错误信息同时为空

简单示例:单物理表

{  
        "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 私有查询

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

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

注意:需要把注释去掉

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

pid:父节点 id;

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

DataModelVO 模型
属性类型说明
idString模型 id,更新时才需要填
nameString模型名称
aliasString模型别名
viewsLIst私有查询列表
measuresLIst度量列表
relationGraphDataModelRelationGraphVO表关系图
hierarchiesList层次结构列表
dateHierarchiesList基于日期字段生成时间层次列表
calcMeasuresLIst计算度量列表
calcMembersLIst计算成员列表
namedSetsLIst命名集列表
DataModelViewVO 私有查询
属性类型说明
nameString名称
aliasString别名
typeViewType类型:BASIC_TABLE,代表基础表 。以下暂不支持:SQL_VIEW、PROC_VIEW、JS_VIEW、JAVA_VIEW、ETL_VIEW、EXCEL_VIEW、COMBINEDQUERY_VIEW、TIME_TABLE
defineObjectNode定义,有对应具体的 VO,如基础表为BasicTableViewDefineVO
storeTypeStoreType存储方式:DIRECT、EXTRACT,分别代表直连、抽取
extractSettingExtractSettingVO抽取设置
ExtractSettingVO 抽取设置定义
属性类型说明
typeExtractType抽取方式:FULL、REALTIME,分别代表全量、按次抽取
BasicTableViewDefineVO 基础表定义
属性类型说明
tableIdString基础表 Id
SQLViewDefineVO SQL查询定义
属性类型说明
dataSourceIdString数据源 Id
sqlStringsql 语句
DataModelMeasureVO 度量
属性类型说明
nameString名称
aliasString别名
aggregatorString聚合方式:SUM、COUNT、 AVG、DISTINCT_COUNT、MAX、MIN
fieldNameString私有查询字段名
viewNameString私有查询名
DataModelRelationGraphVO 表关系图
属性类型说明
relations:List表关系列表
RelationVO 表关系
属性类型说明
srcViewNameString名称
destViewNameString别名
linkTypeTableLinkType连接方式:LEFTJOIN、RIGHTJOIN、INNERJOIN、FULLJOIN,分别代表 1 对多、多对 1、1 对 1(内连接)、1 对 1(外连接)
fieldRelationsList私有查询字段名
FieldRelationVO 字段关系
属性类型说明
srcFieldNameString源字段名
destFieldNameString目标字段名
DataModelHierarchyVO 层次结构
属性类型说明
nameString名称
aliasString别名
levelsList层次列表
DataModelLevelVO 层次
属性类型说明
nameString名称
aliasString别名
fieldNameString字段名
viewNameString私有查询名
levelTypeFieldTreeNodeType层次类型:LEVEL、LEVEL_TIME_YEAR、LEVEL_TIME_QUARTER、LEVEL_TIME_MONTH、LEVEL_TIME_WEEK、LEVEL_TIME_DAY、LEVEL_GEO,分别代表普通、年、季、月、周、日、地理层次
DataModelDateHierarchyVO 基于日期字段生成层次结构
属性类型说明
nameString名称
aliasString别名
levelsList层次列表
DataModelCalcMeasureVO 计算度量
属性类型说明
nameString名称
aliasString别名
expressionString表达式
dataFormatString数据格式名,可以在公共设置-数据格式中查询需要的名
DataModelCalcMemberVO 计算成员
属性类型说明
nameString名称
aliasString别名
expressionString表达式
hierNameString层次结构名,如:[ShipRegion]
parentNameString父成员名:[ShipRegion].[All ShipRegions]
DataModelNamedSetVO 命名集
属性类型说明
nameString名称
aliasString别名
expressionString表达式
hierNameString层次结构名,如:[ShipRegion]
DataModelDimensionVO 字段属性
属性类型说明
viewNameString私有查询名
fieldNameString字段名
visibleString可见性
dataFormatString数据格式名,可以在公共设置-数据格式中查询需要的名
maskingRuleString脱敏规则
valueTypeValueType数据类型:INTEGER、DOUBLE、LONG、STRING 等

更新数据模型

  • 接口调用

http://host:port/smartbi/smartbix/api/dataModel?_method=PUT

  • 接口请求类型

POST

  • 返回值

数据模型 CheckResult

示例

{  
        "id": "I8a8a9fb601832a882a883ce901832afa40850018",
        "name": "ModelDemo",
        "alias": "模型示例",
        "views": [{
                "name": "orderdetails",
                "alias": "订单明细表",
                "type": "BASIC_TABLE",
                "define": {
                        "tableId": "TAB.northwind.null.orderdetails"
                }
        },{
                "name": "orders",
                "alias": "订单表",
                "type": "BASIC_TABLE",
                "define": {
                        "tableId": "TAB.northwind.null.orders"
                }
        }],
        "hierarchies": [{
            "name":"hierArea",
            "alias": "地区",
            "levels": [
                {
                    "viewName": "orders",
                    "name": "ShipRegionLevel",
                    "alias": "区域",
                    "fieldName": "ShipRegion",
                    "levelType": "LEVEL"
                },
                {
                    "viewName": "orders",
                    "name": "ShipProvinceLevel",
                    "alias": "省份",
                    "fieldName": "ShipProvince",
                    "levelType": "LEVEL"
                },
                {
                    "viewName": "orders",
                    "name": "ShipCityLevel",
                    "alias": "城市",
                    "fieldName": "ShipCity",
                    "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": "orderWeek",
                    "alias": "周",
                    "fieldName": "OrderDate",
                    "levelType": "LEVEL_TIME_WEEK"
                },
                {
                    "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]"
            }
        ]
}
  • 接口参数及其说明

同创建


  • 无标签