Search

Home

IF

IF

icon
Operator IF daje możliwość skierowania całego strumienia danych na wybraną magistralę danych lub podzielić dane na dwie magistrale. Operator IF posiada dwa wyjścia. Jeżeli chcesz przeprowadzić wybór wielowariantowy możesz umieścić szeregowo tyle operatorów IF ile potrzebujesz do realizacji swojego zadania.

Przykład projektu GRAVITY z użyciem operatora IF.

image

KONFIGURACJA OPERATORA

Operator przetwarza każdy rekord magistrali według warunku wpisanego w pole Condition. Warunek wpisywany jest w języku C# i jest ciałem funkcji, która zwraca wartość bool dlatego kod warunku musi zwracać wartość true lub false. W warunku możesz wykorzystać zarówno bity magistrali danych, parametry projektu oraz funkcje agregujące.

Dostępne funkcje agregujące:

  • GET_AGGR → suma wartości wskazanej kolumny magistrali, dla wszystkich danych na wejściu
  • GET_OUTTEMP_AGGR → suma wartości kolumny danych, zgromadzonych w zbiorze OUTPUT_TEMPORARY
image

Po wprowadzeniu warunku możesz przetestować jego działanie przyciskiem Test.

icon
W trakcie testowania algorytmu za bity magistrali, parametry projektu i funkcje agregujące podstawiane są domyślne wartości. Dla poszczególnych typów danych przyjmują następujące wartości

DateTime → DateTime.Now string → "Text" double → 1.0 int → 1; bool → true

Możesz zmienić domyślne wartości na formularzu, który zostanie wywołany po naciśnięciu przycisku Test.

image

W trakcie przetwarzania danych przez operator, jeżeli warunek będzie spełniony, strumień danych znajdzie się na magistrali wyjściowej górnej, w przypadku zaś niespełnienia warunku, strumień danych popłynie magistralą dolną. Na magistrali dolnej dodawany jest bit__ifResult__ przechowujący rezultat wykonania warunku dla rekordu.

icon
Jeśli na magistrali wejściowej nie znajduje się żaden rekord to operator IF niezależnie od wprowadzonego warunku zawsze przekieruje proces na magistralę wyjściową dolną (false).

Wybierz opcję Run only one busbar jeśli chcesz aby strumień danych został przekierowany tylko na jedną z magistral wyjściowych.

W przypadku gdy choć jeden rekord magistrali nie spełni warunku cały strumień danych zostanie przekierowany na dolną magistralę.

Jeśli wszystkie rekordy spełnią warunek dane zostaną przekierowane na górną magistralę.

image
image
icon
W przypadku użycia opcji Run only one busbar system uruchomi tylko ścieżkę projektu połączoną z magistralą, na którą został przekierowany strumień danych.

Wybierz opcję Split the data into two busbars jeśli chcesz aby rekordy zostały rozdzielone na dwie magistrale w zależności od spełnienia warunku

Rekordy spełniające warunek zostaną przekierowane na magistralę górną pozostałe na dolną magistralę.

image
icon
W przypadku użycia opcji Split the data into two busbars system zawsze uruchamia obie ścieżki przetwarzania niezależnie czy zostały na nie przekazane dane czy nie. Jako pierwsza zostanie uruchomiona ścieżka górna (true), a dopiero po zakończeniu przetwarzania górnej zostanie uruchomiona dolna ścieżka (false).