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

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

与当前比较 查看页面历史

« 前一个 版本 8 下一个 »

https://smartbi.feishu.cn/docx/YqZtdMTyloscStxIU06cg1hsnde


NLA 元数据查询接口

  • 接口调用

http://host:port/smartbi/smartbix/api/augmentedOlap/newNlaMetaData

  • 接口请求类型

POST

  • 返回值

CheckResult

属性类型说明
idStirng模型 id
fieldsList查询成员列表(如果为空查询所有的)

简单示例:单物理表

{
common: "",
dataSource: {
alias: "demo2019",
authenticationType: "STATIC",
dbCharset: "",
desc: "",
driver: "com.mysql.jdbc.Driver",
driverType: "MYSQL",
id: "DS.demo2019",
maxConnection: 300,
name: "demo2019",
transactionIsolation: -1,
url: "jdbc:mysql://172.17.11.217:3306/demo2019?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=GBK&useServerPrepStmts=true",
user: "admin",
validationQuery: "SELECT 1 FROM DUAL",
validationQueryMethod: 0
},
header: [
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%Y��')",
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
name: "���",
objectAlias: "ʱ��",
objectName: "ʱ��",
timeLevel: "year",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "(CASE WHEN date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%m') IN (1,2,3) THEN '1����' WHEN date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%m') IN (4,5,6) THEN '2����' WHEN date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%m') IN (7,8,9) THEN '3����' WHEN date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%m') IN (10,11,12) THEN '4����' END)",
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
name: "����",
objectAlias: "ʱ��",
objectName: "ʱ��",
timeLevel: "quarter",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "date_format( ^C_FIELD.demo2019.null.car_selling_fact.column9^ , '%m��')",
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
name: "�·�",
objectAlias: "ʱ��",
objectName: "ʱ��",
timeLevel: "month",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<����-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column9^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column9",
name: "����",
objectAlias: "ʱ��",
objectName: "ʱ��",
timeLevel: "",
type: "DATE"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column4^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column4",
name: "����",
objectAlias: "����",
objectName: "����",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "( case when ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ < 10000 then '0-1��̨' when ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ >= 10000 and ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ <20000 then '1-2��̨' when ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ >= 20000 and ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ <30000 then '2-3��̨' when ^C_BIZATTR.demo2019.CSAC�������۷���.column10^ >= 30000 then '3��̨����' end)",
id: "BIZATTR.demo2019.��������˽�ҳ�����.�ȶ�",
name: "�ȶ�",
objectAlias: "����",
objectName: "����",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column7^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column7",
name: "����",
objectAlias: "����",
objectName: "����",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "������",
expressionText: "( case when ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ < 10 then 8 when ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ >= 10 and ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ <=15 then 13 when ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ > 15 and ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ <=20 then 18 when ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ > 20 and ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ <30 then 25 when ^C_BIZATTR.demo2019.CSAC�������۷���.column8^ >= 30 then 30 end)",
id: "BIZATTR.demo2019.��������˽�ҳ�����.�۸�����",
name: "Ԥ��",
objectAlias: "����",
objectName: "����",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column2^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column2",
name: "��ϵ",
objectAlias: "��Ʒ",
objectName: "car_selling_fact",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column5^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column5",
name: "Ʒ��",
objectAlias: "��Ʒ",
objectName: "car_selling_fact",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column3^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column3",
name: "����",
objectAlias: "��Ʒ",
objectName: "car_selling_fact",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<�ַ���-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column6^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column6",
name: "����",
objectAlias: "��Ʒ",
objectName: "car_selling_fact",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<����-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column12^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column12",
name: "ʡ��",
objectAlias: "����",
objectName: "��ҵ",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<����-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column13^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column13",
name: "����",
objectAlias: "����",
objectName: "��ҵ",
timeLevel: "",
type: "VARCHAR"
},
{
aggregationMode: "NULL",
dataFormat: "<����-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column10^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column10",
name: "������",
objectAlias: "ָ��",
objectName: "ָ��",
timeLevel: "",
type: "INTEGER"
},
{
aggregationMode: "AVG",
dataFormat: "<������-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column8^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column8",
name: "������",
objectAlias: "ָ��",
objectName: "ָ��",
timeLevel: "",
type: "DOUBLE"
},
{
aggregationMode: "NULL",
dataFormat: "<������-Ĭ��ֵ>",
expressionText: "^C_FIELD.demo2019.null.car_selling_fact.column11^",
id: "BIZATTR.demo2019.��������˽�ҳ�����.column11",
name: "���۹�ģ",
objectAlias: "ָ��",
objectName: "ָ��",
timeLevel: "",
type: "DOUBLE"
}
],
id: "THEME.demo2019.��������˽�ҳ�����",
name: "��������˽�ҳ�����",
rows: [
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
members: [
"2015��",
"2016��",
"2017��",
"2018��",
"2019��",
"2020��"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
members: [
"1����",
"2����",
"3����",
"4����"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.��",
members: [
"01��",
"02��",
"03��",
"04��",
"05��",
"06��",
"07��",
"08��",
"09��",
"10��",
"11��",
"12��"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column4",
members: [
"�γ�",
"SUV",
"MPV"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.�ȶ�",
members: [
"0-1��̨",
"1-2��̨",
"3��̨����",
"2-3��̨"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column7",
members: [
"����",
"����",
"��",
"΢��",
"���"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.�۸�����",
members: [
"30������",
"13������",
"18������",
"25������",
"8������"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column2",
members: [
"��ϵ",
"��ϵ",
"��ϵ",
"����",
"��ϵ",
"��ϵ"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column5",
members: [
"��������",
"ѩ����",
"����",
"����",
"��������",
"���Դ�",
"���ǵ�",
"����",
"���",
"����",
"����",
"�ִ�",
"����",
"����",
"WEY",
"����",
"������",
"�µ�",
"����",
"����",
"����",
"����",
"����",
"ѩ����",
"����",
"��������Դ",
"����",
"��;",
"�ղ�",
"˹�´�",
"���",
"��"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column3",
members: [
"����ͨ��",
"��������",
"��������",
"���籾��",
"��������",
"һ�����Դ�",
"�������Դ�",
"���ǵ�����",
"��������Դ",
"�������ó�",
"�Ϻ�����",
"�����ִ�",
"��������",
"��������",
"һ������",
"һ������",
"��������",
"��������",
"��������",
"һ���µ�",
"����ͨ������",
"��������",
"��������",
"��������",
"��������",
"��������Դ",
"�����ղ�"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column6",
members: [
"ATS-L",
"C3-XR",
"C4����",
"C-HR",
"CR-V",
"CS15",
"CS35",
"CS55",
"CS75",
"CX-4",
"CX-5",
"CX70",
"e5",
"ECϵ��",
"EUϵ��",
"EXϵ��",
"F3",
"GL6",
"GM6",
"GM8",
"GS3",
"GS4",
"GS5",
"GS8",
"i5",
"i6",
"INSPIRE",
"ix25",
"ix35",
"K2",
"K3",
"K4",
"K5",
"KX?CROSS",
"KX3",
"KX3����",
"KX5",
"POLO",
"RAV4",
"RX3",
"RX5",
"S7",
"T-Cross",
"T-ROC̽��",
"UR-V",
"VV5",
"VV6",
"VV7",
"XR-V",
"XT4",
"XT5",
"XTS",
"YARiS?L?����",
"YARiS?L?����",
"ZS",
"������",
"������",
"������5",
"������GX",
"������",
"������",
"������",
"��������",
"�µ���",
"�µ�A3",
"�µ�A4L",
"�µ�A6L",
"�µ�Q2L",
"�µ�Q3",
"�µ�Q5",
"����310",
"����360",
"����510",
"����530",
"����560",
"����730",
"����RC-6",
"����",
"����1ϵ",
"����3ϵ",
"����5ϵ",
"����X1",
"����X3",
"����A��",
"����C��",
"����E��",
"����GLA",
"����GLB",
"����GLC",
"����GLK",
"����2008",
"����3008",
"����301",
"����308",
"����4008",
"����408",
"����",
"��Խ",
"����",
"����",
"����GE",
"��Խ",
"����GA4",
"����",
"�ۺ�GL",
"�ۺ�GS",
"�ۺ�����Դ",
"�ɶ�",
"��˹��",
"�淶",
"����˹",
"���˹",
"�߶���",
"����",
"�ڵ�",
"��������ԴAion?S",
"����F5",
"����F7",
"����H1",
"����H2",
"����H4",
"����H6",
"����H7",
"����M6",
"������",
"�Ӱ",
"�ʹ�",
"�μ�",
"�μ�����Դ",
"����",
"�ܵ�",
"�ݴ�",
"�ݴ�VA3",
"�ݴ�VS5",
"��;X70",
"��ţ��",
"����",
"����",
"��Խ",
"������",
"��������CT5",
"������",
"��Խ",
"�µ��ǿ�",
"���׿�",
"��³��",
"��³��",
"������",
"����",
"�ʶ�",
"����",
"����",
"����",
"���",
"����",
"�춯",
"���01",
"���02",
"���03",
"����",
"����",
"�ɵ�ŷ",
"����6",
"����HS",
"��ͼ",
"����",
"������",
"������",
"�濥",
"����eQ",
"���",
"������Դ",
"����360",
"���",
"��3",
"��5",
"��5X",
"��7",
"��8",
"����",
"��ŷ",
"ɣ����",
"ʤ��",
"˼��",
"��",
"��MAX",
"��pro",
"������Դ",
"����",
"����",
"������",
"̽����",
"̽��",
"��",
"������Դ",
"����",
"����C5AIRCROSS",
";��",
";��",
";��",
";ʤ",
";��",
"����",
"����FS",
"����",
"�",
"����",
"�п�",
"���",
"�±���RS-3",
"�µۺ�",
"����",
"�Ÿ�",
"������",
"����",
"����",
"����IZOA",
"�ݶ�",
"�ݶ�DT",
"����",
"����",
"Ӣ��",
"Ԫ",
"Ԫ����Դ",
"Զ��S1",
"Զ��SUV",
"Զ��X1",
"Զ��X3",
"Զ��X6",
"Զ���γ�",
"�ö�",
"����",
"����",
"����ŷ��X7",
"����"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column12",
members: [
"�Ϻ�",
"����",
"�㶫",
"����",
"����",
"����",
"����",
"���",
"�ӱ�",
"����",
"����",
"����",
"�㽭"
]
},
{
id: "BIZATTR.demo2019.��������˽�ҳ�����.column13",
members: [
"�Ϻ�",
"�人",
"����",
"����",
"����",
"�Ͼ�",
"����",
"����",
"�γ�",
"���",
"����",
"�ߺ�",
"����",
"����",
"����"
]
}
],
title: "��������˽�ҳ�����",
types: [
"text",
"text",
"text",
"real",
"text",
"text",
"text",
"text",
"text",
"text",
"text",
"text",
"text",
"text",
"real",
"real",
"real"
]
}

创建数据模型

  • 接口调用

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]"
            }
        ]
}
  • 接口参数及其说明

同创建

数据模型取数

  • 接口调用

http://host:port/smartbi/smartbix/api/augmentedQuery/data/

  • 接口请求类型

POST

  • 返回值

DataIterator 数据结果

属性类型说明
columnLabelsList数据迭代器对应的列表标题列表占位
iteratorIterator<List > 结果(二维数组)
totalRowCountInt总行数,目前不支持,返回-1

CellData 单元格数据

属性类型说明
typeValueType数据类型
displayValueString显示值
valueObject真实值

示例-普通二维查询

普通二维查询,维度放行区、度量放列区

{
    "dataSetId": "I8a8aa3d4018220a120a154fd018220c691c50013",
    "rows": [
        "product_name"
    ],
    "columns": [
        "store_sales_m"
    ]
}

示例-交叉表查询

交叉表查询的情况,度量放行区

{
    "dataSetId": "I8a8aa3d4018220a120a154fd018220c691c50013",
    "rows": [
        "product_name","store_sales_m"
    ]
}

示例-过滤

{
    "dataSetId": "I8a8aa3d4018220a120a154fd018220c691c50013",
    "rows": [
        "product_name"
    ],
    "columns": [
        "store_sales_m"
    ],
    "filters": [
        {
            "name": "product_name",
            "operation":"EQUALS",
            "values":["型号1"]
        }
    ]
}

示例-快速度量、排序

示例-分类汇总、提示

私有计算度量、私有分组字段

{
        "dataSetId": "I8a8aa3d4018220a120a154fd018220c691c50013",
        "rows": ["sales_region2", "customGroup"],
    "columns": ["store_sales_m", "custom1"],
    "custom": {
        "items": [
            {
                "name": "custom1",
                "expression": "[Measures].[store_sales_m] + 1",
                "valueType": "BIGDECIMAL",
                "type": "CALC_MEASURE"
            }, {
                "name": "customGroup",
                "expression": "{\"calcField\":{\"type\":\"CALC_GROUP\",\"define\":{\"expression\":{\"groupType\":\"ENUM\",\"valueList\":[{\"enumData\":[[\"中型卖场\",\"中型卖场\"],[\"大型超市\",\"大型超市\"],[\"小型卖场\",\"小型卖场\"]],\"id\":1,\"name\":\"卖场\"}],\"otherName\":\"其他\",\"mergeIntoOneItem\":\"merge\",\"valueType\":\"STRING\"},\"ref\":\"AUGMENTED_DATASET_FIELD.I8a8aa3d4018220a120a154fd018220c691c50013.Field-FoodmartCN_datamodel-null-null-store-store_type\"}}}",
                "valueType": "STRING",
                "type": "CALC_GROUP"
            }
        ]
    }
}

  • 接口参数及其说明
DataModelQueryVO 模型查询VO
属性类型说明
dataSetIdStirng模型 id
rowsList行区字段名称列表
columnsList列区字段名称列表
nameLabelMapMap<String, String>汇总别名设置
filtersList筛选区列表
quickCalculationsList快速计算定义列表
customDataModelCustomVO多维元素私有定义
orderBysList排序设置列表
subtotalsList分类汇总设置列表
tooltipsList提示字段设置列表
paramValuesMap<String, Object>参数值映射:参数名 <-> 参数值
rowPageNumint第几页(行区),默认是 1
rowsPerPageint每页几行(行区),默认是 20
queryTypeQueryType查询方式:LIST_QUERY、MONDRIAN_QUERY,分别代表:清单查询、多维查询;清单查询时只能查维度、层次;默认是多维查询
DataModelFilterVO 筛选区VO
属性类型说明
nameStirng字段名称
operationFilterOperationType运算符类型
valuesList过滤器的值
DataModelQuickCalcVO 快速计算设置VO
属性类型说明
nameStirng快速计算命名
fieldNameString需要快速计算的字段名称
calcTypeCalculationType计算类型
timeTypeFieldTreeNodeType时间层次类型:LEVEL_TIME_YEAR、LEVEL_TIME_QUARTER、LEVEL_TIME_MONTH、LEVEL_TIME_DAY
timeHierIdString时间层次 Id (可不填,当行、列区有多个不同日期层次的时候才填)
DataModelCustomVO 模型私有定义VO
属性类型说明
itemsList模型私有定义列表
DataModelCustomItemVO 模型查询VO
属性类型说明
name名称模型私有定义列表
expressionStringmdx 表达式
typeFieldTreeNodeTypeCALC_MEASURE、CALC_MEMBER、NAMEDSET,分别代表:计算度量、计算成员、命名集
dataFormatString数据格式
valueTypeValueType数据类型
DataModelOrderByVO 排序设置 VO
属性类型说明
fieldNameStirng字段名称
typeOrderByType排序类型:ASC、DESC、BASC、BDESC、NONE,分别代表:升序、降序、全局升序、全局降序
orderPriorityint优先级
DataModelSubtotalVO 分类汇总 VO
属性类型说明
nameStirng字段名称
subtotalSubtotal字段是否汇总,SHOW、SHOW 分别代表:显示、隐藏
DataModelTooltipVO 提示设置 VO
属性类型说明
nameStirng字段名称

后端接口方式

支持 SDK 通过 rmi 的方式调用

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的内容";
        JSONObject obj = JSONObject.fromString(str);
        InvokeResult res = conn.remoteInvoke("AugmentedDataSetForVModule", "create", new Object[]{pid, obj});
        // InvokeResult res = conn.remoteInvoke("AugmentedDataSetForVModule", "update", new Object[]{obj});
        conn.close();
        }
}

【本文结束】

  • 无标签