import { IDimensionMember, Property, PropertyHierarchy, PropertyLevel } from '@metad/ocap-core'; import { DIMENSION_TYPE, XmlaMember } from './rowset'; /** * MDX Cube Type */ export interface MDXCube { catalogName?: string; schemaName?: string; cubeName: string; } /** * 增加 XMLA 相关的 Dimension 属性,继承自 @metad/ocap-core 中的 {@link Property} * * ```xml * * * * * * * * * * * * * * * * * * * * * * * ``` * * Sample: * ```xml * FoodMart FoodMart HR Department [Department] Department 6 3 13 [Department] HR Cube - Department Dimension false false 0 true * * ``` */ export interface MDXDimension extends Property, MDXCube { dimensionName: string; dimensionUniqueName: string; dimensionGuid?: string; dimensionCaption: string; dimensionOrdinal: number; dimensionType: DIMENSION_TYPE; dimensionCardinality: number; defaultHierarchy: string; description?: string; isVirtual?: boolean; isReadwrite?: boolean; dimensionUniqueSettings?: number; dimensionMasterUniqueName?: string; dimensionIsVisible?: boolean; hierarchies?: Array; } /** * * ```xml * * ``` * ```xml FoodMart FoodMart HR [Department] Department [Department] Department 3 13 [Department].[All Departments] [Department].[All Departments] HR Cube - Department Hierarchy 0 false false 0 true true 6 true false * ``` */ export interface MDXHierarchy extends PropertyHierarchy, MDXCube { dimensionUniqueName: string; hierarchyName: string; hierarchyUniqueName: string; hierarchyGuid?: string; hierarchyCaption: string; dimensionType: number; hierarchyCardinality: number; defaultMember?: string; allMember?: string; description?: string; structure: number; isVirtual: boolean; isReadwrite: boolean; dimensionUniqueSettings: number; dimensionIsVisible: boolean; hierarchyIsVisible: boolean; hierarchyOrdinal: number; dimensionIsShared: boolean; parentChild?: boolean; levels?: Array; } /** * ```xml * * ``` * * ```xml * FoodMart FoodMart HR [Department] [Department] (All) [Department].[(All)] (All) 0 1 1 0 3 true HR Cube - Department Hierarchy - (All) Level FoodMart FoodMart HR [Department] [Department] Department Description [Department].[Department Description] Department Description 1 12 0 0 1 true HR Cube - Department Hierarchy - Department Description Level * ``` */ export interface MDXLevel extends PropertyLevel, MDXCube { dimensionUniqueName: string; hierarchyUniqueName: string; levelName: string; levelUniqueName: string; levelGuid?: string; levelCaption: string; levelNumber: number; levelCardinality: number; customRollupSettings: number; levelUniqueSettings: number; levelIsVisible: boolean; description?: string; } /** * ```xml * * ``` */ export interface MDXMeasure extends Property, MDXCube { measureName: string; measureUniqueName: string; measureCaption: string; measureGuid?: string; measureAggregator: number; measureIsVisible: boolean; levelsList?: string; description?: string; defaultFormatString?: string; } /** * ```xml * FoodMart FoodMart HR [Department] [Department] [Department].[Department Description] 1 11 18 [Department].[18] 1 18 0 0 [Department].[All Departments] 1 1 * ``` * * ```xml * * ``` */ export interface MDXMember extends MDXCube, IDimensionMember { memberGuid?: string; memberName: string; memberCaption: string; /** * @deprecated ? What's usage */ memberIsVisible?: boolean; childrenCardinality: number; parentUniqueName?: string; parentLevel: number; parentCount: number; treeOp?: string; depth?: number; } export declare function convertMDXProperty(row: any): T; export declare function deconstructDimensionName(dimension: string): string; export declare const C_MDX_FIELD_NAME_REGEX = "[a-zA-Z0-9\u4E00-\u9FCC\\/\\s_\\-]*"; /** * 转换 XMLA 接口返回值, 去掉 Hierarchy 名称和单值的中括号 `[ ]` */ export declare function convertHierarchyMemberValue(hierarchy: string, value: string): string; export declare function convertXmlaMember(hierarchyName: string, member: XmlaMember): MDXMember;