0 / 0
Go back to the English version of the documentation
Przechodzenie przez węzły w pętli
Last updated: 04 lip 2023
Przechodzenie przez węzły w pętli

Pętla for może być używana do wykonywania pętli przez wszystkie węzły w przepływie. Na przykład następujące dwa przykłady skryptów zawierają pętlę dla wszystkich węzłów i zmienią nazwy pól w dowolnych węzłach filtrowania na wielkie.

Tego skryptu można użyć w dowolnym przepływie, który zawiera węzeł filtrowania, nawet jeśli żadne pola nie są w rzeczywistości filtrowane. Wystarczy dodać węzeł filtrowania, który przekazuje wszystkie pola w celu zmiany nazw pól na wielkie litery w tablicy.

# Alternative 1: using the data model nameIterator() function
stream = modeler.script.stream()
for node in stream.iterator():
    if (node.getTypeName() == "filter"):
        # nameIterator() returns the field names
        for field in node.getInputDataModel().nameIterator():
            newname = field.upper()
            node.setKeyedPropertyValue("new_name", field, newname)
# Alternative 2: using the data model iterator() function
stream = modeler.script.stream()
for node in stream.iterator():
    if (node.getTypeName() == "filter"):
        # iterator() returns the field objects so we need
        # to call getColumnName() to get the name
        for field in node.getInputDataModel().iterator():
            newname = field.getColumnName().upper()
            node.setKeyedPropertyValue("new_name", field.getColumnName(), newname)

Skrypt wykonuje pętle przez wszystkie węzły w bieżącym przepływie i sprawdza, czy każdy węzeł jest filtrem. Jeśli tak, skrypt pętle przez każde pole w węźle i używa funkcji field.upper() lub field.getColumnName().upper() w celu zmiany nazwy na wielkie.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more