В выражениях можно использовать различные типы функций.
Разделы:
Аналитические функции позволяют исследовать данные с помощью моделей, например прогнозов, линий трендов и кластеров. Можно также перетащить аналитические функции в редактор рабочей книги.
Можно также добавить в рабочую книгу прогнозы, линии трендов и кластеры, выбрав их на вкладке "Аналитика" в панели данных рабочей книги. См. раздел Добавление функций статического анализа в визуализации.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
CLUSTER |
|
Эта функция группирует набор записей по одному или нескольким входным выражениям, используя метод k-средних или иерархическую кластеризацию. |
|
FORECAST |
Пример прогноза доходов по дням В этом примере выбирается прогноз доходов по дням. FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target, ("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue Пример прогноза доходов по году и кварталу В этом примере выбирается прогноз доходов по году и кварталу. FORECAST("A - Sample Sales"."Base Facts"."1- Revenue", ("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue |
Создает модель временного ряда указанного показателя над серией данных, используя экспоненциальную аппроксимацию (ETS), Seasonal ARIMA, ARIMA или Prophet. Эта функция выводит прогноз для набора периодов, как указано в аргументе numPeriods. См. также ниже дополнительные параметры функции FORECAST. |
FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])
Где:
См. также ниже дополнительные параметры функции FORECAST. |
OUTLIER |
|
Эта функция классифицирует запись как выброс по одному или нескольким входным выражениям, используя метод k-средних, иерархическую кластеризацию или алгоритмы обнаружения выбросов в многомерных данных. |
|
REGR |
|
Эта функция выполняет аппроксимацию по линейной модели и возвращает подобранные значения или модель. Эту функцию можно использовать для аппроксимации линейной кривой по двум показателям. |
|
TRENDLINE |
|
Oracle рекомендует при просмотре визуализации применить линию тренда с помощью свойства Добавить статистику. См. раздел "Настройка свойств визуализации". Эта функция выполняет аппроксимацию по линейной, полиномиальной или экспоненциальной модели и возвращает подобранные значения или модель. Значение numeric_expr представляет значение Y для тренда, а series (столбцы времени) представляет значение X. |
|
Параметры функции FORECAST В таблице ниже перечислены параметры, которые можно использовать с функцией FORECAST
.
Имя параметра | Значения | Описание |
---|---|---|
numPeriods | Целое число | Количество периодов для прогнозирования. |
predictionInterval | От 0 до 100, где более высокие значения указывают более высокую степень достоверности | Уровень достоверности прогнозирования. |
modelType |
ETS (экспоненциальная аппроксимация) SeasonalArima ARIMA Prophet |
Модель, используемая для прогнозирования. |
useBoxCox |
TRUE FALSE |
Если TRUE, используйте преобразование Бокса-Кокса. |
lambdaValue | Неприменимо |
Параметр преобразования Бокса-Кокса. Игнорируется, если NULL или В противном случае данные преобразуются до оценки модели. |
trendDamp |
TRUE FALSE |
Используется только в модели экспоненциального сглаживания Если TRUE, используйте затухающий тренд. Если FALSE или NULL, используйте незатухающий тренд. |
errorType |
Неприменимо |
Используется только в модели экспоненциального сглаживания |
trendType |
N (нет) A (аддитивный) M (мультипликативный) Z (автоматически выбранный) |
Используется только в модели экспоненциального сглаживания |
seasonType |
N (нет) A (аддитивный) M (мультипликативный) Z (автоматически выбранный) |
Используется только в модели экспоненциального сглаживания |
modelParamIC |
ic_auto ic_aicc ic_bic ic_auto (по умолчанию) |
Информационный критерий (IC), используемый при выборе модели. |
Функции преобразования преобразуют значение из одной формы в другую.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
CAST |
|
Меняет тип данных выражения или нулевого литерала на другой тип данных. Например, можно привести к другому типу данных элемент customer_name (с типом данных Функция Не используйте |
|
IFNULL |
|
Проверяет, равняется ли значение выражения неопределенному значению, и, если равняется, присваивает выражению указанное значение. |
|
INDEXCOL |
|
Использует внешние данные для возврата соответствующего столбца подключенному к системе пользователю. |
|
NULLIF |
|
Используется для сравнения двух выражений. Если они равны, функция возвращает неопределенное значение (NULL). Если они не равны, функция возвращает первое выражение. Указывать литерал NULL в качестве первого выражения нельзя. |
|
To_DateTime |
|
Преобразует строковые литералы формата DateTime в тип данных DateTime. |
|
VALUEOF |
|
Ссылается на значение переменной семантической модели в фильтре. Переменные expr используются как аргументы функции |
|
Эти функции рассчитывают или округляют значения меток времени до ближайшего заданного значения времени (например, часа, дня, недели, месяца или квартала).
Рассчитанные метки времени применяются для агрегирования данных с использованием другого типа детализации. Например, можно применить функцию EXTRACTDAY()
к датам заказа на продажу, чтобы рассчитать метку времени на полночь в день оформления заказов и агрегировать данные по дням.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
Извлечение дня |
EXTRACTDAY("Order Date")
|
Возвращает метку времени на полночь (12 AM) в день, когда появляется входное значение. Например, если 22 февраля входной меткой времени является 3:02:01 AM, функция возвращает метку времени на 12:00:00 AM 22 февраля. |
|
Извлечение часов |
EXTRACTHOUR("Order Date")
|
Возвращает метку времени на начало часа, в течение которого появляется входное значение. Например, если входной меткой времени является 11:18:30 PM, функция возвращает метку времени на 11:00:00 PM. |
|
Извлечение часов дня |
EXTRACTHOUROFDAY("Order Date")
|
Возвращает метку времени, где час соответствует часу входного значения со значениями года, месяца, дня, минут и секунд по умолчанию. |
|
Извлечение миллисекунд |
EXTRACTMILLISECOND("Order Date")
|
Возвращает метку времени с миллисекундами для входного значения. Например, если входной меткой времени является 15:32:02.150, функция возвращает метку времени на 15:32:02.150. |
|
Извлечение минут |
EXTRACTMINUTE("Order Date")
|
Возвращает метку времени на начало минуты, в течение которой появляется входное значение. Например, если входной меткой времени является 11:38:21 PM, функция возвращает метку времени на 11:38:00 PM. |
|
Извлечение месяца |
EXTRACTMONTH("Order Date")
|
Возвращает метку времени на первый день месяца, в котором появляется входное значение. Например, если входной меткой времени является 22 февраля, функция возвращает метку времени на 1 февраля. |
|
Извлечение квартала |
EXTRACTQUARTER("Order Date")
|
Возвращает метку времени на первый день квартала, в котором появляется входное значение. Например, если входная метка времени появляется в третьем финансовом квартале, функция возвращает метку времени на 1 июля. |
|
Извлечение секунд |
EXTRACTSECOND("Order Date")
|
Возвращает метку времени для входного значения. Например, если входной меткой времени является 15:32:02.150, функция возвращает метку времени на 15:32:02. |
|
Извлечение недели |
EXTRACTWEEK("Order Date")
|
Возвращает дату первого дня недели (воскресенье), на которой появляется входное значение. Например, если входная метка времени появляется в среду, 24 сентября, функция возвращает метку времени на воскресенье, 21 сентября. Примечание. Если первый день недели (т. е. воскресенье) приходится на предыдущий год и тем самым отрицательно влияет на агрегацию, функция возвращает седьмой день недели (субботу) текущим годом вместо первого дня недели, относящегося к предыдущему году. Например, 1/1/24, 1/2/24 и 1/3/24 агрегируются по субботе 1/6/24 вместо воскресенья 12/29/23. |
|
Извлечение года |
EXTRACTYEAR("Order Date")
|
Возвращает метку времени на 1 января года, в котором появляется входное значение. Например, если входная метка времени появляется в 1967 г., функция возвращает метку времени на 1 января 1967 г. |
|
Предлагаем несколько советов, которые позволят получить наилучшие результаты при использовании дат предметной области в расчетах.
Добавление даты предметной области к расчету
Если перетащить дату из предметной области прямо в расчет и обработать ее как строку или целое число, произойдет ошибка. Это происходит из-за того, что в основе даты лежит метка времени.
Вместо этого для интерпретации даты нужно использовать Функции извлечения даты.
Например, у вас есть следующие даты предметной области.
.png
Чтобы извлечь из них месяцы, используйте функцию ExtractMonthOfYear:
case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') THEN 'Q1' ELSE 'Rest of the year' END
Функции отображения применяются к набору результатов запроса.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
BottomN |
|
Возвращает n наименьших значений выражения в порядке от наименьшего к наибольшему. |
|
FILTER |
|
Служит для вычисления выражения с помощью заданного фильтра предварительной агрегации. |
|
MAVG |
|
Служит для вычисления скользящего среднего (усредненного значения) для последних n строк данных набора результатов, включая текущую строку. |
|
MSUM |
|
Служит для вычисления скользящей суммы для последних n строк данных, включая текущую строку. Сумма для первой строки равна значению числового выражения первой строки. Сумма второй строки вычисляется как сумма первых двух строк данных и т. д. После достижения n-й строки данных вычисляется сумма последних n строк данных. |
|
NTILE |
|
Определяет ранг значения из заданного пользователям диапазона. Возвращает целые значения, представляющие произвольный диапазон рангов. В примере показан диапазон значений от 1 до 100, где наименьший объем продаж = 1, а наибольший объем продаж = 100. |
|
PERCENTILE |
|
Служит для вычисления ранга процентиля для каждого значения, удовлетворяющего аргументу числового выражения. Ранги процентиля находятся в пределах от 0 (первый процентиль) до 1 (сотый процентиль) включительно. |
|
RANK |
|
Служит для вычисления ранга каждого значения, удовлетворяющего аргументу числового выражения. Наибольшему значению присваивается ранг 1, а каждому следующему по порядку рангу присваивается следующее по порядку целое число (2, 3, 4,...). Если имеется несколько равных значений, им присваивается одинаковый ранг (например, 1, 1, 1, 4, 5, 5, 7...). |
|
RCOUNT |
|
Принимает в качестве входных данных набор записей и подсчитывает число записей, обнаруженных к текущему моменту. |
|
RMAX |
|
Принимает в качестве входных данных набор записей и отображает максимальное значение записей, обнаруженных к текущему моменту. Указанный тип данных должен поддерживать упорядочение. |
|
RMIN |
|
Принимает в качестве входных данных набор записей и отображает минимальное значение записей, обнаруженных к текущему моменту. Указанный тип данных должен поддерживать упорядочение. |
|
RSUM |
|
Служит для вычисления скользящей суммы для всех обнаруженных к текущему моменту записей. Сумма для первой строки равна значению числового выражения первой строки. Сумма второй строки вычисляется как сумма первых двух строк данных и т. д. |
|
TOPN |
|
Возвращает n наибольших значений выражения в порядке от наибольшего к наименьшему. |
|
Советы по использованию функций отображения
filter (<measure> using fiscal_quarter = 'Q4')
filter (<measure> using fiscal_quarter = 'Q3')
filter (<measure> using fiscal_year = 'FY24')
Оценочные функции — это функции базы данных, которые могут передаваться в выражения для более сложных вычислений.
Для функций встроенной базы данных может потребоваться один или несколько столбцов. В функции на эти столбцы ссылается элемент %1 ... %N. Фактические столбцы должны быть перечислены после функции.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
EVALUATE |
|
Передает указанную функцию базы данных с дополнительными ссылочными столбцами в качестве параметров на оценку в базу данных. |
|
EVALUATE_AGGR |
|
Передает указанную функцию базы данных с дополнительными ссылочными столбцами в качестве параметров на оценку в базу данных. Эта функция предназначена для функций агрегирования с фразой |
|
Описанные в этом разделе математические функции выполняют математические операции.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
ABS |
|
Вычисление абсолютного значения числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
ACOS |
|
Вычисление арккосинуса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
ASIN |
|
Вычисление арксинуса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
ATAN |
|
Вычисления арктангенса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
ATAN2 |
|
Служит для вычисления арктангенса y/x, где y — первое числовое выражение, а x — второе числовое выражение. |
|
CEILING |
|
Округление нецелого числового выражения до ближайшего целого числа в сторону увеличения. Если результатом числового выражения является целое число, функция |
|
COS |
|
Вычисление косинуса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
COT |
|
Вычисление котангенса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
DEGREES |
|
Служит для преобразования выражения из радиан в градусы expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
EXP |
|
Служит для возведения значения в указанную степень Вычисляет значение e в степени n, где e — основание натурального логарифма. |
|
ExtractBit |
|
Извлекает бит в конкретной позиции целого числа. Возвращает целое число, 0 или 1, соответствующее позиции бита. |
|
FLOOR |
|
Округление нецелого числового выражения до ближайшего целого числа в сторону уменьшения. Если результатом числового выражения является целое число, функция |
FLOOR(expr) |
LOG |
|
Служит для вычисления натурального логарифма выражения expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
LOG10 |
|
Служит для вычисления десятичного логарифма выражения expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
MOD |
|
Делит первое числовое выражение на второе числовое выражение и возвращает остаток от деления. |
|
PI |
|
Возвращает значение числа пи. |
|
POWER |
|
Возводит первое численное выражение в степень, которая равна второму численному выражению. |
|
RADIANS |
|
Служит для преобразования выражения из градусов в радианы. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
RAND |
|
Служит для получения псевдослучайного числа между 0 и 1. |
|
RANDFromSeed |
|
Служит для получения псевдослучайного числа, вычисление которого базируется на начальном значении. Для одинаковых начальных значений вырабатываются одинаковые наборы псевдослучайных чисел. |
|
ROUND |
|
Округляет числовое выражение с точностью до n десятичных знаков. expr — любое выражение, в результате вычисления которого получается числовое значение. integer — любое положительное целое число, которое представляет число значащих разрядов |
|
SIGN |
|
Возвращает следующее:
|
|
SIN |
|
Вычисление синуса числового выражения. |
|
SQRT |
|
Вычисление квадратного корня аргумента числового выражения. Результатом вычисления числового выражения аргумента должно быть неотрицательное число. |
|
TAN |
|
Вычисление тангенса числового выражения. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
TRUNCATE |
|
Усекает десятичное число и возвращает число с заданным количеством десятичных знаков. expr — любое выражение, в результате вычисления которого получается числовое значение. integer — любое положительное целое число, представляющее количество символов справа от десятичной точки в возвращаемом числе. |
|
Функции агрегирования выполняют операции над несколькими значениями для получения сводного результата.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
MAVG |
Служит для вычисления скользящего среднего (усредненного значения) для последних n строк данных набора результатов, включая текущую строку. expr —любое выражение, в результате вычисления которого получается числовое значение. integer — любое положительное целое число. Представляет среднее для последних n строк данных. |
|
|
MSUM |
|
Служит для вычисления скользящей суммы для последних n строк данных, включая текущую строку. expr —любое выражение, в результате вычисления которого получается числовое значение. integer — любое положительное целое число. Представляет сумму последних n строк данных. |
|
RSUM |
|
Служит для вычисления скользящей суммы для всех обнаруженных к текущему моменту записей. expr — любое выражение, в результате вычисления которого получается числовое значение. |
|
RCOUNT |
|
Принимает в качестве входных данных набор записей и подсчитывает число записей, обнаруженных к текущему моменту. expr — выражение произвольного типа данных. |
|
RMAX |
|
Принимает в качестве входных данных набор записей и отображает максимальное значение записей, обнаруженных к текущему моменту. expr — выражение произвольного типа данных. |
|
RMIN |
|
Принимает в качестве входных данных набор записей и отображает минимальное значение записей, обнаруженных к текущему моменту. expr — выражение произвольного типа данных. |
|
Пространственные функции позволяют выполнять географический анализ при моделировании данных. Например, можно рассчитать расстояние между двумя географическими областями (называемыми фигурами или полигонами).
Примечание.:
Такие пространственные функции нельзя использовать в пользовательских расчетах для рабочих книг с визуализацией.Функция | Пример | Описание | Синтаксис |
---|---|---|---|
GeometryArea |
|
Вычисление площади, занимаемой фигурой. |
|
GeometryDistance |
|
Расчет расстояния между двумя фигурами. |
|
GeometryLength |
|
Расчет окружности фигуры. |
|
GeometryRelate |
|
Определяет, находится ли одна фигура внутри другой. Возвращает TRUE или FALSE в виде строки (varchar). |
|
GeometryWithinDistance |
|
Определяет, находятся ли две фигуры на определенном расстоянии друг от друга. Возвращает TRUE или FALSE в виде строки (varchar). |
|
Строковые функции служат для выполнения различных операций с символами. Они применяются к символьным строкам.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
ASCII |
|
Преобразование строки, состоящей из одного символа, в соответствующий код ASCII (число от 0 до 255). Если символьное выражение содержит несколько символов, возвращается ASCII-код первого символа в выражении. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
BIT_LENGTH |
|
Возвращает длину указанной строки в битах. Длина каждого символа Unicode — 2 байта (16 битов). expr — любое выражение, в результате вычисления которого получается строка символов. |
|
CHAR |
|
Преобразует числовое значение от 0 до 255 в символьное значение, ASCII-код которого соответствует этому значению. expr — любое выражение, в результате вычисления которого получается числовое значение от 0 до 255. |
|
CHAR_LENGTH |
|
Возвращает длину указанной строки, выраженную количеством символов. Начальные и конечные пробелы не учитываются в длине строки. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
CONCAT |
|
Объединяет две строки символов. expr — выражение, в результате вычисления которого получаются строки символов, разделенные запятыми. Для функции |
|
INSERT |
|
Вставка заданной строки символов в указанное местоположение в другой строке символов. expr1 — любое выражение, в результате вычисления которого получается строка символов. Определяет целевую строку символов. integer1 — любое положительное целое число, представляющее количество символов от начала целевой строки, после которых требуется вставить вторую сроку. integer2 — любое положительное целое число, представляющее количество символов в целевой строке, которое требуется заменить второй строкой. expr2 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку символов, которую требуется вставить в целевую строку. |
|
LEFT |
|
Возвращает заданное количество символов в начале строки. expr — любое выражение, в результате вычисления которого получается строка символов. integer — любое положительное целое число, представляющее количество символов от левого края строки, которое возвращается в качестве результата. |
|
LENGTH |
|
Возвращает длину указанной строки, выраженную количеством символов. Символы пробела в конце строки не учитываются. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
LOCATE |
|
Возвращает номер позиции строки символов в другой строке символов. Если строка символов не найдена в выбранной строке, функция возвращает значение 0. expr1 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку, которую требуется найти. expr2 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку символов, в которой выполняется поиск. |
|
LOCATEN |
|
Подобно функции LOCATE, возвращает номер позиции строки символов в другой строке символов. LOCATEN включает целочисленный аргумент, который позволяет указать позицию начала поиска. expr1 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку, которую требуется найти. expr2 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку символов, в которой выполняется поиск. integer — любое положительное (ненулевое) целое число, представляющее начальную позицию, с которой начинается поиск данной строки символов. |
|
LOWER |
|
Преобразование строки символов в нижний регистр. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
OCTET_LENGTH |
|
Возвращает число байтов указанной строки. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
POSITION |
|
Возвращает номер позиции элемента strExpr1 в символьном выражении. Если элемент strExpr1 не найден, функция возвращает значение 0. expr1 — любое выражение, в результате вычисления которого получается строка символов. Определяет строку, поиск которой следует выполнить в целевой строке. Например, "d". expr2 — любое выражение, в результате вычисления которого получается строка символов. Определяет целевую строку символов, в которой осуществляется поиск. Например, "abcdef". |
|
REPEAT |
|
Повторяет указанное выражение n раз. expr — любое выражение, в результате вычисления которого получается строка символов. integer — любое положительное целое число, представляющее количество вхождений заданной строки символов. |
|
REPLACE |
|
Замена одного или нескольких символов в указанном символьном выражении другим символом или несколькими другими символами. expr1 — любое выражение, в результате вычисления которого получается строка символов. Это строка символов, в которой требуется выполнить замену символов. expr2 — любое выражение, в результате вычисления которого получается строка символов. Вторая строка определяет символы из первой строки, которые требуется заменить. expr3 — любое выражение, в результате вычисления которого получается строка символов. Третья строка задает символы, которые требуется подставить в первую строку. |
|
RIGHT |
|
Возвращает заданное количество символов в конце строки. expr — любое выражение, в результате вычисления которого получается строка символов. integer — любое положительное целое число, представляющее количество символов от правого края строки, которое возвращается в качестве результата. |
|
SPACE |
|
Выполняет вставку пробелов. integer — положительное целое число, задающее количество пробелов, которое требуется вставить. |
|
SUBSTRING |
|
Создание новой строки, начинающейся после фиксированного количества символов в исходной строке. expr — любое выражение, в результате вычисления которого получается строка символов. startPos — любое положительное целое число, представляющее количество символов от начала строки с левой стороны, с которого начинается результат. |
|
SUBSTRINGN |
|
Подобно функции SUBSTRING создает новую строку, начинающуюся с фиксированного числа символов исходной строки. SUBSTRINGN включает целочисленный аргумент, который позволяет указать длину новой строки в символах. expr — любое выражение, в результате вычисления которого получается строка символов. startPos — любое положительное целое число, представляющее количество символов от начала строки с левой стороны, с которого начинается результат. |
|
TrimBoth |
|
Удаление указанных символов в начале и в конце строки. char — любой отдельный символ. Если не задан символ (и обязательные одинарные кавычки), по умолчанию используется пустой символ. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
TRIMLEADING |
|
Удаление указанных символов в начале строки. char — любой отдельный символ. Если не задан символ (и обязательные одинарные кавычки), по умолчанию используется пустой символ. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
TRIMTRAILING |
|
Удаление указанных символов в конце строки. char — любой отдельный символ. Если не задан символ (и обязательные одинарные кавычки), по умолчанию используется пустой символ. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
UPPER |
|
Преобразование строки символов в верхний регистр. expr — любое выражение, в результате вычисления которого получается строка символов. |
|
Вот несколько советов по использованию функции LISTAGG для получения наилучших результатов при обработке строк в рабочих книгах. Например, может потребоваться создать строку, содержащую все города в столбце данных.
Объединение нескольких значений:
Для объединения нескольких значений в одну ячейку и одну строку используйте LISTAGG.
LISTAGG([DISTINCT] <column to concatenate> BY <grouping column>) ON OVERFLOW TRUNCATE
DISTINCT
— если значения не уникальны, используйте этот аргумент для удаления дубликатов значений.ON OVERFLOW TRUNCATE
— если длина результата превышает максимально допустимую, используйте этот аргумент для усечения возвращаемой строки.Number City State 12 New York New York 14 New York New York 30 Boston Massachusetts 18 Salem Massachusetts 12 Buffalo New York 10 Buffalo New York 20 Albany New York
Примеры команд и вывод
Выходные данные LISTAGG(City, ', ')
: "New York, New York, Boston, Salem, Buffalo, Buffalo, Albany"
Выходные данные LISTAGG(DISTINCT City, ', ')
: "New York, Boston, Salem, Buffalo Albany"
Выходные данные LISTAGG(City, ', ' ON OVERFLOW TRUNCATE '...')
: "New York, New York, Boston, Salem, Buffalo, ..."
Системная функция USER
возвращает значения, относящиеся к сеансу. Например, имя пользователя, с которым был выполнен вход в систему.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
DATABASE |
Возвращает имя предметной области, в которую выполнен вход. |
|
|
USER |
Возвращает имя пользователя для семантической модели, в которую выполнен вход. |
|
Функции временного ряда — это функции агрегации и прогнозирования данных на основании измерений времени. Например, можно использовать функцию AGO для расчета дохода за прошлый год.
Элементы измерения времени должны находиться на уровне такой функции или ниже. Поэтому в запрос необходимо спроецировать один или несколько столбцов, которые однозначно идентифицируют элемент на заданном уровне.
Функция | Пример | Описание | Синтаксис |
---|---|---|---|
AGO |
|
Вычисляет агрегированное значение показателя за указанный период времени в прошлом. Например, для расчета месячного дохода один год назад используйте |
Где:
|
PERIODROLLING |
|
Вычисляет агрегацию показателя за период, начало и конец которого отстоят от текущего момента времени соответственно на x и y единиц времени. Например, функция |
Где:
|
TODATE |
|
Вычисляет агрегированное значение показателя от начала периода времени до последнего периода времени (например, расчет с начала года). Например, для расчета продаж с начала года используйте |
Где:
|