Praktyka czyni mistrzów, czyli tworzymy workflow w KNIME (cz. 2)
W poprzednim artykule zacząłem pokazywać, jak z danych w Excelu, zawierających informacje o różnych fakturach, można szybko stworzyć wiekowanie należności i zobowiązań według kontrahentów. Nasze poprzednie spotkanie zakończyliśmy tuż przed tym, gdy mieliśmy domknąć pętlę przetwarzającą dane poszczególnych kontrahentów. Zatem – domknijmy ją i analizujmy dalej.
W momencie, w którym się rozstawaliśmy, dysponowaliśmy tabelą dla jednego z kontrahentów, składającą się z trzech kolumn: przedziałów wiekowania, wartości w tych przedziałach i numeru NIP. Dane te znajdowały się w porcie wyjścia węzła Constant Value Column, gdzie dodaliśmy kolumnę ze stałą wartością – właśnie NIP-em – na podstawie wyciągniętej wcześniej zmiennej.
W tym miejscu winien jestem jedno wyjaśnienie. Można było uzyskać ten efekt nieco prostszym sposobem. Zamiast tworzyć zmienną przechowującą NIP kontrahenta, poprzez nią dodawać kolumnę, mogliśmy ustawić te parametry w węźle grupującym Wg przedziałów. Zależało mi jednak na tym, aby pokazać jak najwięcej możliwości KNIME. W ten sposób widać, że z danych przetworzonych przez workflow można tworzyć zmienne, które potem mogą nim sterować. Jednocześnie zmienne możemy wprowadzać na różnych etapach do danych i wykorzystywać w dalszej analizie.
Bez względu na to, jak uzyskamy naszą tabelę z wiekowaniem, to wszystko, co możemy z nią zrobić na tym etapie. Pora przekazać ją węzłowi zamykającemu pętlę, aby móc utworzyć zestawienie dla wszystkich naszych kontrahentów. Dlatego węzeł Constant Value Column podłączamy do górnego portu węzła Recursive Loop End, który czekał na ten moment od dawna. Do tej pory miał podłączony do dolnego portu jedynie węzeł Row Splitter, dzielący tabelę unikatowych NIP-ów. Teraz pętla jest gotowa i możemy ją uruchomić. Zwracam uwagę, że – w zależności od rozmiaru naszych danych, jak i mocy obliczeniowych komputera – jej zakończenie może trochę potrwać, niemniej nie powinno to przekroczyć kilkunastu–kilkudziesięciu sekund. O zakończeniu działania pętli poinformuje nas zielone światło pod kończącym ją węzłem. W jej porcie wyjściowym powinna czekać na nas tabela składająca się z trzech kolumn zawierających: przedziały wiekowania, salda dla tych przedziałów oraz NIP-y naszych kontrahentów. W zależności od sposobu przetwarzania danych w pętli (z wykorzystaniem tworzenia zmiennej lub tylko za pomocą grupowania danych) kolejność tych kolumn może być różna.
Tak ułożone dane należy przetworzyć do bardziej zrozumiałej postaci. Użytkownicy Excela zapewne zakrzykną w tym momencie „tabela przestawna!” – i będą mieli rację. Ale obiecałem, że nie wyjdziemy z KNIME. Dlatego następnym węzłem po zamknięciu pętli będzie Pivoting. Pozwala on na przekształcenie danych w tabeli przestawnej dokładnie tak, jak robi to Excel. Ma też trzy porty wyjścia, ale o nich za chwilę. Najpierw przetwórzmy nasze dane.
Wykorzystałeś swój limit bezpłatnych treści
Pozostałe 77% artykułu dostępne jest dla zalogowanych użytkowników portalu. Zaloguj się, wybierz plan abonamentowy albo kup dostęp do artykułu/dokumentu.