import { Dimension, EntityType, ISlicer, OrderBy, QueryOptions } from '@metad/ocap-core'; import { WithMemberType } from './calculation'; import { MDXHierarchyFilter, MDXProperty } from './filter'; import { MDXDialect, MDXLevel, MDXQuery } from './types/index'; export declare function filterNotUnitText(dimensions: Array, entityType: EntityType): Dimension[]; /** * 根据 entityType 和 QueryOptions 生成 cube 相应的 MDXQuery 信息对象, 后续再由 MDXQuery 生成 MDX Statement * * @param entity * @param entityType * @param options * @returns */ export declare function generateMDXQuery(entity: string, entityType: EntityType, options: QueryOptions): MDXQuery; export declare function getMDXProperty(entityType: EntityType, path: string | Dimension): MDXProperty; /** * @deprecated * 模式识别 MDX 选择条件中的维度 Hierarchy 信息 */ export declare function _extractHierarchy(path: any): MDXHierarchyFilter; /** * 将分散的 hierarchy 和其 dimension property 合并 * */ export declare function uniteMDXProperty(dimensions: Array): Array; /** * Convert Filter to MDX structured data */ export declare function convertFilter2Hierarchy(entityType: EntityType, ftr: ISlicer): MDXHierarchyFilter; export declare function getCubeHierarchyLevel(entityType: EntityType, hierarchy: string, levelNumber: number): MDXLevel; /** * Decompose Orderby to dimension:hierarchy:measure:order */ export declare function convertOrderby(entityType: EntityType, orderby: OrderBy): MDXProperty; export declare function getHierarchyName(fHierarchy: any): any; /** * Assign Filters to row or column dimensions, and the rest to Slicers axes * * @param rows Rows * @param columns Columns * @param filters Slicers */ export declare function allocateFilters(rows: Array, columns: Array, filters: Array, entityType: EntityType, withMembers: Record): MDXQuery; /** * Combining dimension attributes with filters * * @param calculatedMembers Used to store with member generated during calculation of calculated slicers */ export declare function allocateAxesFilter(dimensions: Array, filters: Array, entityType: EntityType, withMembers: Record, dialect?: MDXDialect): MDXProperty[]; export declare function serializeHierarchyDefaultLevel(entityType: EntityType, { dimension, hierarchy }: Dimension): string; /** * 1. 使用函数 `Ascendants` 获取节点节点及其所有父级节点的层级结构, 并将 `PARENT_UNIQUE_NAME` 加入到 properties 列表中 * 2. label 属性(说明此维度使用哪个属性字段作为 Label 信息)设置的字段添加到 properties 列表中 * * @param dimensions * @returns */ export declare function processMDXDimensionProperties(dimension: MDXProperty, entityType: EntityType, dialect: MDXDialect): MDXProperty;