@finos/legend-data-cube
Version:
271 lines • 11.5 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type V1_AppliedFunction } from '@finos/legend-graph';
import type { DataCubeQueryFilterOperation } from './filter/DataCubeQueryFilterOperation.js';
import type { DataCubeQueryAggregateOperation } from './aggregation/DataCubeQueryAggregateOperation.js';
export declare enum DataCubeFunction {
EXTEND = "meta::pure::functions::relation::extend",
FILTER = "meta::pure::functions::relation::filter",
GROUP_BY = "meta::pure::functions::relation::groupBy",
LIMIT = "meta::pure::functions::relation::limit",
PIVOT = "meta::pure::functions::relation::pivot",
SELECT = "meta::pure::functions::relation::select",
SLICE = "meta::pure::functions::relation::slice",
SORT = "meta::pure::functions::relation::sort",
OVER = "meta::pure::functions::relation::over",
CAST = "meta::pure::functions::lang::cast",
FROM = "meta::pure::mapping::from",
ASCENDING = "meta::pure::functions::relation::ascending",
DESCENDING = "meta::pure::functions::relation::descending",
ABS = "meta::pure::functions::math::abs",
AND = "meta::pure::functions::boolean::and",
OR = "meta::pure::functions::boolean::or",
NOT = "meta::pure::functions::boolean::not",
TO_LOWERCASE = "meta::pure::functions::string::toLower",
CONTAINS = "meta::pure::functions::string::contains",
ENDS_WITH = "meta::pure::functions::string::endsWith",
EQUAL = "meta::pure::functions::boolean::equal",
GREATER_THAN = "meta::pure::functions::boolean::greaterThan",
GREATER_THAN_OR_EQUAL = "meta::pure::functions::boolean::greaterThanEqual",
IN = "meta::pure::functions::collection::in",
IS_EMPTY = "meta::pure::functions::collection::isEmpty",
LESS_THAN = "meta::pure::functions::boolean::lessThan",
LESS_THAN_OR_EQUAL = "meta::pure::functions::boolean::lessThanEqual",
STARTS_WITH = "meta::pure::functions::string::startsWith",
AVERAGE = "meta::pure::functions::math::average",
COUNT = "meta::pure::functions::collection::count",
DISTINCT = "meta::pure::functions::collection::distinct",
FIRST = "meta::pure::functions::collection::first",
JOIN_STRINGS = "meta::pure::functions::string::joinStrings",
LAST = "meta::pure::functions::collection::last",
MAX = "meta::pure::functions::collection::max",
MIN = "meta::pure::functions::collection::min",
SUM = "meta::pure::functions::math::sum",
STANDARD_DEVIATION_POPULATION = "meta::pure::functions::math::stdDevPopulation",
STANDARD_DEVIATION_SAMPLE = "meta::pure::functions::math::stdDevSample",
UNIQUE_VALUE_ONLY = "meta::pure::functions::collection::uniqueValueOnly",
VARIANCE_POPULATION = "meta::pure::functions::math::variancePopulation",
VARIANCE_SAMPLE = "meta::pure::functions::math::varianceSample"
}
export type DataCubeQueryFunctionMap = {
leafExtend?: V1_AppliedFunction[] | undefined;
filter?: V1_AppliedFunction | undefined;
pivotSort?: V1_AppliedFunction | undefined;
pivot?: V1_AppliedFunction | undefined;
pivotCast?: V1_AppliedFunction | undefined;
groupBy?: V1_AppliedFunction | undefined;
groupBySort?: V1_AppliedFunction | undefined;
groupExtend?: V1_AppliedFunction[] | undefined;
select?: V1_AppliedFunction | undefined;
sort?: V1_AppliedFunction | undefined;
limit?: V1_AppliedFunction | undefined;
};
export declare enum DataCubeNumberScale {
BASIS_POINT = "Basis Points (bp)",
PERCENT = "Percent (%)",
THOUSANDS = "Thousands (k)",
MILLIONS = "Millions (m)",
BILLIONS = "Billions (b)",
TRILLIONS = "Trillions (t)",
AUTO = "Auto (k/m/b/t)"
}
export declare enum DataCubeFont {
ARIAL = "Arial",
ROBOTO = "Roboto",
ROBOTO_CONDENSED = "Roboto Condensed",
TIMES_NEW_ROMAN = "Times New Roman",
GEORGIA = "Georgia",
ROBOTO_SERIF = "Roboto Serif",
JERBRAINS_MONO = "Jetbrains Mono",
ROBOTO_MONO = "Roboto Mono",
UBUNTU_MONO = "Ubuntu Mono"
}
export declare enum DataCubeFontTextAlignment {
CENTER = "center",
LEFT = "left",
RIGHT = "right"
}
export declare enum DataCubeFontCase {
LOWERCASE = "lowercase",
UPPERCASE = "uppercase",
CAPITALIZE = "capitalize"
}
export declare enum DataCubeFontFormatUnderlineVariant {
SOLID = "solid",
DASHED = "dashed",
DOTTED = "dotted",
DOUBLE = "double",
WAVY = "wavy"
}
export declare enum DataCubeColumnKind {
MEASURE = "Measure",
DIMENSION = "Dimension"
}
export declare enum DataCubeOperationAdvancedValueType {
COLUMN = "COLUMN",
VOID = "VOID"
}
export type DataCubeOperationValue = {
value?: unknown;
type: string;
};
export declare enum DataCubeQueryAggregateOperator {
SUM = "sum",
AVERAGE = "avg",
COUNT = "count",
MIN = "min",
MAX = "max",
UNIQUE = "uniq",
FIRST = "first",
LAST = "last",
VARIANCE_POPULATION = "var",
VARIANCE_SAMPLE = "var_sample",
STANDARD_DEVIATION_POPULATION = "std",
STANDARD_DEVIATION_SAMPLE = "std_sample",
JOIN_STRINGS = "strjoin"
}
export declare enum DataCubeQueryClientSideAggregateOperator {
SUM = "sum",
AVERAGE = "avg",
MEDIAN = "median",
COUNT = "count",
MIN = "min",
MAX = "max",
VARIANCE_POPULATION = "var",
VARIANCE_SAMPLE = "var_sample",
STANDARD_DEVIATION_POPULATION = "std",
STANDARD_DEVIATION_SAMPLE = "std_sample"
}
export declare enum DataCubeQueryFilterOperator {
LESS_THAN = "<",
LESS_THAN_OR_EQUAL = "<=",
EQUAL = "=",
NOT_EQUAL = "!=",
GREATER_THAN = ">",
GREATER_THAN_OR_EQUAL = ">=",
IN = "in",
NOT_IN = "not in",
IS_NULL = "is null",
IS_NOT_NULL = "is not null",
EQUAL_CASE_INSENSITIVE = "= (case-insensitive)",
NOT_EQUAL_CASE_INSENSITIVE = "!= (case-insensitive)",
IN_CASE_INSENSITIVE = "in (case-insensitive)",
NOT_IN_CASE_INSENSITIVE = "not in (case-insensitive)",
CONTAIN = "contains",
CONTAIN_CASE_INSENSITIVE = "contains (case-insensitive)",
NOT_CONTAIN = "does not contain",
START_WITH = "starts with",
START_WITH_CASE_INSENSITIVE = "starts with (case-insensitive)",
NOT_START_WITH = "does not start with",
END_WITH = "ends with",
END_WITH_CASE_INSENSITIVE = "ends with (case-insensitive)",
NOT_END_WITH = "does not end with",
LESS_THAN_COLUMN = "< value in column",
LESS_THAN_OR_EQUAL_COLUMN = "<= value in column",
EQUAL_COLUMN = "= value in column",
EQUAL_CASE_INSENSITIVE_COLUMN = "= (case-insensitive) value in column",
NOT_EQUAL_COLUMN = "!= value in column",
NOT_EQUAL_CASE_INSENSITIVE_COLUMN = "!= (case-insensitive) value in column",
GREATER_THAN_COLUMN = "> value in column",
GREATER_THAN_OR_EQUAL_COLUMN = ">= value in column"
}
export declare enum DataCubeQueryFilterGroupOperator {
AND = "and",
OR = "or"
}
export declare enum DataCubeQuerySortDirection {
ASCENDING = "Ascending",
DESCENDING = "Descending"
}
export declare enum DataCubeColumnPinPlacement {
LEFT = "Left",
RIGHT = "Right"
}
export declare enum DataCubeColumnDataType {
NUMBER = "Numeric",
TEXT = "Text",
DATE = "Date",
TIME = "Time"
}
export declare enum DataCubeGridMode {
STANDARD = "Standard",
MULTIDIMENSIONAL = "Multidimensional"
}
export declare enum DataCubeClientModelOption {
ROW_DATA = "rowData",
COLUMN_DEFS = "columnDefs",
LOADING = "loading"
}
export declare enum DataCubeTitleBarMenuItems {
VIEW_SOURCE = "View Source",
RESET_TO_LATEST_SAVE = "Reset to Latest Save",
UPDATE_INFO = "Update Info...",
DELETE_DATACUBE = "Delete DataCube...",
SEE_DOCUMENTATION = "See Documentation",
ABOUT = "About",
UNDO = "Undo",
REDO = "Redo",
SETTINGS = "Settings..."
}
export declare enum DataCubeOpenEditorSource {
STATUS_BAR = "Status Bar",
GRID_MENU = "Grid Menu"
}
export declare const PIVOT_COLUMN_NAME_VALUE_SEPARATOR = "__|__";
export declare const TREE_COLUMN_VALUE_SEPARATOR = "__/__";
export declare const DEFAULT_LAMBDA_VARIABLE_NAME = "x";
export declare const DEFAULT_REPORT_NAME = "New Report";
export declare const DEFAULT_TREE_COLUMN_SORT_DIRECTION = DataCubeQuerySortDirection.ASCENDING;
export declare const DEFAULT_PIVOT_STATISTIC_COLUMN_NAME = "Total";
export declare const DEFAULT_PIVOT_COLUMN_SORT_DIRECTION = DataCubeQuerySortDirection.ASCENDING;
export declare const DEFAULT_ROOT_AGGREGATION_COLUMN_VALUE = "[ROOT]";
export declare const DEFAULT_URL_LABEL_QUERY_PARAM = "dataCube.linkLabel";
export declare const DEFAULT_MISSING_VALUE_DISPLAY_TEXT = "";
export declare const DEFAULT_GRID_LINE_COLOR: string;
export declare const DEFAULT_ROW_HIGHLIGHT_BACKGROUND_COLOR = "#d7e0eb";
export declare const DEFAULT_COLUMN_WIDTH = 300;
export declare const DEFAULT_COLUMN_MIN_WIDTH = 50;
export declare const DEFAULT_COLUMN_MAX_WIDTH: undefined;
export declare const DEFAULT_GRID_MODE = DataCubeGridMode.STANDARD;
export declare const DEFAULT_FONT_FAMILY = DataCubeFont.ROBOTO;
export declare const DEFAULT_FONT_SIZE = 11;
export declare const DEFAULT_FONT_BOLD = false;
export declare const DEFAULT_FONT_ITALIC = false;
export declare const DEFAULT_FONT_CASE: undefined;
export declare const DEFAULT_FONT_UNDERLINED: undefined;
export declare const DEFAULT_FONT_STRIKETHROUGH = false;
export declare const DEFAULT_TEXT_ALIGN = DataCubeFontTextAlignment.LEFT;
export declare const DEFAULT_FOREGROUND_COLOR: string;
export declare const DEFAULT_BACKGROUND_COLOR: string;
export declare const DEFAULT_ROW_BACKGROUND_COLOR: string;
export declare const DEFAULT_NEGATIVE_FOREGROUND_COLOR: string;
export declare const DEFAULT_ZERO_FOREGROUND_COLOR: string;
export declare const DEFAULT_ERROR_FOREGROUND_COLOR: string;
export declare const TAB_SIZE = 2;
export declare const DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
export declare const TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH = 3;
export declare const TYPEAHEAD_SEARCH_LIMIT = 10;
export declare const EMPTY_VALUE_PLACEHOLDER = "(None)";
export declare function _defaultPrimitiveTypeValue(type: string): unknown;
export declare function getFilterOperation(operator: string, operators: DataCubeQueryFilterOperation[]): DataCubeQueryFilterOperation;
export declare function getAggregateOperation(operator: string, aggregateOperations: DataCubeQueryAggregateOperation[]): DataCubeQueryAggregateOperation;
export declare function getDataType(type: string): DataCubeColumnDataType;
export declare function ofDataType(type: string, dataTypes: DataCubeColumnDataType[]): boolean;
export declare function isDimensionalGridMode(gridMode: DataCubeGridMode): gridMode is DataCubeGridMode.MULTIDIMENSIONAL;
export declare function isPrimitiveType(type: string): boolean;
export declare function isPivotResultColumnName(columnName: string): boolean;
export declare function getPivotResultColumnBaseColumnName(columnName: string): string;
//# sourceMappingURL=DataCubeQueryEngine.d.ts.map