SAP Analytics Cloud – automatyczna zmiana stron wizualizacji

SAP Analytics Designer, który jest częścią SAP Analytics Cloud, umożliwia rozszerzenie standardowego raportowania. Zastosowanie skryptu (uproszczony javascript) i gotowych komponentów tj. button, page book, panel, zakładki, timer, slider itp. oraz komponentów powiązanych bezpośrednio z modułem planistycznym np. Data Action Trigger pozwala na automatyzację określonych działań oraz budowę zaawansowanych aplikacji analitycznych.  SAC to nie tylko narzędzie, w którym wyświetlamy pobrane dane wykorzystując dwa typy połączeń (live i import), to również platforma do komunikacji, wymiany danych z takimi systemami jak BW i S4/HANA.

W artykule przedstawiono, jak komponenty Timer oraz Page Book mogą wspierać wyświetlanie gotowych wykresów/tabel, które zmieniają się w wyznaczonym czasie. Kiedy można użyć takiego rozwiązania? Na przykład w zakładach produkcyjnych, aby na bieżąco sprawdzić aktualną wydajność, u prezesa w biurze pokazując KPI lub wysyłając notyfikacje o ustalonej porze. Próbkę tego rozwiązania można zobaczyć poniżej:

W przykładzie użyte zostały poniższe komponenty:

  • PageBook
  • Timer

PageBook – komponent, który służy do grupowania wizualizacji na różnych stronach. Bardzo często wykorzystywany jest w aplikacjach mobilnych do przełączania stron za pomocą gestu.
Timer – komponent, który pozwala na uruchomienie licznika czasu, który wyzwala zdarzenie.

Projektowanie podzieliłem na trzy główne kroki:

  1. Budowa story czyli konfiguracja PageBook oraz dodanie tytułu i tła. Osobną kwestią jest wybór wykresów i ich formatowanie (którego dokładny opis będzie pominięty w tym artykule). Poniżej zrzut w jaki sposób zostały ułożone obiekty:
  1. Dodanie komponentu Timer
  1. Skryptowanie
  • Script Variable
    • PageBook_Animation_Interwal – ustawienie interwału działania Timera
  • Script Objects
    • PageBook_onTimer – funkcja obsługująca licznik czasu oraz wywołuje funkcję PageBook_Animation
    • PageBook_Animation – sprawdza status strony i wyświetla ją w odpowiedniej kolejności
    • PageBook_Initialization – inicjuje uruchomienie komponentu Timer z odpowiednim interwałem

      Wykorzystany jest w zdarzeniu uruchamiającym aplikację (onInitialization):
  • Komponent PageBook_Timer – wywołanie funkcji PageBook_onTimer()