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 pełną elastyczność przekształcania danych i stanowi potężne narzędzie do realizacji niestandardowej logiki biznesowej w procesach GRAVITY.
W ramach jednego operatora możliwe jest zdefiniowanie wielu operacji przetwarzania. Wykonywane są one sekwencyjnie – dzięki temu kolejne operacje mogą wykorzystywać wyniki wcześniejszych kroków przetwarzania w ramach tego samego rekordu.
Operator nie tworzy nowych bitów – każdy wynik musi zostać przypisany do bitu istniejącego już na magistrali danych.
- zapisuje wynik do wskazanego wcześniej bitu magistrali.
- wykonuje zdefiniowany algorytm,
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
KONFIGURACJA OPERATORA
Konfiguracja operatora odbywa się poprzez wskazanie kolumny, do której zostanie przypisana wartość zwrócona przez algorytm.
Algorytm musi być napisany w języku C#. Algorytm jest ciałem funkcji, która musi zwrócić wartość o typie danych identycznym jak typ 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 do algorytmu dostępne są następujące 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 w pusty rekord na liście i w polu Column, wybierz kolumnę dla której zdefiniujesz algorytm przetwarzania zwracający nową wartośc dla tej kolumny.
Wprowadź algorytm w języku C#. W algorytmie możesz używać danych z bitów magistrali (rekord, który jest aktualnie przetwarzany), agregacji (cała magistrala) oraz parametrów projektu i zmiennych globalnych wybierając odpowiednią funkcję lub nazwę parametru.
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 użyty w projekcie został już wykonany, false jeśli nie.
Ustaw się kursorem myszy w miejscu gdzie chcesz wstawić funkcję wybierz funkcję z listy rozwijanej i użyj przycisku wstawiania wartości.
Po wybraniu funkcji użyj przycisku wstawiania wartości
Dla funkcji zobaczysz kreatora, w którym musisz wybrać bit magistrali, którego wartość chcesz użyć oraz potwierdzić wstawienie do algorytmu przyciskiem Insert.
Teraz możesz przetestować algorytm używając przycisku Test.
Jeśli wszystko jest w porządku zobaczysz zakładkę Result z wynikiem działania algorytmu.
Gdy popełniłeś błąd np. w składni języka C# zobaczysz informacje o błędzie.
DateTime → DateTime.Now
string → "Text"
double → 1.0
int → 1;
bool → true