Действие 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. В качестве входных данных для условия фильтрации можно использовать любую переменную типа массива или выходные данные из других действий. Чтобы создать переменную массива, выберите фон холста конвейера, а затем перейдите на вкладку Переменные, чтобы добавить переменную типа массива, как показано ниже.

    Shows an empty pipeline canvas with an array type variable added to the pipeline.

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

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

    Shows the UI for a Filter activity.

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

    Shows the  Add dynamic content  link for the Items property.

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

    Shows the dynamic content editor with the variable created in the first step selected

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

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

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

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

Пример

В этом примере конвейер имеет два вида действий: 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": []
    }
}

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