Search

Home

COMPUTING

COMPUTING

Operator COMPUTING umożliwia wykonywanie operacji obliczeniowych i przekształceń danych przy użyciu algorytmów napisanych w języku C#, działających na bitach magistrali danych.

Operator COMPUTING zapewnia elastyczność przekształcania danych i stanowi narzędzie do realizacji niestandardowej logiki biznesowej w procesach systemu GRAVITY.

W ramach jednego operatora możliwe jest zdefiniowanie wielu operacji przetwarzania. Są one wykonywane sekwencyjnie – kolejne operacje mogą wykorzystywać wyniki wcześniejszych kroków przetwarzania w ramach tego samego rekordu.

Operator nie tworzy nowych kolumn – wynik działania algorytmu musi zostać przypisany do istniejącego bitu magistrali. Każda operacja:

  • wykonuje zdefiniowany algorytm,
  • zapisuje wynik do wskazanego wcześniej bitu magistrali.

Przetwarzanie odbywa się dla każdego rekordu magistrali wejściowej. Użytkownik definiuje dowolną liczbę operacji, z których każda na już zmodyfikowanych bitach magistrali.

Przykład projektu GRAVITY z użyciem operatora COMPUTING

image

KONFIGURACJA OPERATORA

Konfiguracja operatora polega na wskazaniu kolumny, do której zostanie przypisana wartość zwrócona przez algorytm.

Algorytm musi być napisany w języku C#. Jest on ciałem funkcji, która musi zwrócić wartość o typie danych identycznym z typem wybranej kolumny.

Np. dla kolumny o nazwie invoice_number o typie Text algorytm wpisywany w operatorze będzie musiał zwrócić wartość typu string czyli będzie ciałem funkcji,

private string func_23()

więc algorytm musi zwracać wartość string:

return "invoiceNumber";

Domyślnie w algorytmie dostępne są określone deklaracje using:

"System",
"System.Xml",
"System.Xml.Linq",
"System.Data",
"System.Linq",
"System.Collections",
"System.Collections.Generic",
"System.Windows",
"System.Windows.Forms",
"System.Data.Common",
"System.Text",
"Newtonsoft.Json.Linq",
"MongoDB.Bson"

Aby dodać przetwarzanie dla wybranego bitu, kliknij pusty rekord na liście i w polu Column wybierz kolumnę, dla której zdefiniujesz algorytm zwracający nową wartość.

image

W algorytmie możesz używać danych z bitów magistrali (aktualnie przetwarzany rekord), agregacji (cała magistrala), parametrów projektu oraz zmiennych globalnych wybierając odpowiednią funkcję lub nazwę parametru.

image

Dostępne funkcje:

  • GET_VALUE → wartość wskazanej kolumny magistrali,
  • 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,
  • IS_OPERATOR_EXECUTED → zwraca wartość true, jeśli wskazany operator został już wykonany, w przeciwnym razie false.

Ustaw kursor w miejscu, w którym chcesz wstawić funkcję, wybierz ją z listy rozwijanej i użyj przycisku wstawiania zaznaczonym na czerwono na poniższym zrzucie z ekranu.

image

Dla wybranej funkcji dostępny jest kreator, w którym należy wskazać bit magistrali oraz potwierdzić wstawienie przyciskiem Insert.

image

Algorytm można przetestować przyciskiem Test.

image

Jeśli test zakończy się poprawnie, zostanie wyświetlona zakładka Result z wynikiem działania algorytmu.

image

W przypadku błędu (np. składni C#) zostanie wyświetlona informacja o błędzie.

image
icon
Podczas testowania jako wartości zwracane przez funkcje i parametry projektu podstawiane są wartości domyślne:

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

icon
Algorytmy są wykonywane w kolejności ich dodania, dzięki czemu kolejne operacje korzystają z wartości nadanych we wcześniejszych krokach.