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 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

image

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.

image

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.

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 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

image

Dla funkcji zobaczysz kreatora, w którym musisz wybrać bit magistrali, którego wartość chcesz użyć oraz potwierdzić wstawienie do algorytmu przyciskiem Insert.

image

Teraz możesz przetestować algorytm używając przycisku Test.

image

Jeśli wszystko jest w porządku zobaczysz zakładkę Result z wynikiem działania algorytmu.

image

Gdy popełniłeś błąd np. w składni języka C# zobaczysz informacje o błędzie.

image
icon
W trakcie testowania algorytmu jako wartości zwracane przez funkcję i parametry projektu 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

icon
Algorytmy przetwarzane są zgodnie z kolejnością dodania. Dzięki czemu wartości bitów w kolejnych algorytmach mają już przypisaną wartość z wcześniejszych algorytmów.