import { HttpHeaders, RuntimeLevelType } from '@metad/ocap-core';
export interface Rowset {
fetchAllAsObject(): any;
}
export declare enum XmlaFormat {
Tabular = "Tabular",
Multidimensional = "Multidimensional"
}
export interface MDOptions {
properties?: {
DataSourceInfo?: string;
Catalog?: string;
Format?: XmlaFormat;
};
restrictions?: {
CATALOG_NAME?: string;
CUBE_NAME?: string;
DIMENSION_UNIQUE_NAME?: string;
HIERARCHY_UNIQUE_NAME?: string;
LEVEL_UNIQUE_NAME?: string;
LEVEL_NUMBER?: number;
};
headers?: HttpHeaders;
forceRefresh?: boolean | void;
}
/**
* ```xml
*
*
*
*
*
* ```
*/
export interface XmlaSchemaCatalog {
CATALOG_NAME: string;
SCHEMA_NAME: string;
DESCRIPTION: string;
}
/**
* MDSCHEMA_CUBES result format:
* 1. Mondrian:
*
Demo - FoodMart Model
Demo - FoodMart Model
Sales
CUBE
2022-09-12T17:49:00
true
false
false
false
销售
Demo - FoodMart Model Schema - Sales Cube
2. SAP BW:
$INFOCUBE
$/CPMB/AJIN09O
CUBE
2019-04-12T02:41:40
BPC_SERVICE
1970-01-01T00:00:00
Planning
false
false
false
false
*
*/
export interface XmlaCube {
CATALOG_NAME: string;
SCHEMA_NAME: string;
CUBE_NAME: string;
CUBE_TYPE: string;
LAST_SCHEMA_UPDATE: string;
IS_DRILLTHROUGH_ENABLED: boolean;
IS_WRITE_ENABLED: boolean;
IS_LINKABLE: boolean;
IS_SQL_ENABLED: boolean;
CUBE_CAPTION: string;
DESCRIPTION: string;
}
export interface XmlaDimension {
CATALOG_NAME: string;
CUBE_NAME: string;
DEFAULT_HIERARCHY: string;
DESCRIPTION: string;
DIMENSION_CAPTION: string;
DIMENSION_CARDINALITY: number;
DIMENSION_GUID: string;
DIMENSION_IS_VISIBLE: boolean;
DIMENSION_NAME: string;
DIMENSION_ORDINAL: number;
DIMENSION_TYPE: DIMENSION_TYPE;
DIMENSION_UNIQUE_NAME: string;
SCHEMA_NAME: string;
}
export interface Hierarchy {
ALL_MEMBER: string;
CATALOG_NAME: string;
CUBE_NAME: string;
DEFAULT_MEMBER: string;
DESCRIPTION: string;
DIMENSION_TYPE: DIMENSION_TYPE;
DIMENSION_UNIQUE_NAME: string;
HIERARCHY_CAPTION: string;
HIERARCHY_CARDINALITY: number;
HIERARCHY_GUID: string;
HIERARCHY_IS_VISIBLE: boolean;
HIERARCHY_NAME: string;
HIERARCHY_UNIQUE_NAME: string;
SCHEMA_NAME: string;
STRUCTURE: number;
}
export interface Level {
CATALOG_NAME: string;
CUBE_NAME: string;
DESCRIPTION: string;
DIMENSION_UNIQUE_NAME: string;
HIERARCHY_UNIQUE_NAME: string;
LEVEL_CAPTION: string;
LEVEL_CARDINALITY: number;
LEVEL_IS_VISIBLE: boolean;
LEVEL_NAME: string;
LEVEL_NUMBER: number;
LEVEL_TYPE: RuntimeLevelType;
LEVEL_UNIQUE_NAME: string;
SCHEMA_NAME: string;
}
export declare enum MondrianDataType {
None = 0,
Boolean = 1,
Double = 2,
Integer = 3,
String = 4,
Numeric = 5,
Formula = 130
}
/**
* Values in DATATYPE domain https://www.sapdatasheet.org/abap/doma/datatype.html#values
* Classify by ChatGPT
*/
export declare enum SAPBWDataType {
ACCP = "String",// Posting period YYYYMM is a character string format
CHAR = "String",// Character String
CLNT = "Integer",// Client is a 4-byte integer field
CUKY = "String",// Currency key is a character string format
CURR = "Numeric",// Currency field, stored as DEC
D16D = "Numeric",// Decimal Floating Point, 16 Digits, DEC on Database
D16R = "Numeric",// Decimal Floating Point, 16 Digits, RAW on Database
D16S = "Numeric",// Decimal Floating Point. 16 Digits, with Scale Field
D34D = "Numeric",// Decimal Floating Point, 34 Digits, DEC on Database
D34R = "Numeric",// Decimal Floating Point, 34 Digits, RAW on Database
D34S = "Numeric",// Decimal Floating Point, 34 Digits, with Scale Field
DATS = "Date",// Date field (YYYYMMDD) stored as char(8)
DEC = "Numeric",// Counter or amount field with comma and sign
FLTP = "Numeric",// Floating point number, accurate to 8 bytes
INT1 = "Integer",// 1-byte integer, integer number <= 255
INT2 = "Integer",// 2-byte integer, only for length field before LCHR or LRAW
INT4 = "Integer",// 4-byte integer, integer number with sign
LANG = "String",// Language key is a character string format
LCHR = "String",// Long character string, requires preceding INT2 field
LRAW = "String",// Long byte string, requires preceding INT2 field
NUMC = "String",// Character string with only digits
PREC = "Annotation",// Obsolete data type, do not use
QUAN = "Numeric",// Quantity field, points to a unit field with format UNIT
RAW = "Numeric",// Uninterpreted sequence of bytes
RSTR = "String",// Byte String of Variable Length
SSTR = "String",// Short Character String of Variable Length
STRG = "String",// Character String of Variable Length
TIMS = "Datetime",// Time field (hhmmss), stored as char(6)
UNIT = "String",// Unit key for QUAN fields is a character string format
VARC = "Annotation"
}
export interface Meaure {
CATALOG_NAME: string;
CUBE_NAME: string;
DATA_TYPE: MondrianDataType | SAPBWDataType | string;
DESCRIPTION: string;
EXPRESSION: string;
MEASURE_AGGREGATOR: number;
MEASURE_CAPTION: string;
MEASURE_GUID: string;
MEASURE_IS_VISIBLE: true;
MEASURE_NAME: string;
MEASURE_UNIQUE_NAME: string;
MEASURE_UNITS: string;
NUMERIC_PRECISION: number;
NUMERIC_SCALE: number;
SCHEMA_NAME: string;
}
/**
*
ZCPFI0005
ZCPFI0005/ZCPFI0005_Q001
[ZCOMPCODE]
[ZCOMPCODE]
[ZCOMPCODE].[LEVEL01]
1
[5ZCOMPCODE]
中间名
CHAR
40
*/
export interface XmlaProperty {
CATALOG_NAME: string;
CUBE_NAME: string;
DIMENSION_UNIQUE_NAME: string;
HIERARCHY_UNIQUE_NAME: string;
LEVEL_UNIQUE_NAME: string;
PROPERTY_TYPE: number;
PROPERTY_NAME: string;
PROPERTY_CAPTION: string;
DESCRIPTION: string;
DATA_TYPE: string;
MAX_LENGTH: number;
}
/**
*
ZCPSRM0002
ZCPSRM0002/ZCPSRM0002_Q012
[!V000002]
日历日-区间
005056AA-33EA-1EE9-B099-F7BEEFD55AB6
2
1
CHAR
143
1
2
0
[0DOC_DATE]
[0DOC_DATE]
日历日-区间
ZCPSRM0002
ZCPSRM0002/ZCPSRM0002_Q012
[!V000003]
供应商组号手工输入
005056AA-33EA-1EDB-A6D2-AC4D98F10911
3
1
CHAR
143
1
1
0
[ZVENGPNO]
[ZVENGPNO]
供应商组号手工输入
*/
export interface Variable {
CATALOG_NAME: string;
CUBE_NAME: string;
VARIABLE_NAME: string;
VARIABLE_CAPTION: string;
REFERENCE_DIMENSION: string;
REFERENCE_HIERARCHY: string;
DEFAULT_LOW: string;
DEFAULT_HIGH: string;
}
/**
* The type of the dimension
* https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms126180(v=sql.110)
*/
export declare enum DIMENSION_TYPE {
MD_DIMTYPE_UNKNOWN = 0,
MD_DIMTYPE_TIME = 1,
MD_DIMTYPE_MEASURE = 2,
MD_DIMTYPE_OTHER = 3,
MD_DIMTYPE_STRUCTURE = 4,// ? MS 文档里缺少这个
MD_DIMTYPE_QUANTITATIVE = 5,
MD_DIMTYPE_ACCOUNTS = 6,
MD_DIMTYPE_CUSTOMERS = 7,
MD_DIMTYPE_PRODUCTS = 8,
MD_DIMTYPE_SCENARIO = 9,
MD_DIMTYPE_UTILIY = 10,
MD_DIMTYPE_CURRENCY = 11,
MD_DIMTYPE_RATES = 12,
MD_DIMTYPE_CHANNEL = 13,
MD_DIMTYPE_PROMOTION = 14,
MD_DIMTYPE_ORGANIZATION = 15,
MD_DIMTYPE_BILL_OF_MATERIALS = 16,
MD_DIMTYPE_GEOGRAPHY = 17
}
/**
* MDMember type
{
"CATALOG_NAME": "Demo - FoodMart Model",
"SCHEMA_NAME": "Demo - FoodMart Model",
"CUBE_NAME": "Sales",
"DIMENSION_UNIQUE_NAME": "[Store]",
"HIERARCHY_UNIQUE_NAME": "[Store]",
"LEVEL_UNIQUE_NAME": "[Store].[(All)]",
"LEVEL_NUMBER": 0,
"MEMBER_ORDINAL": 0,
"MEMBER_NAME": "All Stores",
"MEMBER_UNIQUE_NAME": "[Store].[All Stores]",
"MEMBER_TYPE": 2,
"MEMBER_GUID": null,
"MEMBER_CAPTION": "All Stores",
"CHILDREN_CARDINALITY": 3,
"PARENT_LEVEL": 0,
"PARENT_UNIQUE_NAME": null,
"PARENT_COUNT": 0,
"TREE_OP": null,
"DEPTH": 0
}
*/
export interface XmlaMember {
CATALOG_NAME: string;
SCHEMA_NAME: string;
CUBE_NAME: string;
DIMENSION_UNIQUE_NAME: string;
HIERARCHY_UNIQUE_NAME: string;
LEVEL_UNIQUE_NAME: string;
LEVEL_NUMBER: number;
MEMBER_ORDINAL: number;
MEMBER_NAME: string;
MEMBER_UNIQUE_NAME: string;
MEMBER_TYPE: number;
MEMBER_GUID: string;
MEMBER_CAPTION: string;
CHILDREN_CARDINALITY: number;
PARENT_LEVEL: number;
PARENT_UNIQUE_NAME: string;
PARENT_COUNT: number;
TREE_OP: string;
DEPTH: number;
}