Społeczność    


  ROBOTY W MS EXCEL - NAJWAŻNIEJSZE RZECZY W PIGUŁCECE


MOJE DOŚWIADCZENIE

* Zaprojektowałem i zbudowałem setki automatycznie działających rozwiązań w MS Excel.
* Napisałem kilka książek dotyczących zastosowana MS Excel w budowie rozwiązań.
* Przeprowadziłem kilkanaście tysięcy godzin warsztatów z projektowania i budowy rozwiązań i narzędzi w MS Excel.
* Zrealizowałem badania na temat możliwości zastosowania MS Excel do budowy robotów, nauczyłem się oceniać jakość rozwiązań

* Opracowałem algorytmy, do rozwiązywania wielu różnych funkcjonalności.
* Zbudowałem dziesiątki różnych narzędzi (stosuję do tego: MS Excel, Visual Basic, SQL), które wykorzystuję do budowy automatycznie działających rozwiązań (robotów). Te narzędzia, to są „klocki”, które pozwalają na budowę robotów.

* Opracowałem zasady Metodyki 4TG, są to zasady projektowania i budowy automatycznie działających rozwiązań (robotów) o określonym poziomie jakości. Jakość rozwiązań informatycznych określa się poprzez ich cechy. A to znaczy, że Metodyka 4TG „pilnuje” przede wszystkim takich cech rozwiązania (robota) jak: czytelność, bezpieczeństwo, elastyczność (i często szybkość).
- Bezpieczeństwo określone jako niezawodność działania, zależy od:
-- elementów MS Excel oraz sposobów i metod wykorzystanych przy budowie rozwiązania przez projektanta,
-- wiedzy i umiejętności użytkowników; tu ważne jest, aby użytkownik swobodnie i sprawnie posługiwał się robotem (umiał go uruchomić, zatrzymać, zmienić parametry działania).
- Czytelność:
-- dla użytkownika to rozumienie działania robota (łatwość analizy danych, które przechowuje robot).
-- dla projektanta to łatwość analizy poszczególnych elementów robota i jego działania (dlatego do budowy robotów używam tylko prostych elementów MS Excel). Trzeba pamiętać, że osoby, które projektowały rozwiązanie niekoniecznie będą potem je modyfikowały.

- Elastyczność to automatyczne dostosowywanie się robota do przeprowadzonych zmian.


NAJWAŻNIEJSZE NARZĘDZIA I ZASADY ORGANIZACYJNE

Najważniejsze rzeczy, ułatwiające pracę przy projektowaniu i budowie robotów, to:
- schematy raportów (łącznie z narzędziami do implementacji typów raportów: indywidualny, zbiorczy, zagregowany),
- zasady prowadzenia rejestrów (łącznie z narzędziami do: tworzenia relacji między rejestrami, filtrowania, sortowania, łączenia danych, modyfikacji, …),
- narzędzia do transmisji danych z różnych typów plików i różnych struktur (w tym narzędzia: słownika),
- organizacja i budowa typów raportów: zbiorcze, zagregowane, dokumenty indywidualne,
- narzędzia do zarządzania wyborami z list (z dziesiątkami funkcjonalności niższego poziomu) - to jest odpowiedź na słabo działające podobne narzędzia zrobione w MS Excel; to narzędzie jest konieczne dla parametryzacji raportów (przed pandemią prowadziłem dwudniowe warsztaty z tego narzędzia,
artykuł działania list i szablonów (szablony, to jedno z rozszerzeń zarządzania wyborem z listami) jest na stronie narzędzie do wyboru z list stosowane jest do parametryzacji raportów),
- narzędzia do zarządzania administracją projektu (w tym, między innymi: blokowaniem, ukrywaniem, ochroną arkuszy/zakresów, formatowaniem),
- narzędzia do nawigacji,
- narzędzia do skalowania (redukcji) danych; po zdefiniowaniu parametrów pozostają tylko te dane (i arkusze), które dany użytkownik powinien/może dostać,
- narzędzia do transmisji danych i kopiowania wybranych danych między strukturami danch - algorytmy, które rozwiązują standardowe problemy (są stosowane w arkuszach typu rejestr oraz typu raport),
- Metodyka 4TG - zasady projektowania i budowy automatycznie działających rozwiązań (robotów) o określonym poziomie jakości (jakość systemów informatycznych określa się poprzez jego cechy); Metodyka 4TG „pilnuje” przede wszystkim cech rozwiązania (robota): czytelność, bezpieczeństwo, elastyczność, szybkość,
- prosty język 4TG (napisany w Visual Basic), który pozwala na szybkie przekształcenie projektu przepływu informacji na aplikację; jedna instrukcja języka, to od kilkunastu do kilkudziesięciu instrukcji języka Visual Basic (dzięki językowi szybko tworzy się roboty, szybko je analizuje i modyfikuje - zarządza działaniami); język obsługuję wszystkie struktury programowe (sekwencję, selekcję i pętle), i zawiera instrukcje, które obsługują potrzebne funkcjonalności (cel: budowa robota, a nie praca ręczna)
Język ma funkcjonalności niż narzędazia Power Query, a dodatkowo użycie języka nie jest tak trudne. Dlatego zamiast narzędzi Power Query stosujemy rozwiązania oparte na czytelności i elastyczności. Zaletą jest: prosta budowa, większa funkcjonalność niż narzędzi typu Power; ' narzędzia typu Power czasem odmawiają współpracy przy dużej liczbie danych, a język 4TG radzi sobie z tym
- serwer EDI wykorzystujący instrukcje języka;
na serwerze działa bezobsługowa aplikacja w MS Excel, która otrzymuje zadania do wykonania od różnych aplikacji klienckich (użytkowników, którzy pracują w aplikacjach)
aplikacja: serwer EDI ustawia zadania w kolejce, wykonuje je, zarządza przechowywanymi danymi; dzięki temu można budować dowolne aplikacje pracujące na wspólnych danych oraz komunikujące się między sobą
* tego nie może zrobić narzędziami dostarczanymi przez producenta MS Excel (koszmarnie działający wielodostęp, to tak, jak gdyby w ogóle go nie było)
Dzięki temu w MS Excel projektujemy i budujemy aplikacje, które komunikują się ze sobą (obejmujące pracowników, działy, firmy między sobą). Zob. Rysunek


Rysunek. Na serwerze działa w MS Excel bezobsługowa aplikacja SERWER EDI, u klientów działają aplikacje, którymi posługują się użytkownicy.


CO WNIOSŁY BADANIA DO SPOSOBU MYŚLENIA O ZASTOSOWANIU MS EXCEL?

Przeprowadziłem badania zastosowania MS Excel do budowy robotów. Badania dotyczyły:
- typowych zastosowań MS Excel; na podstawie wniosków z badań wyodrębniłem standardowe funkcjonalności, z których składają się typowe zastosowania, opracowałem algorytmy oraz narzędzia w MS Excel, które te funkcjonalności realizują automatycznie,
- elementów MS Excel; wiadomo, że różne funkcjonalności można zrealizować różnymi sposobami, starałem się wyodrębnić jak najlepsze sposoby, to znaczy takie, dzięki którym można uzyskać preferowaną jakość robota; jakość zdefiniowana jest w normach ISO dotyczących jakości oprogramowania; jakość oprogramowania określona jest przez cechy rozwiązania (robota).
Przy okazji badań elementów MS Excel, okazało się, że zastosowanie niektórych z nich nie pozwala na utrzymanie właściwej jakości robota; a to oznacza, że takich elementów nie można używać do budowy robota.


JAK BUDUJĘ ROBOTY W MS EXCEL?

Do budowy robotów wykorzystuję ogólny schemat przepływu informacji. Schemat zawiera składowe robota (bezpośrednio związane z funkcjami informatyki) i powiązania między nimi.
Oznacza to, że idea budowy schematu opiera się na funkcjach informatyki. Jest pięć funkcji informatyki:
- wprowadzanie danych (bezpośrednio przez użytkownika),
- transmisja danych (wejściowa do systemu i wyjściowa z systemu),
- przechowywanie danych (dane przechowywane są we wcześniej zaprojektowanych strukturach danych),
- przetwarzanie danych (do przetwarzania danych stosuję formuły (wzory), VB, SQL i autorski język 4TG,
- raportowanie (dostarczanie wyników).
Zbudowałem narzędzia, które realizują poszczególne funkcje informatyki (narzędzia tak są zbudowane, że nadają się zarówno do budowy robota i do pracy ręcznej w MS Excel). Do budowy narzędzi wykorzystałem łatwe w zrozumieniu algorytmy oraz elementy MS Excel.
Chcąc zbudować robota należy:
- przeanalizować potrzeby,
- na podstawie potrzeb stworzyć wizję działania robota; wizja robota – wstępny projekt wykorzystuje ogólny schemat przepływu informacji,
- wstępny projekt powinien zostać przedstawiony użytkownikom po to, aby można było przeprowadzić dyskusję na temat działania przyszłego systemu; a w przypadku rozbieżności zmodyfikować go,
- zrobić projekt ogólny robota (struktury danych oraz przepływy danych); do tego celu, w większości przypadków, wykorzystywane są standardowe funkcjonalności,
- na podstawie projektu ogólnego zbudować robota; czyli
-- dla każdej funkcjonalności standardowej wykorzystać zrobione wcześniej narzędzia; a jeśli nie jest to funkcjonalność standardowa, zrobić projekt szczegółowy zadanej funkcjonalności i zbudować ją; -- narzędzie zastosować w rozwiązaniu (robocie), przetestować działanie funkcjonalności zamieszczonej w robocie, -- zrobić opis rozwiązania dla użytkownika oraz projektanta we właściwych częściach arkusza (rozwiązanie musi być czytelne nie tylko dzięki zastosowaniu prostych wzorów),
- testowanie całości rozwiązania (wraz z użytkownikami); a jeśli pojawią się błędy, to konieczna jest: -- analiza, -- wnioski o przyczynach błędów, -- zaprojektowanie czynności, które pozwolą pozbycia się błędów, zmodyfikować rozwiązanie,
- wdrożenie (szkolenie użytkowników).

Proponuję częsty kontakt: projektant - osoby zainteresowane, prezetacje części rozwiązań, uzgodnienia, prezentacja możliwości rozwiązania, wspólne rozwiązywanie problemów, wymiana informacji przy projektowaniu zmiany obiegu informacji.
Wtedy widać, że obydwie strony mają wspólny cel, a to sprzyja opracowaniu lepszego rozwiązania.
Jeśli brakuje wymiany informacji (zainteresowania z obydwu stron), to ciężko jest kontrolować projekt oraz uzgodnienie w projekcie.

CO ROBIĄ ROBOTY W MS EXCEL?

Automatycznie realizowane procesy:
- czytanie danych z różnych źródeł,
- przechowanie danych w zaprojektowanych strukturach danych,
- tworzenia raportów (raporty sterowane parametrami),
- analiza wyników raportów,
- rozsyłanie raportów i analiz do użytkowników,
- komunikacja (wymianę danych) między aplikacjami użytkowników między sobą,
- zarządzanie dostępem użytkowników do właściwych dla nich informacji,
- rejestrowanie w trybie rzeczywistym transakcji (modyfikowanie i usuwanie transakcji; do tego celu wykorzystywany jest serwer EDI (elektronicznej wymiany danych).

Wykorzystujemy te narzędzia do automatyzacji procesów:
- raportowania,
- controllingu,
- balanced scorecard,
- zarządzanie produkcją,
- logistyki,
- przygotowywania ofert, zamówień, produkcji w celu ułatwienia śledzenia zamówień oraz sporządzania planów,
- optymalizacyjnych…
… przykłady zrealizowanych systemów z optymalizacjami:
-- rozwiązanie do planowania szkoleń z SAP (planowania terminów, uczestników, prowadzących oraz sal tak, aby nie było konfliktów),
-- rozwiązanie do ustalania kolejności produkcji tak, aby czasy przezbrajania maszyn były najmniejsze.
- innych procesów, które mogą przyspieszać pracę oraz pozyskiwać te informacje, których do tej pory nie udało się uzyskać.


Roboty nie wykorzystują narzędzi typu Power, a nawet nie wykorzystują tablic przestawnych. Funkcjonalności, które realizują te narzędzia są możliwe do zrealizowania w inny, prosty sposób, przy użyciu łatwych elementów MS Excel. Ogólna zasada jest taka: IM BARDZIEJ ZŁOŻONE NARZĘDZIA ZASTOSUJEMY, TYM TRUDNIEJ BĘDZIE NIMI ZARZĄDZAĆ (UŻYTKOWAĆ, ANALIZOWAĆ, MODYFIKOWAĆ)