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


Действие Filter в конвейерах Фабрики данных Azure и Synapse Analytics

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

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Синтаксис

{
    "name": "MyFilterActivity",
    "type": "filter",
    "typeProperties": {
        "condition": "<condition>",
        "items": "<input array>"
    }
}

Создание действия Filter с помощью пользовательского интерфейса

Чтобы использовать действие Filter в конвейере, выполните следующие шаги:

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

    Отображает пустой холст конвейера с переменной типа массива, добавленной в конвейер.

  2. Выполните поиск элемента Filter на панели конвейера «Действия» и перетащите действие Filter на холст конвейера.

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

    Отображает пользовательский интерфейс для действия фильтра.

  4. Выберите поле Элементы, а затем щелкните ссылку Добавить динамическое содержимое, чтобы открыть панель редактора динамического содержимого.

    Показывает > Добавление динамического содержимого> ссылка для свойства Items.

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

    Отображает редактор динамического содержимого с переменной, созданной на первом шаге

  6. Снова используйте редактор динамического содержимого, чтобы указать условие фильтрации для свойства Condition, как показано выше.

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

Свойства типа

Свойство Description Допустимые значения Обязательное поле
name Имя действия Filter. Строка Да
type Должно быть задано значение filter. Строка Да
condition Условие, которое можно использовать для фильтрации входных данных. Expression Да
items Входной массив, к которому должен применяться фильтр. Expression Да

Пример

В этом примере конвейер имеет два вида действий: Filter и ForEach. Действие Filter настроено для фильтрации входного массива на наличие элементов со значением больше 3. Затем действие ForEach выполняет итерацию по отфильтрованным значениям и задает переменной test текущее значение.

{
    "name": "PipelineName",
    "properties": {
        "activities": [{
                "name": "MyFilterActivity",
                "type": "filter",
                "typeProperties": {
                    "condition": "@greater(item(),3)",
                    "items": "@pipeline().parameters.inputs"
                }
            },
            {
            "name": "MyForEach",
            "type": "ForEach",
            "dependsOn": [
                {
                    "activity": "MyFilterActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
            ],
            "userProperties": [],
            "typeProperties": {
                "items": {
                    "value": "@activity('MyFilterActivity').output.value",
                    "type": "Expression"
                },
                "isSequential": "false",
                "batchCount": 1,
                "activities": [
                    {
                        "name": "Set Variable1",
                        "type": "SetVariable",
                        "dependsOn": [],
                        "userProperties": [],
                        "typeProperties": {
                            "variableName": "test",
                            "value": {
                                "value": "@string(item())",
                                "type": "Expression"
                            }
                        }
                    }
                ]
            }
        }],
        "parameters": {
            "inputs": {
                "type": "Array",
                "defaultValue": [1, 2, 3, 4, 5, 6]
            }
        },
        "variables": {
            "test": {
                "type": "String"
            }
        },
        "annotations": []
    }
}

Ознакомьтесь с другими поддерживаемыми действиями потока управления: