Поделиться через


Выражения и функции фабрики данных в Microsoft Fabric

В этой статье содержатся сведения о выражениях и функциях, поддерживаемых фабрикой данных в Microsoft Fabric.

Выражения

Значения выражений в определении могут быть литеральными или выражениями, которые вычисляются во время выполнения. Например:

"value"

or

"@pipeline().parameters.password"

Выражения могут отображаться в любом месте строкового значения и всегда приводят к другому строковому значению. Если значение является выражением, текст выражения извлекается путем удаления знака (@). Если требуется строковый литерал, начинающийся с @, его необходимо экранировать с помощью @@. В примерах ниже показано, как вычисляются выражения.

Значение выражения Результат
"parameters" Возвращаются символы в виде 'parameters'.
"parameters[1]" Возвращаются символы в виде 'parameters[1]'.
"@@" Возвращается строка из 1 символа, содержащая символ \@\.
" @" Возвращается строка из 2 символов, содержащая символ \@\.

Выражения также могут содержаться внутри строк, где они заключаются в структуру @{ ... }, при использовании интерполяции строк. Например: "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"

При использовании интерполяции строки результатом всегда будет строка. Предположим, myNumber определено как 42, а myString — как foo:

Значение выражения Результат
"@pipeline().parameters.myString" Возвращает foo как строку.
@{pipeline().parameters.myString} Возвращает foo как строку.
"@pipeline().parameters.myNumber" Возвращает 42 как номер.
@{pipeline().parameters.myString} Возвращает 42 как строку.
"Answer is: @{pipeline().parameters.myNumber}" Возвращает строку Answer is: 42.
"@concat('Answer is: ', string(pipeline().parameters.myNumber))" Возвращает строку Answer is: 42.
Answer is: @{pipeline().parameters.myNumber} Возвращает строку Answer is: @{pipeline().parameters.myNumber}.

В действиях потока управления, таких как действие ForEach, можно предоставить массив для итерации по элементам свойств и использовать @item() для итерации по одному перечислению в действии ForEach. Например, если элементы являются массивом: [1, 2, 3], @item() возвращает 1 в первой итерации, 2 во второй итерации и 3 в третьей итерации. Можно также использовать @range(0,10) выражение для итерации 10 раз, начиная с 0, заканчивая 9.

Для записи выходных данных действия и принятия решений можно использовать @activity('activity name'). Рассмотрим веб-действие с именем Web1. Выражение для размещения выходных данных первого действия в теле второго обычно выглядит следующим образом: @activity('Web1').output или @activity('Web1').output.data, либо что-то подобное в зависимости от того, как выглядит результат первого действия.

Примеры

Пример сложных выражений

Приведенный ниже пример содержит сложное выражение, которое ссылается на глубоко вложенное поле в выходных данных действия. Чтобы создать ссылку на параметр конвейера, который вычисляет вложенное поле, используйте синтаксис [] вместо оператора точки (.) (как subfield1 и subfield2 в нашем примере) в составе выходных данных действия.

@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*

Наиболее распространенная схема — динамическое создание файлов и их именование. Давайте изучим несколько примеров динамического именования файлов.

  • Добавление даты в имя файла: @concat('Test_', formatDateTime(utcnow(), 'yyyy-dd-MM'))
  • Добавление даты и времени в часовой пояс клиента: @concat('Test_', convertFromUtc(utcnow(), 'Pacific Standard Time'))
  • Время триггера добавления: @concat('Test_', pipeline().TriggerTime)
  • Вывод пользовательского имени файла в поток данных сопоставления при отводе в один файл с датой: 'Test_' + toString(currentDate()) + '.csv'

В приведенных выше случаях создаются четыре динамических имени файла, начиная с Test_.

Редактор динамического содержимого

Редактор динамического содержимого автоматически экранирует символы в содержимом после завершения редактирования. Например, следующее содержимое в редакторе содержимого — это интерполяция строк с функцией выражения.

"@{toUpper('myData')}"

Редактор динамического содержимого преобразует выше содержимое в выражение "@{toUpper('myData')}". Результатом этого выражения является отформатированная строка, показанная ниже.

"MYDATA"

Замена специальных знаков

Редактор динамического содержимого автоматически экранирует символы, такие как двойная кавычка, обратная косая черта в содержимом после завершения редактирования. Это вызывает проблемы, если вы хотите заменить перевод строки или табуляцию с помощью \n, \t в функции replace(). Динамическое содержимое можно изменить в представлении кода, чтобы удалить дополнительные \ в выражении, или выполнить следующие действия, чтобы заменить специальные символы с помощью языка выражений:

  1. Кодировка URL по сравнению с исходным строковым значением
  2. Замените строку в кодировке URL, например перевод строки (%0A), возврат каретки (%0D), горизонтальную табуляцию (%09).
  3. Декодирование URL-адреса

Например, переменная companyName с символом новой строки в своем значении, выражение @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', '')) может удалить символ новой строки.

Contoso- Corporation

Экранирование одинарной кавычки

Функции выражения используют одинарные кавычки для параметров строковых значений. Используйте две одинарные кавычки для экранирования символа ' в строковых функциях. Например, выражение @concat('Baba', '''s ', 'book store') возвратит следующий результат.

Baba's book store

Переменные область конвейера

Эти системные переменные можно ссылаться в любом месте конвейера.

Имя переменной Description
@pipeline().DataFactory Имя данных или рабочая область Synapse, в которой выполняется конвейер.
@pipeline().Pipeline Имя конвейера
@pipeline().RunId ИД определенного запуска конвейера
@pipeline().TriggerId Идентификатор триггера, который вызвал конвейер.
@pipeline().TriggerName Имя триггера, который вызвал конвейер.
@pipeline().TriggerTime Время выполнения триггера, который вызвал конвейер. Это время, когда триггер реально срабатывает для вызова выполнения конвейера и может немного отличаться от запланированного времени срабатывания.
@pipeline().GroupId Идентификатор группы, к которой принадлежит выполнение конвейера.
@pipeline()?.TriggeredByPipelineName Имя конвейера, активирующее выполнение конвейера. Применяется, когда выполнение конвейера активируется действием ExecutePipeline. При использовании в других обстоятельствах будет иметь значение NULL. Обратите внимание на вопросительный знак после @pipeline()
@pipeline()?.TriggeredByPipelineRunId Идентификатор выполнения конвейера, активирующий выполнение конвейера. Применяется, когда выполнение конвейера активируется действием ExecutePipeline. При использовании в других обстоятельствах будет иметь значение NULL. Обратите внимание на вопросительный знак после @pipeline()

Примечание.

Системные переменные даты и времени, связанные с триггерами (в областях конвейера и триггера), возвращают даты по Гринвичу в формате ISO 8601, например 2017-06-01T22:20:00.4061448Z.

Функции

Внутри выражений можно вызывать функции. В следующих разделах предоставлены сведения о функциях, которые могут использоваться в выражении.

Функции данных

Функция даты и времени Задача
addDays Добавляет количество дней к метке времени.
addHours Добавляет количество часов к метке времени.
addMinutes Добавляет количество минут к метке времени.
addSeconds Добавляет количество секунд к метке времени.
addToTime Добавляет количество единиц времени к метке времени. См. раздел getFutureTime.
convertFromUtc Преобразовывает метку времени формата UTC в целевой часовой пояс.
convertTimeZone Преобразовывает метку времени из исходного часового пояса в целевой.
convertToUtc Преобразует метку времени с исходным часовым поясом в формат UTC.
dayOfMonth Возвращает компонент дня месяца из метки времени.
dayOfWeek Возвращает компонент дня недели из метки времени.
dayOfYear Возвращает компонент дня года из метки времени.
formatDateTime Возвращает метку времени в виде строки в произвольном формате.
getFutureTime Возвращает текущую метку времени, а также указанные единицы времени. См. раздел addToTime.
getPastTime Возвращает текущую метку времени, вычитая указанные единицы времени. См. раздел subtractFromTime.
startOfDay Возвращает начало дня для метки времени.
startOfHour Возвращает начало часа для метки времени.
startOfMonth Возвращает начало месяца для метки времени.
subtractFromTime Вычитает количество единиц времени из метки времени. См. раздел getPastTime.
ticks Возвращает значение свойства ticks для указанной метки времени.
utcNow Возвращает текущую метку времени в виде строки.

Строковые функции

Для работы со строками вы можете использовать эти строковые функции, а также некоторые функции для коллекций. Строковые функции работают только со строками.

Строковая функция Задача
concat Объединяет две или более строк и возвращает объединенную строку.
endsWith Проверяет, заканчивается ли строка определенной подстрокой.
guid Создает глобально уникальный идентификатор (GUID) в виде строки.
indexOf Возвращает начальную позицию подстроки.
lastIndexOf Возвращает начальную позицию последнего вхождения подстроки.
replace Заменяет подстроку указанной строкой и возвращает обновленную строку.
split Возвращает массив, содержащий подстроки, разделенные запятыми, из большей строки, основываясь на указанном символе разделителя в исходной строке.
startsWith Проверяет, начинается ли строка с определенной подстроки.
substring Возвращает символы из строки, начиная с указанной позиции.
toLower Возвращает строку символов в нижнем регистре.
toUpper Возвращает строку символов в верхнем регистре.
trim Удаляет все начальные и конечные пробелы и возвращает обновленную строку.

Функции сбора

Для работы с коллекциями, обычно массивами, строками, а иногда и словарями, вы можете использовать следующие функции.

Функция для коллекций Задача
contains Проверяет наличие определенного элемента в коллекции.
empty Проверяет, является ли коллекция пустой.
first Возвращает первый элемент из коллекции.
intersection Возвращает коллекцию, которая содержит только общие элементы в указанных коллекциях.
join Возвращает строку, содержащую все элементы из массива, в которой каждый символ отделен разделителем.
last Возвращает последний элемент из коллекции.
length Возвращает число элементов в строке или массиве.
skip Удаляет элементы из начала коллекции и возвращает все другие элементы.
take Возвращает элементы, расположенные в начале коллекции.
union Возвращает коллекцию, которая содержит все элементы из указанных коллекций.

Логические функции

Эти функции подходят для условий и могут использоваться для определения логики любого типа.

Функция логического сравнения Задача
and Проверяет, истинны ли все выражения.
equals Проверяет, эквивалентны ли оба значения.
greater Проверяет, является ли первое значение большим, чем второе.
greaterOrEquals Проверяет, является ли первое значение большим, чем второе, или равным ему.
if Проверьте, какое значение имеет выражение: true или false. Возвращает указанное значение на основе результата.
less Проверяет, является ли первое значение меньшим, чем второе.
lessOrEquals Проверяет, является ли первое значение меньшим, чем второе, или равным ему.
не Проверяет, имеет ли выражение значение false.
or Проверяет, является ли хотя бы одно выражение истинным.

Функции преобразования

Эти функции используются для преобразования между собственными типами языка:

  • строка
  • integer
  • с плавающей запятой
  • boolean
  • массивы
  • dictionaries;
Функция преобразования Задача
array. Возвращает массив из одного экземпляра указанных входных данных. Для использования нескольких входных данных см. раздел createArray.
base64 Возвращает версию строки с кодировкой base64 для заданной строки.
base64ToBinary Возвращает двоичную версию строки с кодировкой base64.
base64ToString Возвращает строковую версию строки с кодировкой base64.
binary Возвращает двоичную версию входного значения.
bool Возвращает логическую версию входного значения.
coalesce Возвращает первое ненулевое значение из одного или нескольких параметров.
createArray Возвращает массив из нескольких экземпляров входных данных.
dataUri Возвращает URI данных входного значения.
dataUriToBinary Возвращает двоичную версию строки URI данных.
dataUriToString Возвращает строковую версию URI данных.
decodeBase64 Возвращает строковую версию строки с кодировкой base64.
decodeDataUri Возвращает двоичную версию строки URI данных.
decodeUriComponent Возвращает строку, которая заменяет escape-символы декодированными версиями.
encodeUriComponent Возвращает строку, которая заменяет символы, опасные для URL-адреса, escape-символами.
float Возвращает значение с плавающей запятой в качестве входного значения.
int Возвращает целочисленную версию строки.
string Возвращает строковую версию входного значения.
uriComponent Возвращает кодированную версию URI для входного значения, заменив символы, опасные для URL-адреса, на escape-символы.
uriComponentToBinary Возвращает двоичную версию строки с закодированным URI.
uriComponentToString Возвращает строковую версию строки с закодированным URI.
xml Возвращает XML-версию строки.
xpath Проверяет XML на наличие узлов или значений, которые соответствуют выражению XPath, и возвращает соответствующие узлы или значения.

Математические функции

Эти функции могут использоваться для любого типа чисел: целых чисел и чисел с плавающей запятой.

Математическая функция Задача
добавление Возвращает результат сложения двух чисел.
div Возвращает результат деления двух чисел.
max Возвращает наибольшее значение из набора чисел или массива.
min Возвращает наименьшее значение из набора чисел или массива.
mod (модуль) Возвращает остаток результата деления двух чисел.
mul Возвращает результат умножения двух чисел.
rand Возвращает случайное целое число из указанного диапазона.
range Возвращает массив целых чисел, который начинается с заданного целого числа.
sub Вычитает второе число из первого числа и возвращает результат.

Справочник по функциям

В этом разделе перечислены все доступные функции в алфавитном порядке.

add

Возвращает результат сложения двух чисел.

add(<summand_1>, <summand_2>)
Параметр Обязательное поле Type Описание
<summand_1>, <summand_2> Да Целое число, число с плавающей запятой или смешанного типа Числа для добавления
Возвращаемое значение Тип Описание
<итоговая_сумма> Целое число и число с плавающей запятой Возвращает результат сложения указанных чисел

Пример

В этом примере добавляются указанные числа:

add(1, 1.5)

Возвращается такой результат: 2.5

addDays

Добавляет количество дней к метке времени.

addDays('<timestamp>', <days>, '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<days> Да Целое Положительное или отрицательное число дней для добавления
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени и указанное число дней

Пример 1

В этом примере к указанной метке времени добавляются 10 дней:

addDays('2018-03-15T13:00:00Z', 10)

Возвращается такой результат: "2018-03-25T00:00:0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять дней:

addDays('2018-03-15T00:00:00Z', -5)

Возвращается такой результат: "2018-03-10T00:00:0000000Z"

addHours

Добавляет количество часов к метке времени.

addHours('<timestamp>', <hours>, '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<hour>s Да Целое Положительное или отрицательное число часов для добавления
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени и указанное число часов

Пример 1

В этом примере к указанной метке времени добавляется 10 часов:

addHours('2018-03-15T00:00:00Z', 10)

Возвращается такой результат: "2018-03-15T10:00:0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять часов:

addHours('2018-03-15T15:00:00Z', -5)

Возвращается такой результат: "2018-03-15T10:00:0000000Z"

addMinutes

Добавляет количество минут к метке времени.

addMinutes('<timestamp>', <minutes>, '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<minutes> Да Целое Положительное или отрицательное число минут для добавления
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени и указанное число минут

Пример 1

В этом примере к указанной метке времени добавляется 10 минут:

addMinutes('2018-03-15T00:10:00Z', 10)

Возвращается такой результат: "2018-03-15T00:20:00.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять минут:

addMinutes('2018-03-15T00:20:00Z', -5)

Возвращается такой результат: "2018-03-15T00:15:00.0000000Z"

addSeconds

Добавляет количество секунд к метке времени.

addSeconds('<timestamp>', <seconds>, '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<seconds> Да Целое Положительное или отрицательное число секунд для добавления
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени и указанное число секунд

Пример 1

В этом примере к указанной метке времени добавляется 10 секунд:

addSeconds('2018-03-15T00:00:00Z', 10)

Возвращается такой результат: "2018-03-15T00:00:10.0000000Z"

Пример 2

В этом примере от указанной метки времени отнимается пять секунд:

addSeconds('2018-03-15T00:00:30Z', -5)

Возвращается такой результат: "2018-03-15T00:00:25.0000000Z"

addToTime

Добавляет количество единиц времени к метке времени. См. раздел getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<interval> Да Целое Число единиц времени для добавления
<timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени и указанное число единиц времени

Пример 1

В этом примере к указанной метке времени добавляется 1 день:

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

Возвращается такой результат: "2018-01-02T00:00:00.0000000Z"

Пример 2

В этом примере к указанной метке времени добавляется 1 день:

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

И возвращается результат с использованием необязательного формата "D": "Tuesday, January 2, 2018"

и

Проверяет, истинны ли все выражения. Возвращает значение true, если оба выражения истинны, и false, если хотя бы одно выражение ложно.

and(<expression1>, <expression2>)
Параметр Обязательное поле Type Описание
<expression1>, <expression2> Да Логический Выражения, которые следует проверить
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если оба выражения истинны. Возвращает значение false, если хотя бы одно выражение имеет значение false.

Пример 1

В этих примерах проверяется, оба ли указанные логические значения истинны:

and(true, true)
and(false, true)
and(false, false)

И возвращаются следующие результаты:

  • В первом примере оба выражения условия выполнены, поэтому возвращается true.
  • Во втором примере одно из выражений имеет значение false, поэтому возвращается false.
  • В третьем примере оба выражения имеют значения false, поэтому возвращается false.

Пример 2

В этих примерах проверяется, оба ли указанные выражения истинны:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

И возвращаются следующие результаты:

  • В первом примере оба выражения условия выполнены, поэтому возвращается true.
  • Во втором примере одно из выражений имеет значение false, поэтому возвращается false.
  • В третьем примере оба выражения имеют значения false, поэтому возвращается false.

array

Возвращает массив из одного экземпляра указанных входных данных. Для использования нескольких входных данных см. раздел createArray().

array('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка для создания массива
Возвращаемое значение Тип Описание
[<value>] Массив Массив, содержащий один экземпляр указанных входных данных

Пример

В этом примере создается массив из строки "hello":

array('hello')

Возвращается такой результат: ["hello"]

base64

Возвращает версию строки с кодировкой base64 для заданной строки.

base64('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка входных данных
Возвращаемое значение Тип Описание
<строка_base64> Строка Версия строки входных данных с кодировкой base64

Пример

В этом примере строка "hello" преобразуется в строку с кодировкой base64:

base64('hello')

Возвращается такой результат: "aGVsbG8="

base64ToBinary

Возвращает двоичную версию строки с кодировкой base64.

base64ToBinary('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Преобразуемая строка с кодировкой base64
Возвращаемое значение Тип Описание
<двоичная версия для строки base64> Строка Двоичная версия строки с кодировкой base64

Пример

В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в двоичную строку:

base64ToBinary('aGVsbG8=')

Возвращается такой результат:

"0110000101000111010101100111001101100010010001110011100000111101"

base64ToString

Возвращает декодированную версию строки с кодировкой base64. Используйте эту функцию вместо decodeBase64(). Хотя обе функции работают одинаково, base64ToString() является предпочтительной.

base64ToString('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Декодируемая строка с кодировкой base64.
Возвращаемое значение Тип Описание
<декодированная строка base64> Строка Строковая версия строки с кодировкой base64

Пример

В этом примере строка "aGVsbG8=" в кодировке base64 преобразуется в простую строку:

base64ToString('aGVsbG8=')

Возвращается такой результат: "hello"

binary

Возвращает двоичную версию строки.

binary('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Преобразуемая строка
Возвращаемое значение Тип Описание
<двоичная форма входного значения> Строка Двоичная версия указанной строки

Пример

В этом примере строка "hello" преобразуется в двоичную строку:

binary('hello')

Возвращается такой результат:

"0110100001100101011011000110110001101111"

bool

Возвращает логическую версию значения.

bool(<value>)
Параметр Обязательное поле Type Описание
<значение> Да Любое Значение, которое необходимо преобразовать
Возвращаемое значение Тип Описание
true или false Логический Логическая версия указанного значения

Пример

В этих примерах указанные значения преобразуются в логические:

bool(1)
bool(0)

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: false.

coalesce

Возвращает первое ненулевое значение из одного или нескольких параметров. Пустые строки, пустые массивы и пустые объекты не имеют значение NULL.

coalesce(<object_1>, <object_2>, ...)
Параметр Обязательное поле Type Описание
<object_1>, <object_2>, ... Да Любой, могут быть разные типы Один или несколько элементов для проверки на наличие значения NULL
Возвращаемое значение Тип Описание
<первый не нулевой элемент> Любое Первый элемент или значение, которое не равно NULL. Если все параметры равны NULL, эта функция возвращает значение NULL.

Пример

Эти примеры возвращают первое значение, не равное NULL, из указанных значений или равное NULL, когда все значения равны NULL:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: "hello".
  • Третий пример: null.

concat

Объединяет две или более строк и возвращает объединенную строку.

concat('<text1>', '<text2>', ...)
Параметр Обязательное поле Type Описание
<text1>, <text2>, ... Да Строка По крайней мере две строки для объединения
Возвращаемое значение Тип Описание
<текст1текст2...> Строка Строка, созданная из объединенных входных строк

Пример

В этом примере объединяются строки "Hello" и "World":

concat('Hello', 'World')

Возвращается такой результат: "HelloWorld"

содержит

Проверяет наличие определенного элемента в коллекции. Возвращает true, когда элемент найден, и false, когда не найден. Эта функция учитывает регистр.

contains('<collection>', '<value>')
contains([<collection>], '<value>')

В частности, эта функция работает с такими типами коллекций:

  • строка, чтобы найти подстроку.;
  • массив, чтобы найти значение;
  • словарь, чтобы найти ключ.
Параметр Обязательное поле Type Описание
<collection> Да Строка, массив или словарь Коллекция для проверки
<значение> Да Строка, массив или словарь соответственно Искомый элемент
Возвращаемое значение Тип Описание
true или false Логический Возвращает true, если элемент найден. В противном случае возвращает значение false.

Пример 1

В этом примере строка "hello world" проверяется на наличие подстроки "world" и возвращается значение true:

contains('hello world', 'world')

Пример 2

В этом примере строка "hello world" проверяется на наличие подстроки "universe" и возвращается значение false:

contains('hello world', 'universe')

convertFromUtc

Преобразовывает метку времени формата UTC в целевой часовой пояс.

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<destinationTimeZone> Да Строка Имя целевого часового пояса. Имена часовых поясов см. в разделе Значения часовых поясов Майкрософт, но может потребоваться удалить все знаки препинания из имени часового пояса.
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<преобразованная метка времени> Строка Метка времени, преобразованная в целевой часовой пояс

Пример 1

В этом примере метка времени преобразуется в указанный часовой пояс:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T00:00:00Z"

Пример 2

В этом примере метка времени преобразуется в указанный часовой пояс и формат:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

convertTimeZone

Преобразовывает метку времени из исходного часового пояса в целевой.

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<sourceTimeZone> Да Строка Имя исходного часового пояса. Имена часовых поясов см. в разделе Значения часовых поясов Майкрософт, но может потребоваться удалить все знаки препинания из имени часового пояса.
<destinationTimeZone> Да Строка Имя целевого часового пояса. Имена часовых поясов см. в разделе Значения часовых поясов Майкрософт, но может потребоваться удалить все знаки препинания из имени часового пояса.
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<преобразованная метка времени> Строка Метка времени, преобразованная в целевой часовой пояс

Пример 1

В этом примере исходный часовой пояс преобразуется в целевой:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T00:00:00.0000000"

Пример 2

В этом примере часовой пояс преобразуется в указанный часовой пояс и формат:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

convertToUtc

Преобразует метку времени с исходным часовым поясом в формат UTC.

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<sourceTimeZone> Да Строка Имя исходного часового пояса. Имена часовых поясов см. в разделе Значения часовых поясов Майкрософт, но может потребоваться удалить все знаки препинания из имени часового пояса.
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<преобразованная метка времени> Строка Метка времени, которая преобразуются в формат UTC

Пример 1

В этом примере метка времени преобразуется в формат UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')

Возвращается такой результат: "2018-01-01T08:00:00.0000000Z"

Пример 2

В этом примере метка времени преобразуется в формат UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')

Возвращается такой результат: "Monday, January 1, 2018"

createArray

Возвращает массив из нескольких экземпляров входных данных. Массивы из одного экземпляра входных данных см. в разделе array().

createArray('<object1>', '<object2>', ...)
Параметр Обязательное поле Type Описание
<object1>, <object2>, ... Да Любой, но не смешанный По крайней мере два элемента для создания массива
Возвращаемое значение Тип Описание
[<object1>, <object2>, ...] Массив Массив, созданный из всех входных элементов

Пример

В этом примере создается массив из этих входных элементов:

createArray('h', 'e', 'l', 'l', 'o')

Возвращается такой результат: ["h", "e", "l", "l", "o"]

dataUri

Возвращает URI данных для строки.

dataUri('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Преобразуемая строка
Возвращаемое значение Тип Описание
<URI данных> Строка URI данных для входной строки

Пример

В этом примере создается URI данных для строки "hello":

dataUri('hello')

Возвращается такой результат: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

Возвращает двоичную версию URI данных. Используйте эту функцию вместо decodeDataUri(). Хотя обе функции работают одинаково, dataUriBinary() является предпочтительной.

dataUriToBinary('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка URI данных для преобразования
Возвращаемое значение Тип Описание
<двоичная версия URI данных> Строка Двоичная версия URI данных

Пример

В этом примере создается двоичная версия этого URI данных:

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

Возвращается такой результат:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

Возвращает строковую версию URI данных.

dataUriToString('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка URI данных для преобразования
Возвращаемое значение Тип Описание
<строка URI данных> Строка Строковая версия URI данных

Пример

В этом примере создается строка этого URI данных:

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

Возвращается такой результат: "hello"

dayOfMonth

Возвращает день месяца из метки времени.

dayOfMonth('<timestamp>')
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
<день месяца> Целое День месяца из указанной метки времени

Пример

В этом примере возвращается число дня месяца из этой метки времени:

dayOfMonth('2018-03-15T13:27:36Z')

Возвращается такой результат: 15

dayOfWeek

Возвращает день недели из метки времени.

dayOfWeek('<timestamp>')
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
<день недели> Целое День недели из указанной метки времени, где воскресенье имеет значение 0, понедельник — 1 и т. д.

Пример

В этом примере возвращается номер дня недели из этой метки времени:

dayOfWeek('2018-03-15T13:27:36Z')

Возвращается такой результат: 3

dayOfYear

Возвращает день года из метки времени.

dayOfYear('<timestamp>')
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
Возвращаемое значение Тип Описание
<день года> Целое День года из указанной метки времени

Пример

В этом примере возвращается число дня года из этой метки времени:

dayOfYear('2018-03-15T13:27:36Z')

Возвращается такой результат: 74

decodeBase64

Возвращает декодированную версию строки с кодировкой base64. Используйте base64ToString() вместо decodeBase64(). Хотя обе функции работают одинаково, base64ToString() является предпочтительной.

decodeBase64('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Декодируемая строка с кодировкой base64.
Возвращаемое значение Тип Описание
<декодированная строка base64> Строка Строковая версия строки с кодировкой base64

Пример

В этом примере создается строка для строки с кодировкой base64:

decodeBase64('aGVsbG8=')

Возвращается такой результат: "hello"

decodeDataUri

Возвращает двоичную версию URI данных. Используйте dataUriToBinary() вместо decodeDataUri(). Хотя обе функции работают одинаково, dataUriToBinary() является предпочтительной.

decodeDataUri('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Декодируемая строка URI данных
Возвращаемое значение Тип Описание
<двоичная версия URI данных> Строка Двоичная версия строки URI данных

Пример

В этом примере возвращается двоичная версия этого URI данных:

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

Возвращается такой результат:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

Возвращает строку, которая заменяет escape-символы декодированными версиями.

decodeUriComponent('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка с декодируемыми escape-символами
Возвращаемое значение Тип Описание
<декодированный URI> Строка Обновленная строка с декодированными escape-символами

Пример

В этом примере escape-символы в этой строке заменяются декодированными версиями:

decodeUriComponent('http%3A%2F%2Fcontoso.com')

Возвращается такой результат: "https://contoso.com"

div

Возвращает целочисленный результат деления двух чисел. Чтобы получить остаток, см. раздел mod().

div(<dividend>, <divisor>)
Параметр Обязательное поле Type Описание
<dividend> Да Целое число и число с плавающей запятой Число, которое нужно поделить на делитель
<divisor> Да Целое число и число с плавающей запятой Число, разделяющее дивиденды, но не может быть 0
Возвращаемое значение Тип Описание
<результат деления> Целое Целое число в результате деления первого числа на второе

Пример

В обоих примерах первое число делится на второе:

div(10, 5)
div(11, 5)

Возвращается результат: 2

encodeUriComponent

Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Используйте uriComponent() вместо encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() является предпочтительной.

encodeUriComponent('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка для преобразования в формат закодированного URI
Возвращаемое значение Тип Описание
<закодированный URI> Строка Строка с закодированным URI, содержащая escape-символы

Пример

В этом примере создается версия с закодированным URI для этой строки:

encodeUriComponent('https://contoso.com')

Возвращается такой результат: "http%3A%2F%2Fcontoso.com"

empty

Проверяет, является ли коллекция пустой. Возвращает значение true, если коллекция пуста, или false, если нет.

empty('<collection>')
empty([<collection>])
Параметр Обязательное поле Type Описание
<collection> Да Строка, массив или объект Коллекция для проверки
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если коллекция пуста. В противном случае возвращает значение false.

Пример

В этих примерах проверяется, являются ли указанные коллекции пустыми:

empty('')
empty('abc')

И возвращаются следующие результаты:

  • В первом примере передается пустая строка, поэтому функция возвращает true.
  • Во втором примере передается строка "abc", поэтому функция возвращает false.

endsWith

Проверяет, заканчивается ли строка определенной подстрокой. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.

endsWith('<text>', '<searchText>')
Параметр Обязательное поле Type Описание
<text> Да Строка Проверяемая строка
<searchText> Да Строка Конечная подстрока для поиска
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если конечная подстрока обнаружена. В противном случае возвращает значение false.

Пример 1

В этом примере проверяется, заканчивается ли строка "hello world" строкой "world":

endsWith('hello world', 'world')

Возвращается такой результат: true

Пример 2

В этом примере проверяется, заканчивается ли строка "hello world" строкой "universe":

endsWith('hello world', 'universe')

Возвращается такой результат: false

равно

Проверяет, эквивалентны ли оба значения, выражения или объекта. Возвращается значение true, если они эквивалентны, или false, если нет.

equals('<object1>', '<object2>')
Параметр Обязательное поле Type Описание
<object1>, <object2> Да Various Значения, выражения или объекты для сравнения
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если оба значения эквивалентны. В противном случае возвращает значение false.

Пример

В этих примерах проверяется, являются ли указанные входные данные эквивалентными.

equals(true, 1)
equals('abc', 'abcd')

И возвращаются следующие результаты:

  • В первом примере оба значения эквивалентны, поэтому функция возвращает true.
  • Во втором примере оба значения не эквивалентны, поэтому функция возвращает false.

первая

Возвращает первый элемент из строки или массива.

first('<collection>')
first([<collection>])
Параметр Обязательное поле Type Описание
<collection> Да Строка или массив Коллекция, где нужно найти первый элемент.
Возвращаемое значение Тип Описание
<первый элемент коллекции> Любое Первый элемент в коллекции

Пример

В этих примерах выполняется поиск первого элемента в этих коллекциях:

first('hello')
first(createArray(0, 1, 2))

И возвращаются следующие результаты:

  • Первый пример: "h".
  • Второй пример: 0.

с плавающей запятой

Преобразует строковую версию числа с плавающей запятой в фактическое число с плавающей запятой.

float('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка с допустимым числом с плавающей запятой, которую нужно преобразовать
Возвращаемое значение Тип Описание
<значение с плавающей запятой> Тип с плавающей запятой Число с плавающей запятой для указанной строки

Пример

В этом примере создается строковая версия для этого числа с плавающей запятой:

float('10.333')

Возвращается такой результат: 10.333

formatDateTime

Возвращает метку времени в указанном формате.

formatDateTime('<timestamp>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<метка времени в другом формате> Строка Обновленная метка времени в указанном формате

Пример

В этом примере метка времени преобразуется в указанный формат:

formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')

Возвращается такой результат: "2018-03-15T12:00:00"

getFutureTime

Возвращает текущую метку времени, а также указанные единицы времени.

getFutureTime(<interval>, <timeUnit>, <format>?)
Параметр Обязательное поле Type Описание
<interval> Да Целое Число единиц времени для добавления
<timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Текущая метка времени и указанное число единиц времени

Пример 1

Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере к этой метке времени добавляется пять дней:

getFutureTime(5, 'Day')

Возвращается такой результат: "2018-03-06T00:00:00.0000000Z"

Пример 2

Допустим, текущая метка времени такая: "2018-03-01T00:00:00.0000000Z". В этом примере добавляется пять дней и результат преобразуется в формат "D":

getFutureTime(5, 'Day', 'D')

Возвращается такой результат: "Tuesday, March 6, 2018"

getPastTime

Возвращает текущую метку времени, вычитая указанные единицы времени.

getPastTime(<interval>, <timeUnit>, <format>?)
Параметр Обязательное поле Type Описание
<interval> Да Целое Число единиц времени для вычитания
<timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Текущая метка времени за вычетом указанного числа единиц времени

Пример 1

Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере от указанной метки времени отнимается пять дней.

getPastTime(5, 'Day')

Возвращается такой результат: "2018-01-27T00:00:00.0000000Z"

Пример 2

Допустим, текущая метка времени такая: "2018-02-01T00:00:00.0000000Z". В этом примере отнимается пять дней и результат преобразуется в формат "D":

getPastTime(5, 'Day', 'D')

Возвращается такой результат: "Saturday, January 27, 2018"

greater

Проверяет, является ли первое значение большим, чем второе. Возвращает значение true, если первое значение больше, или значение false, если меньше.

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
Параметр Обязательное поле Type Описание
<значение> Да Целое число, число с плавающей запятой или строка Проверяет, является ли первое значение большим, чем второе
<compareTo> Да Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если первое значение большим, чем второе. Возвращает значение false, если первое значение меньше или равно второму.

Пример

В этих примерах проверяется, является ли первое значение большим, чем второе.

greater(10, 5)
greater('apple', 'banana')

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: false.

greaterOrEquals

Проверяет, является ли первое значение большим, чем второе, или равным ему. Возвращает true, если первое значение больше или равно, или значение false, если первое значение меньше.

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
Параметр Обязательное поле Type Описание
<значение> Да Целое число, число с плавающей запятой или строка Проверяет, является ли первое значение большим, чем второе, или равным ему
<compareTo> Да Целое число, число с плавающей запятой или строка соответственно Значение сравнения
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если первое значение больше или равно второму. Возвращает значение false, если первое значение меньше, чем второе.

Пример

В этих примерах проверяется, является ли первое значение большим чем второе, или равным ему.

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: false.

guid

Создает глобально уникальный идентификатор (GUID) в виде строки, например, "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":

guid()

Кроме того, вы можете указать другой формат для GUID, отличный от формата по умолчанию ("D"), который состоит из 32 цифр, разделенных дефисом.

guid('<format>')
Параметр Обязательное поле Type Описание
<format> Нет Строка Один указатель формата для возвращенного идентификатора GUID. По умолчанию имеет формат "D", но можно использовать "N", "D", "B", "P" или "X".
Возвращаемое значение Тип Описание
<значение GUID> Строка Случайно сгенерированный GUID

Пример

В этом примере создается тот же идентификатор GUID, но в виде 32 цифр, разделенных дефисом и заключенных в круглые скобки:

guid('P')

Возвращается такой результат: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

if

Проверьте, какое значение имеет выражение: true или false. Возвращает указанное значение на основе результата.

if(<expression>, <valueIfTrue>, <valueIfFalse>)
Параметр Обязательное поле Type Описание
<выражение> Да Логический Выражение для вычисления
<valueIfTrue> Да Любое Возвращаемое значение, если выражение истинно
<valueIfFalse> Да Любое Возвращаемое значение, если выражение ложно
Возвращаемое значение Тип Описание
<указанное возвращаемое значение> Любое Возвращает указанное значение в зависимости от результата выражения: true или false.

Пример

В этом примере возвращается "yes", потому что указанное выражение возвращает значение true. В противном случае в примере возвращается "no":

if(equals(1, 1), 'yes', 'no')

indexOf

Возвращает начальную позицию или значение индекса для подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.

indexOf('<text>', '<searchText>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строки, которая содержит подстроку для поиска
<searchText> Да Строка Подстрока для поиска
Возвращаемое значение Тип Описание
<значение индекса> Целое Начальное положение или значение индекса указанной подстроки.
Если строка не найдена, возвращается число -1.

Пример

Этот пример находит начальное значение индекса для подстроки "world" в строке "hello world":

indexOf('hello world', 'world')

Возвращается такой результат: 6

INT

Возвращает целочисленную версию строки.

int('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Преобразуемая строка
Возвращаемое значение Тип Описание
<целочисленный результат> Целое Целочисленная версия указанной строки

Пример

В этом примере создается целочисленная версия строки "10":

int('10')

Возвращается такой результат: 10

json

Возвращает значение типа JSON либо объект для строки или XML.

json('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка или XML Строка или XML для преобразования
Возвращаемое значение Тип Описание
<результат JSON> Собственный тип или объект JSON Значение собственного типа или объекта JSON для заданной строки или XML. Если строка имеет значение NULL, функция возвращает пустой объект.

Пример 1

В этом примере эта строка преобразуется в значение JSON:

json('[1, 2, 3]')

Возвращается такой результат: [1, 2, 3]

Пример 2

В этом примере эта строка преобразуется в JSON:

json('{"fullName": "Sophia Owen"}')

Возвращается такой результат:

{
  "fullName": "Sophia Owen"
}

Пример 3

В этом примере этот XML преобразуется в JSON:

json(xml('<?xml version="1.0"?> <root> <person id='1'> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

Возвращается такой результат:

{
   "?xml": { "@version": "1.0" },
   "root": {
      "person": [ {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      } ]
   }
}

intersection

Возвращает коллекцию, которая содержит только общие элементы в указанных коллекциях. Чтобы появиться в результатах, элемент должен находиться во всех коллекциях, переданных этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
Параметр Обязательное поле Type Описание
<collection1>, <collection2>, ... Да Массив или объект, но не оба типа Коллекции, из которых нужно получить только общие элементы
Возвращаемое значение Тип Описание
<общий элементы> Массив или объект соответственно Коллекция, которая содержит только общие элементы в указанных коллекциях

Пример

В этом примере находятся общие элементы в этих массивах:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

И возвращается массив только с этими элементами: [1, 2]

join

Возвращает строку, содержащую все элементы из массива, в которой каждый символ отделен разделителем.

join([<collection>], '<delimiter>')
Параметр Обязательное поле Type Описание
<collection> Да Массив Массив, который содержит элементы для объединения
<разделитель> Да Строка Разделитель, содержащийся между каждым символом в результирующей строке
Возвращаемое значение Тип Описание
<char1><delimiter><char2><delimiter>... Строка Полученная строка, созданная из всех элементов в указанном массиве

Пример

В этом примере создается строка из всех элементов этого массива с указанным символом в качестве разделителя:

join(createArray('a', 'b', 'c'), '.')

Возвращается такой результат: "a.b.c"

последняя

Возвращает последний элемент из коллекции.

last('<collection>')
last([<collection>])
Параметр Обязательное поле Type Описание
<collection> Да Строка или массив Коллекция, в которой нужно найти последний элемент
Возвращаемое значение Тип Описание
<последний элемент коллекции> Строка или массив соответственно Последний элемент в коллекции

Пример

Эти примеру ищут последний элемент в этих коллекциях:

last('abcd')
last(createArray(0, 1, 2, 3))

И возвращаются следующие результаты:

  • Первый пример: "d".
  • Второй пример: 3.

lastIndexOf

Возвращает начальную позицию или значение индекса последнего вхождения подстроки. Эта функция не учитывает регистр, и индексы начинаются с числа 0.

lastIndexOf('<text>', '<searchText>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строки, которая содержит подстроку для поиска
<searchText> Да Строка Подстрока для поиска
Возвращаемое значение Тип Описание
<конечное значение индекса> Целое Начальная позиция или значение индекса последнего вхождения указанной подстроки.
Если строка не найдена, возвращается число -1.

Пример

Этот пример находит начальное значение индекса для последнего вхождения подстроки "world" в строке "hello world":

lastIndexOf('hello world', 'world')

Возвращается такой результат: 6

length

Возвращает число элементов в коллекции.

length('<collection>')
length([<collection>])
Параметр Обязательное поле Type Описание
<collection> Да Строка или массив Коллекция с элементами для подсчета
Возвращаемое значение Тип Описание
<длина или число> Целое Число элементов в данной коллекции

Пример

В этих примерах подсчитывается количество элементов в этих коллекциях:

length('abcd')
length(createArray(0, 1, 2, 3))

Возвращается результат: 4

less

Проверяет, является ли первое значение меньшим, чем второе. Возвращает true, если первое значение меньше, или значение false, если первое значение больше.

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
Параметр Обязательное поле Type Описание
<значение> Да Целое число, число с плавающей запятой или строка Первое значение, для которого выполняется проверка того, является ли оно меньшим, чем второе.
<compareTo> Да Целое число, число с плавающей запятой или строка соответственно Элемент для сравнения
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если первое значение меньше, чем второе. Возвращает значение false, если первое значение больше или равно второму.

Пример

В этих примерах проверяется, является ли первое значение меньшим, чем второе.

less(5, 10)
less('banana', 'apple')

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: false.

lessOrEquals

Проверяет, является ли первое значение меньшим, чем второе, или равным ему. Возвращает true, если первое значение меньше или равно, или значение false, если первое значение больше.

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
Параметр Обязательное поле Type Описание
<значение> Да Целое число, число с плавающей запятой или строка Проверяет, является ли первое значение меньшим, чем второе, или равным ему
<compareTo> Да Целое число, число с плавающей запятой или строка соответственно Элемент для сравнения
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если первое значение меньше или равно второму. Возвращает значение false, если первое значение больше, чем второе.

Пример

В этих примерах проверяется, является ли первое значение меньшим или равным второму.

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

И возвращаются следующие результаты:

  • Первый пример: true.
  • Второй пример: false.

макс.

Возвращает наибольшее значение из списка или массива, охватывающих последние и начальные значения.

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
Параметр Обязательное поле Type Описание
<number1>, <number2>, ... Да Целое число, число с плавающей запятой или оба типа Набор чисел, из которого требуется получить наибольшее значение
[<number1>, <number2>, ...] Да Массив — целое число, число с плавающей запятой или оба типа Массив чисел, из которого требуется получить наибольшее значение
Возвращаемое значение Тип Описание
<макс. значение> Целое число и число с плавающей запятой Максимальное значение в указанном массиве или набор чисел

Пример

В этих примерах извлекается наибольшее значение из набора чисел и массива:

max(1, 2, 3)
max(createArray(1, 2, 3))

Возвращается результат: 3

мин

Возвращает наименьшее значение из набора чисел или массива.

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
Параметр Обязательное поле Type Описание
<number1>, <number2>, ... Да Целое число, число с плавающей запятой или оба типа Набор чисел, из которого требуется получить наименьшее значение
[<number1>, <number2>, ...] Да Массив — целое число, число с плавающей запятой или оба типа Массив чисел, из которого требуется получить наименьшее значение
Возвращаемое значение Тип Описание
<мин. значение> Целое число и число с плавающей запятой Наименьшее значение в указанном наборе чисел или массиве

Пример

В этих примерах извлекается наименьшее значение из набора чисел и массива:

min(1, 2, 3)
min(createArray(1, 2, 3))

Возвращается результат: 1

mod

Возвращает остаток результата деления двух чисел. Чтобы получить целочисленный результат, см. раздел div().

mod(<dividend>, <divisor>)
Параметр Обязательное поле Type Описание
<dividend> Да Целое число и число с плавающей запятой Число, которое нужно поделить на делитель
<divisor> Да Целое число и число с плавающей запятой Число, разделяющее дивиденды, но не может быть 0.
Возвращаемое значение Тип Описание
<остаток> Целое число и число с плавающей запятой Остаток результата деления первого числа на второе

Пример

В этом примере первое число делится на второе:

mod(3, 2)

Возвращается результат: 1

mul

Возвращает результат умножения двух чисел.

mul(<multiplicand1>, <multiplicand2>)
Параметр Обязательное поле Type Описание
<multiplicand1> Да Целое число и число с плавающей запятой Число для умножения на multiplicand2
<multiplicand2> Да Целое число и число с плавающей запятой Число, на которое умножается multiplicand1
Возвращаемое значение Тип Описание
<результат> Целое число и число с плавающей запятой Произведение от умножения первого числа на второе

Пример

В этом примере первое число умножается на второе:

mul(1, 2)
mul(1.5, 2)

И возвращаются следующие результаты:

  • Первый пример: 2.
  • Второй пример: 3.

not

Проверяет, имеет ли выражение значение false. Возвращает значение true, если выражение ложно, или значение false, если значение истинно.

not(<expression>)
Параметр Обязательное поле Type Описание
<выражение> Да Логический Выражение для вычисления
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если выражение ложно. Возвращает значение false, если выражение истинно.

Пример 1

В этих примерах проверяется, все ли указанные выражения ложны:

not(false)
not(true)

И возвращаются следующие результаты:

  • В первом примере выражение имеет значение false, поэтому функция возвращает true.
  • Во втором примере выражение имеет значение true, поэтому функция возвращает false.

Пример 2

В этих примерах проверяется, все ли указанные выражения ложны:

not(equals(1, 2))
not(equals(1, 1))

И возвращаются следующие результаты:

  • В первом примере выражение имеет значение false, поэтому функция возвращает true.
  • Во втором примере выражение имеет значение true, поэтому функция возвращает false.

or

Проверяет, является ли хотя бы одно выражение истинным. Возвращает значение true, если хотя бы одно выражение истинно, или значение false, когда оба являются ложными.

or(<expression1>, <expression2>)
Параметр Обязательное поле Type Описание
<expression1>, <expression2> Да Логический Выражения, которые следует проверить
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true, если хотя бы одно выражение истинно. Возвращает значение false, если оба выражения ложны.

Пример 1

В этих примерах проверяется, является ли хотя бы одно выражение истинным:

or(true, false)
or(false, false)

И возвращаются следующие результаты:

  • В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает true.
  • Во втором примере оба выражения имеют значения false, поэтому функция возвращает false.

Пример 2

В этих примерах проверяется, является ли хотя бы одно выражение истинным:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

И возвращаются следующие результаты:

  • В первом примере по крайней мере одно выражение имеет значение true, поэтому функция возвращает true.
  • Во втором примере оба выражения имеют значения false, поэтому функция возвращает false.

rand

Возвращает случайное целое число из указанного диапазона с включительным значением только в начале.

rand(<minValue>, <maxValue>)
Параметр Обязательное поле Type Описание
<minValue> Да Целое Наименьшее целое число в диапазоне
<maxValue> Да Целое Целое число, следующее за наибольшим целым числом в диапазоне, которое функция может вернуть
Возвращаемое значение Тип Описание
<случайный результат> Целое Случайное целое число, возвращаемое из указанного диапазона

Пример

Этот пример получает случайное целое число из указанного диапазона, исключая максимальное значение:

rand(1, 5)

И возвращает в виде результата одно из этих чисел: 1, 2, 3 или 4.

range

Возвращает массив целых чисел, который начинается с заданного целого числа.

range(<startIndex>, <count>)
Параметр Обязательное поле Type Описание
<startIndex> Да Целое Целочисленное значение, которое является первым элементом массива.
<count> Да Целое Количество целых чисел в массиве
Возвращаемое значение Тип Описание
[<range-result>] Массив Массив с целыми числами, который начинается с указанного индекса

Пример

В этом примере создается целочисленный массив, который начинается с указанного индекса и имеет указанное число целых чисел:

range(1, 4)

Возвращается такой результат: [1, 2, 3, 4]

replace

Заменяет подстроку указанной строкой и возвращает полученную строку. Эта функция учитывает регистр.

replace('<text>', '<oldText>', '<newText>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строка, которая содержит заменяемую подстроку
<oldText> Да Строка Заменяемая подстрока
<newText> Да Строка Строка для замены
Возвращаемое значение Тип Описание
<обновленный текст> Строка Обновленная строка после замены подстроки
Если подстрока не найдена, возвращает исходную строку.

Пример

Этот пример выполняет поиск подстроки "old" в строке "the old string" и заменяет "old" на "new":

replace('the old string', 'old', 'new')

Возвращается такой результат: "the new string"

skip

Удаляет элементы из начала коллекции и возвращает все другие элементы.

skip([<collection>], <count>)
Параметр Обязательное поле Type Описание
<collection> Да Массив Коллекция, элементы которой требуется удалить
<count> Да Целое Положительное целое число для количества элементов в начале коллекции, которые требуется удалить
Возвращаемое значение Тип Описание
[<updated-collection>] Массив Обновленная коллекция после удаления указанных элементов.

Пример

В этом примере удаляется один элемент, число 0, в начале указанного массива:

skip(createArray(0, 1, 2, 3), 1)

И возвращается исходный массив и оставшиеся элементы: [1,2,3]

split

Возвращает массив, содержащий подстроки, разделенные запятыми, основываясь на указанном символе разделителя в исходной строке.

split('<text>', '<delimiter>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строка для разделения на подстроки в зависимости от указанного разделителя в исходной строке
<разделитель> Да Строка Символ в исходной строке для использования в качестве разделителя
Возвращаемое значение Тип Описание
[<substring1>,<substring2>,...] Массив Массив, содержащий подстроки из исходной строки, разделенные запятыми

Пример

В этом примере создается массив подстрок из указанной строки с использованием заданного символа в качестве разделителя.

split('a_b_c', '_')

В результате возвращается такой массив: ["a","b","c"].

startOfDay

Возвращает начало дня для метки времени.

startOfDay('<timestamp>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Указанная метка времени, которая начинается с нулевого часа дня

Пример

Этот пример находит начало дня для этой метки времени:

startOfDay('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-15T00:00:00.0000000Z"

startOfHour

Возвращает начало часа для метки времени.

startOfHour('<timestamp>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Указанная метка времени, которая начинается с нулевой минуты часа

Пример

Этот пример находит начало часа для этой метки времени:

startOfHour('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-15T13:00:00.0000000Z"

startOfMonth

Возвращает начало месяца для метки времени.

startOfMonth('<timestamp>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Указанная метка времени, которая начинается с нулевого часа первого дня месяца

Пример

Этот пример находит начало месяца для этой метки времени:

startOfMonth('2018-03-15T13:30:30Z')

Возвращается такой результат: "2018-03-01T00:00:00.0000000Z"

startsWith

Проверяет, начинается ли строка с определенной подстроки. Возвращает true, если подстрока найдена, или возвращает false, если нет. Эта функция не учитывает регистр.

startsWith('<text>', '<searchText>')
Параметр Обязательное поле Type Описание
<text> Да Строка Проверяемая строка
<searchText> Да Строка Начальная строка для поиска
Возвращаемое значение Тип Описание
true или false Логический Возвращает значение true при обнаружении начальной подстроки. В противном случае возвращает значение false.

Пример 1

В этом примере проверяется, начинается ли строка "hello world" подстрокой "hello":

startsWith('hello world', 'hello')

Возвращается такой результат: true

Пример 2

В этом примере проверяется, начинается ли строка "hello world" подстрокой "greetings":

startsWith('hello world', 'greetings')

Возвращается такой результат: false

строка

Возвращает строковую версию значения.

string(<value>)
Параметр Обязательное поле Type Описание
<значение> Да Любое Значение, которое необходимо преобразовать
Возвращаемое значение Тип Описание
<строковое значение> Строка Строковая версия указанного значения

Пример 1

В этом примере создается строковая версия для этого числа:

string(10)

Возвращается такой результат: "10"

Пример 2

В этом примере создается строка для указанного объекта JSON и используется символ обратной косой черты (\) в качестве escape-символа для двойных кавычек (").

string( { "name": "Sophie Owen" } )

Возвращается такой результат: "{ \\"name\\": \\"Sophie Owen\\" }"

дочерний объект

Вычитает второе число из первого числа и возвращает результат.

sub(<minuend>, <subtrahend>)
Параметр Обязательное поле Type Описание
<minuend> Да Целое число и число с плавающей запятой Число, из которого вычитается вычитаемое
<subtrahend> Да Целое число и число с плавающей запятой Число, которое вычитается из уменьшаемого
Возвращаемое значение Тип Description
<result> Целое число и число с плавающей запятой Вычитается второе число из первого числа и возвращается результат

Пример

В этом примере из первого числа вычитается второе число:

sub(10.3, .3)

Возвращается такой результат: 10

substring

Возвращает символы из строки, начиная с указанной позиции или индекса. Значения индекса начинаются с числа 0.

substring('<text>', <startIndex>, <length>)
Параметр Обязательное поле Type Описание
<text> Да Строка Строка, символы которой требуется получить
<startIndex> Да Целое Положительное число (или 0), которое следует использовать как начальную позицию или значение индекса.
<length> Да Целое Положительное число символов для подстроки
Возвращаемое значение Тип Описание
<результат подстроки> Строка Подстрока с указанным количеством символов, начиная с указанной позиции индекса в исходной строке

Пример

В этом примере создается пятисимвольная подстрока из указанной строки, начиная со значения индекса 6:

substring('hello world', 6, 5)

Возвращается такой результат: "world"

subtractFromTime

Вычитает количество единиц времени из метки времени. См. раздел getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка, содержащая метку времени
<interval> Да Целое Число единиц времени для вычитания
<timeUnit> Да Строка Единицы времени для использования с интервалом: "секунда", "минута", "час", "день", "неделя", "месяц", "год"
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<обновленная_метка_времени> Строка Метка времени, от которой отнято указанное число единиц времени

Пример 1

В этом примере из этой метки времени вычитается один день:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')

Возвращается такой результат: "2018-01-01T00:00:00:0000000Z"

Пример 2

В этом примере из этой метки времени вычитается один день:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')

И возвращается результат с использованием необязательного формата "D": "Monday, January, 1, 2018"

take

Возвращает элементы, расположенные в начале коллекции.

take('<collection>', <count>)
take([<collection>], <count>)
Параметр Обязательное поле Type Описание
<collection> Да Строка или массив Коллекция, элементы которой требуется получить
<count> Да Целое Положительное целое число для количества элементов в начале коллекции, которые требуется получить
Возвращаемое значение Тип Описание
<subset> или [<subset>] Строка или массив соответственно Строка или массив, который содержит заданное число элементов, взятых из первой части исходной коллекции

Пример

Эти примеры получают указанное количество элементов из первой части этих коллекций:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

И возвращаются следующие результаты:

  • Первый пример: "abc".
  • Второй пример: [0, 1, 2].

ticks

Возвращает значение свойства ticks для указанной метки времени. Интервал составляет 100 наносекунд.

ticks('<timestamp>')
Параметр Обязательное поле Type Описание
<timestamp> Да Строка Строка для метки времени
Возвращаемое значение Тип Описание
<число тактов> Целое Число тактов, прошедших с 12:00:00 полуночи 1 января 0001 года по григорианскому календарю до указанной метки времени

toLower

Возвращает строку символов в нижнем регистре. Если символ в строке не имеет версии в нижнем регистре, он добавляется в возвращаемую строку без изменений.

toLower('<text>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строка, возвращаемая в нижнем регистре
Возвращаемое значение Тип Описание
<текст в нижнем регистре> Строка Исходная строка в нижнем регистре

Пример

В этом примере эта строка преобразуется в нижний регистр:

toLower('Hello World')

Возвращается такой результат: "hello world"

toUpper

Возвращает строку символов в верхнем регистре. Если символ в строке не имеет версии в верхнем регистре, он добавляется в возвращаемую строку без изменений.

toUpper('<text>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строка, возвращаемая в верхнем регистре
Возвращаемое значение Тип Описание
<текст в верхнем регистре> Строка Исходная строка в верхнем регистре

Пример

В этом примере эта строка преобразуется в верхний регистр:

toUpper('Hello World')

Возвращается такой результат: "HELLO WORLD"

trim

Удаляет все начальные и конечные пробелы и возвращает обновленную строку.

trim('<text>')
Параметр Обязательное поле Type Описание
<text> Да Строка Строка, которая содержит начальные и конечные пробелы для удаления
Возвращаемое значение Тип Описание
<обновленный текст> Строка Обновленная версия исходной строки без начальных и конечных пробелов

Пример

В этом примере удаляются начальные и конечные пробелы из строки " Hello World ".

trim(' Hello World  ')

Возвращается такой результат: "Hello World"

union

Возвращает коллекцию, которая содержит все элементы из указанных коллекций. Чтобы появиться в результатах, элемент должен содержаться в любой коллекции, переданной этой функции. Если один или несколько элементов имеют одинаковое имя, в результатах появляется последний элемент с таким именем.

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
Параметр Обязательное поле Type Описание
<collection1>, <collection2>, ... Да Массив или объект, но не оба типа Коллекции, из которых вы хотите получить все элементы
Возвращаемое значение Тип Описание
<обновленная коллекция> Массив или объект соответственно Коллекция, которая содержит все элементы из указанных коллекций, без повторений

Пример

В этом примере извлекаются все элементы из коллекций:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

Возвращается такой результат: [1, 2, 3, 10, 101]

uriComponent

Возвращает кодированную версию URI для строки, заменив символы, опасные для URL-адреса, на escape-символы. Используйте эту функцию вместо encodeUriComponent(). Хотя обе функции работают одинаково, uriComponent() является предпочтительной.

uriComponent('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка для преобразования в формат закодированного URI
Возвращаемое значение Тип Описание
<закодированный URI> Строка Строка с закодированным URI, содержащая escape-символы

Пример

В этом примере создается версия с закодированным URI для этой строки:

uriComponent('https://contoso.com')

Возвращается такой результат: "http%3A%2F%2Fcontoso.com"

uriComponentToBinary

Возвращает двоичную версию компонента URI.

uriComponentToBinary('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Преобразуемая строка с закодированным URI
Возвращаемое значение Тип Описание
<двоичная версия закодированного URI> Строка Двоичная версия строки с закодированным URI. Двоичное содержимое в формате Base64, представленное с помощью $content.

Пример

В этом примере создается двоичная версия для этой строки с закодированным URI:

uriComponentToBinary('http%3A%2F%2Fcontoso.com')

Возвращается такой результат:

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

Возвращает декодированную версию строки с закодированным URI.

uriComponentToString('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Декодируемая строка с закодированным URI
Возвращаемое значение Тип Описание
<декодированный URI> Строка Декодированная версия строки с закодированным URI

Пример

В этом примере создается декодированная версия строки с закодированным URI:

uriComponentToString('http%3A%2F%2Fcontoso.com')

Возвращается такой результат: "https://contoso.com"

utcNow

Возвращает текущую метку времени.

utcNow('<format>')

Кроме того, можно указать другой формат с помощью параметра <format>.

Параметр Обязательное поле Type Описание
<format> Нет Строка Либо один описатель формата, либо пользовательский шаблон формата. Формат по умолчанию для метки времени — "o" (ГГГГ-ММ-ДДTЧЧ:ММ:СС), который соответствует ISO 8601 и сохраняет информацию о часовом поясе.
Возвращаемое значение Тип Описание
<текущая метка времени> Строка Текущая дата и время

Пример 1

Предположим, сейчас 13:00:00 15 апреля 2018 года. В этом примере возвращается текущая метка времени:

utcNow()

Возвращается такой результат: "2018-04-15T13:00:00.0000000Z"

Пример 2

Предположим, сейчас 13:00:00 15 апреля 2018 года. В этом примере возвращается текущая метка времени с использованием необязательного формата "D":

utcNow('D')

Возвращается такой результат: "Sunday, April 15, 2018"

xml

Возвращает версию XML строки, которая содержит объект JSON.

xml('<value>')
Параметр Обязательное поле Type Описание
<значение> Да Строка Строка с объектом JSON для преобразования
Объект JSON должен содержать только одно корневое свойство, которое не может быть массивом.
Используйте обратную косую черту (\) как escape-символ для двойных кавычек (").
Возвращаемое значение Тип Описание
<версия XML> Object Закодированный XML для заданной строки или объекта JSON

Пример 1

В этом примере создается версия XML для этой строки, которая содержит объект JSON:

xml(json('{ \"name\": \"Sophia Owen\" }'))

Возвращается следующий XML:

<name>Sophia Owen</name>

Пример 2

Предположим, что у вас есть этот объект JSON:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

В этом примере создается XML для строки, содержащей этот объект JSON:

xml(json('{\"person\": {\"name\": \"Sophia Owen\", \"city\": \"Seattle\"}}'))

Возвращается следующий XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

Проверяет XML на наличие узлов или значений, которые соответствуют выражению XPath, и возвращает соответствующие узлы или значения. Выражение XPath (или просто "XPath") помогает перемещаться по структуре документа XML, чтобы вы могли выбирать узлы или вычислять значения в содержимом XML.

xpath('<xml>', '<xpath>')
Параметр Обязательное поле Type Описание
<xml> Да Любое Строка XML для поиска узлов и значений, которые соответствуют значению выражения XPath
<xpath> Да Любое Выражение XPath, используемое для поиска соответствующих узлов или значений XML
Возвращаемое значение Тип Описание
<узел XML> XML Узел XML, где только один узел соответствует указанному выражению XPath
<значение> Любое Значение из узла XML, где только одно значение соответствует указанному выражению XPath
[<xml-node1>, <xml-node2>, ...]
-or-
[<value1>, <value2>, ...]
Массив Массив с узлами XML или значениями, которые соответствуют указанному выражению XPath

Пример 1

Следуя примеру 1, этот пример находит узлы, которые соответствуют узлу <count></count>, и добавляет эти значения с помощью функции sum():

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

Возвращается такой результат: 30

Пример 2

В этом примере оба выражения находят узлы, которые соответствуют узлу <location></location> в указанных аргументах, которые содержат XML с пространством имен. Выражения используют обратную косую черту (\) как escape-символ для двойных кавычек (").

  • Выражение 1

    xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • Expression 2

    xpath(xml(body('Http')), '/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]')

Ниже приведены аргументы.

  • Это код XML, который включает пространство имен документа XML xmlns="http://contoso.com":

    <?xml version="1.0"?> <file xmlns="http://contoso.com"> <location>Paris</location> </file>
    
  • Можно использовать любое выражение XPath:

    • /*[name()=\"file\"]/*[name()=\"location\"]

    • /*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]

Ниже приведен узел, соответствующий узлу <location></location>:

<location xmlns="https://contoso.com">Paris</location>

Пример 3

Следуя примеру 3, этот пример находит значение в узле <location></location>:

xpath(xml(body('Http')), 'string(/*[name()=\"file\"]/*[name()=\"location\"])')

Возвращается такой результат: "Paris"

Примечание.

Можно добавлять примечания к выражениям потока данных, но не в выражениях конвейера.

Инструкции по использованию общих параметров см. в разделе "Параметры фабрики данных" в Fabric