Scenariusze - omówienie

Scenariusze są to prywatne obszary robocze, których można używać do modelowania różnych założeń dotyczących danych Essbase i przeglądania ich wpływu na wynik agregacji, nie oddziałując przy tym na istniejące dane.

Każdy scenariusz jest wirtualnym wycinkiem kostki, w którym użytkownicy (jeden lub kilku) mogą modelować dane, a następnie zatwierdzać lub odrzucać dokonane zmiany.

Kostki z włączoną obsługą scenariuszy mają specjalny wymiar o nazwie "Sandbox". Jest to płaski wymiar z jednym elementem podstawowym (Base) i dowolną liczbą elementów niepodstawowych (maksymalnie 1000). Wszystkie elementy w wymiarze Sandbox są elementami poziomu 0. Elementy wymiaru "Sandbox" mają nadawane nazwy "sb0", "sb1" itd. Każdy wymiar "Sandbox" stanowi osobne środowisko Sandbox, podczas gdy w wymiarze podstawowym są przechowywane dane obecnie zawarte w kostce. Określony scenariusz jest powiązany dokładnie z jednym elementem wymiaru "Sandbox".

Sandbox
        Base
        sb0
        sb1
        sb2

Dane podstawowe są punktem startowym, zanim zaczniemy używać środowiska Sandbox do modelowania możliwych zmian. Dane z wymiaru "Sandbox" (nazywane także danymi ze scenariusza) są zatwierdzane dopiero po ich zastosowaniu przez właściciela scenariusza, wskutek czego dane podstawowe zostają zastąpione.

Przy pierwszym utworzeniu wszystkie części wspólne (przecięcia) elementów wymiaru "Sandbox" są wirtualne i nie mają fizycznego magazynu. Dane fizyczne z kostki są przechowywane w wycinku wymiaru podstawowego (Base). Zapytania nowych elementów wymiaru "Sandbox" dynamicznie odzwierciedlają wartości przechowywane w elemencie podstawowym.

Zmiany są składowane fizycznie w wymiarze "Sandbox" dopiero wtedy, gdy zostanie zaktualizowana dowolna z wartości w wymiarze "Sandbox". Gdy w elemencie wymiaru "Sandbox" zostaną zaktualizowane jakieś wartości, zapytania kierowane do wymiaru "Sandbox" będą odzwierciedlały mieszaninę wartości przechowywanych w wymiarze "Sandbox" i wartości dziedziczonych dynamicznie z wymiaru podstawowego.

Zmiany dokonane w wymiarze "Sandbox" nie są zatwierdzane dla wymiaru podstawowego, dopóki nie zostanie to wykonane jawnie, zazwyczaj po ukończonym procesie Workflow zatwierdzania. Zob. Role użytkowników scenariusza i proces Workflow - omówienie.

Po zakończeniu pracy z wymiarem "Sandbox" można przekazać go do procesu Workflow zatwierdzania, a można też ten proces pominąć i zatwierdzić zaktualizowane zmiany w wymiarze podstawowym albo odrzucić je i z nich zrezygnować.

Aby zarządzanie scenariuszami poprawnie działało, trzeba włączyć tryb hybrydowy. Dla zapytań jest ona włączona domyślnie. Nie należy jej wyłączać. Dla obliczeń trzeba także włączyć konfigurację aplikacji HYBRIDBSOINCALCSCRIPT. Zob. HYBRIDBSOINCALCSCRIPT (albo kontrolować tryb dla poszczególnych obliczeń, używając obliczeniowego polecenia SET HYBRIDBSOINCALCSCRIPT).

Do wymiaru "Sandbox" są stosowane filtry i zabezpieczenia.

Kostki z obsługą scenariuszy zawierają wymiar "CellProperties", który należy ignorować, gdyż jest on przeznaczony dla procesów wewnętrznych. Nie należy go modyfikować ani uwzględniać w obliczeniach, zapytaniach i regułach ładowania; nie powinien także być używany w obliczeniach ani żadnych innych operacjach.

Wyświetlanie danych scenariusza i praca z nimi

Istnieją dwa punkty wejściowe pozwalające wyświetlać dane scenariusza w narzędziu Smart View i pracować z nimi.

Scenariusz można uruchomić w narzędziu Smart View, używając internetowego interfejsu Essbase lub prywatnego połączenia narzędzia Smart View.

Aby można było analizować dane w scenariuszu, trzeba spełniać wszystkie następujące warunki:
  • Być użytkownikiem wyposażonym w aplikacji.
  • Mieć w odniesieniu do aplikacji uprawnienie co najmniej "Dostęp do bazy danych" (oraz, jeśli w wymiarze "Sandbox" mają być zmieniane dane, filtrowanie dostępu zapewniające prawo zapisu).
  • Być uczestnikiem scenariusza (utworzonego przez użytkownika z większym uprawnieniem).

Wyświetlanie danych scenariusza i praca z nimi przy użyciu internetowego interfejsu Essbase

Smart View można uruchomić ze scenariusza, używając interfejsu internetowego.

Gdy to nastąpi, można — ponieważ wejście nastąpiło ze scenariusza — pracować przy użyciu narzędzia Smart View z elementem wymiaru "Sandbox". Element ten jest ustalany niejawnie. Nie będzie widoczny w tabeli Smart View.

  1. W Essbase wybrać opcję Scenariusze.

  2. Kliknąć na ikonie "Excel" Ikona "Excel" obok scenariusza, który ma zostać wyświetlony.

  3. Wybrać otwarcie pliku.

  4. Zostanie uruchomiony program Excel z połączeniem narzędzia Smart View ze scenariuszem.

Gdy ta procedura zostanie wykonana, w arkuszu znajdzie się wycinek danych dla tego scenariusza. Można kierować zapytania dotyczące danych zawartych tylko w tym scenariuszu. Mając uprawnienie co najmniej "Aktualizacja bazy danych" dotyczące tej aplikacji, można przesyłać dane do tego scenariusza. (Przesyłając dane do scenariusza, przesyła się dane do jednego z elementów "Sandbox").

Scenariusz można uruchomić w Smart View tylko z interfejsu internetowego z systemu Windows, używając przeglądarki Firefox, Internet Explorer lub Chrome.

Wyświetlanie danych scenariusza i praca z nimi przy użyciu prywatnego połączenia z narzędziem Smart View

Można otworzyć program Excel i utworzyć prywatne połączenie z kostką, nie zaczynając z interfejsu internetowego.

Gdy zostanie to zrobione, wymiar "Sandbox" znajdzie się w arkuszu roboczym i będzie można przesłać dane do dowolnego z tych elementów, do których mamy dostęp. Jest to przydatne, gdy uczestniczymy w więcej niż jednym scenariuszu, lecz musimy dokładnie wiedzieć, w którym wymiarze "Sandbox" chcemy pracować.

Aby zobaczyć, który element wymiaru "Sandbox" jest powiązany ze scenariuszem, należy przejść do interfejsu internetowego, wybrać opcję Scenariusze, kliknąć na nazwie scenariusza, po czym wyświetlić kartę Informacje ogólne.

  1. Otworzyć program Excel.

  2. Nawiązać prywatne połączenie z kostką z obsługą scenariuszy.

  3. Przeprowadzić analizę doraźną.

  4. Drążyć wymiar "Sandbox" w celu wyświetlenia jego elementów.

Przykłady

To jest tabela Smart View zawierająca podstawowy i element wymiaru "Sandbox". Wartości w wymiarze "Sandbox" nie zostały zaktualizowane i dlatego są odzwierciedlane wartości podstawowe. Wartości te są przechowywane tylko w wymiarze podstawowym — nie są przechowywane w elementach sb (sandbox):


Rysunek pokazujący tabelę Smart View z elementem podstawowym i jednym elementem sb (sandbox).

Zmieniona wartość 500 (poniżej w elemencie "sandbox") jest składowana w elemencie wymiaru "Sandbox". Druga wartość elementu "sandbox", tj. 271, która nie została zaktualizowana jest składowana tylko w wymiarze podstawowym:


Rysunek pokazujący tabelę Smart View z elementem podstawowym i elementem sb (sandbox), ze zmienioną wartością elemenu "sandbox".

Poniżej jest pokazana tabela z więcej niż jednym elementem sb (sandbox). Mając przypisaną rolę "Dostęp do bazy danych" poziomu użytkownika i odpowiedni filtr zapisu, można przesyłać jednocześnie dane zawarte w więcej niż jednym scenariuszu:


Rysunek pokazujący tabelę Smart View z więcej niż jednym elementem sb (sandbox).

Obliczenia w scenariuszu — informacje podstawowe

Domyślnie Essbase oblicza wszystkie elementy z wymiaru, o ile nie została użyta instrukcja FIX, ograniczająca zakres obliczeń do określonego elementu lub grupy elementów wymiaru.

Wyjątkiem jest tu wymiar "Sandbox"; jeśli elementy z wymiaru "Sandbox" nie zostaną uwzględnione w instrukcji FIX dla obliczeń, to domyślnie będzie obliczany tylko element podstawowy z wymiaru "Sandbox". Aby zostały obliczone elementy niepodstawowe z wymiaru "Sandbox", trzeba uwzględnić je w instrukcji FIX, opcjonalnie wraz z elementem podstawowym.

Gdy w instrukcji FIX są określane elementy niepodstawowe, element podstawowy — jeśli nie zostanie jawnie podany — zostanie wykluczony z obliczeń.

Działanie to jest inne niż w przypadku obliczeń dla wymiarów innych niż "Sandbox" wyłączonych z instrukcji FIX; jeśli wymiar zostanie wyłączony z instrukcji FIX, Essbase obliczy wszystkie elementy z niejawnego wymiaru. Wymiary "Sandbox" są obliczane w inny sposób, ponieważ zazwyczaj zamiarem jest obliczanie elementu podstawowego lub innych wymiarów "Sandbox". Essbase oblicza nie wartości roboczego elementu "Sandbox", lecz wartości elementu podstawowego z wyjątkiem następujących sytuacji:

Jeśli z arkusza uruchamianego ze scenariusza zostanie uruchomiony skrypt obliczeń, to będą one wykonywane wymiarze "Sandbox" powiązanym ze scenariuszem, o ile w skrypcie nie zostanie jawnie określony konkretny wymiar "Sandbox".

Jeśli podczas pracy z arkuszem otwartym za pomocą prywatnego połączenia z narzędzia Smart View są wyświetlane wartości z wymiarów "Sandbox" i podstawowego, i jeśli wyróżnimy dowolną komórkę z wymiaru "Sandbox" oraz uruchomimy skrypt obliczeń bez jawnej instrukcji FIX dla wymiaru "Sandbox", to wymiar ten zostanie niejawnie obliczony, a Smart View zasygnalizuje, że to obliczenie miało miejsce. Jeśli zostanie wyróżniona komórka z wymiaru podstawowego (lub nie zostanie wyróżniona żadna komórka), to wymiar podstawowy zostanie obliczony, gdy uruchomimy skrypt obliczeń (Smart View zasygnalizuje, że wymiar ten został obliczony).

Elementy wymiaru "Sandbox" można obliczać za pomocą istniejących skryptów narzędzia MaxL, używając zarezerwowanej nazwy zmiennej substytucyjnej trybu wykonawczego "ess_sandbox_mbr".

Tę instrukcję można zaimplementować (dla swojego wymiaru "Sandbox") w dowolnym skrypcie narzędzia MaxL, bez konieczności tworzenia jakiejkolwiek zmiennej substytucyjnej na serwerze lub w aplikacji.

execute calculation appname.dbname.calcname with runtimesubvars ‘ess_sandbox_mbr=sb0;’;

Ładowanie danych do kostek z obsługą scenariuszy — informacje podstawowe

Kostki z obsługą scenariuszy można ładować, używając eksportów (eksportów danych), które zostały sporządzone przed włączeniem obsługi scenariuszy. Dane będą ładowane do podstawowego elementu wymiaru "Sandbox".

Jeśli nie został użyty eksport kolumn, nie mogą istnieć zmiany elementu struktury, które unieważniłyby ładowanie danych. Jeśli został użyty eksport kolumn, lecz struktura uległa zmianie, być może do załadowania danych będzie potrzebny plik .rul.

Eksportowanie danych z kostek z obsługą scenariuszy — informacje podstawowe

Kostki z obsługą kostek mają wymiar "CellProperties", używany do celów wewnętrznych, który jednak jest uwzględniany w eksporcie danych i musi być również uwzględniany podczas ładowania wyeksportowanych danych. Ponadto, pracując z wyeksportowanymi danymi, trzeba rozumieć funkcjonowanie wymiaru "Sandbox".

Eksportując dane z kostek z włączoną obsługą scenariuszy, należy pamiętać, że:

  • Jeśli do eksportowania danych z kostki z włączoną obsługą scenariuszy jest używana strona Zlecenia z interfejsu internetowego, wynikowy plik danych zawiera wszystkie trzy elementy (EssValue, EssStatus i EssTID) wymiaru "CellProperties". Żadnej z tych kolumn nie należy eliminować.
  • Plik danych z eksportu zawiera dane składowane fizycznie w kostce, zgodnie z wyborem dokonanym przez użytkownika: dane poziomu zerowego, wszystkie dane lub dane wejściowe.
  • Jeśli w elementach "Sandbox" zostały zmienione wartości, to znajdą się one w eksporcie.
  • Aby można było załadować wyeksportowane dane do elementów "Sandbox", w pliku danych muszą być zawarte wartości wszystkich trzech elementów (EssValue, EssStatus i EssTID) wymiaru "CellProperties".

Partycje replikowane i przezroczyste w kostkach z obsługą scenariuszy — informacje podstawowe

Partycje replikowane i przezroczyste łączą wycinki z dwóch kostek Essbase. Jest to przypadek, w którym żadna, jedna lub obie kostki mają włączoną obsługę scenariuszy.

Gdy scenariusze są tworzone, zaczynają być używane wymiary "Sandbox". Nie ma jednak gwarancji, że scenariusze z partycjonowanej kostki zostaną przypisane do tego samego numeru wymiaru "Sandbox". Ten sam użytkownik może uczestniczyć w wymiarach (środowiskach) "Sandbox" w kilku kostkach. Wskutek wprowadzenia scenariuszy pojawiają się następujące ograniczenia:

  • Jeśli źródło partycji przezroczystej ma włączoną obsługę scenariuszy, zapytania do celu będą zawsze ściągać dane ze źródłowego elementu podstawowego z wymiaru "Sandbox".
  • Zapisywanie zwrotne między kostkami docelową i źródłową z włączoną obsługą scenariuszy jest dozwolone tylko dla elementów podstawowych w kostkach: element podstawowy z kostki docelowej może zapisywać tylko w elemencie bazowym w kostce źródłowej.

    Przykład: Zapisywanie zwrotne w źródle, normalnie włączone z docelowych kostek partycji przezroczystej, jest wyłączone dla elementów niepodstawowych wymiaru "Sandbox" w kostkach docelowych z włączoną obsługą scenariuszy. Zezwolenie użytkownikowi odległego wymiaru "Sandbox" na zapisywanie bezpośrednio w elemencie podstawowym kostki źródłowej stanowi naruszenie uprawnień.

  • W przypadku partycji replikowanych replikacja jest możliwa tylko między elementami podstawowymi kostek źródłowej i docelowej.

Zob. Omówienie partycji replikowanych i przezroczystych.

XREF/XWRITE w kostkach z obsługą scenariuszy

W kostkach z obsługą scenariuszy można używać instrukcji XREF i XWRITE — odpowiednio — do odwoływania się do danych w innej kostce lub do zapisywania danych w kostce.

XREF kieruje zapytanie z kostki lokalnej (zawierającej instrukcję XREF) do kostki odległej. Jeśli kostka odległa ma włączoną obsługę scenariuszy, XREF jedynie ściąga z tej kostki dane podstawowe.

XREF aktualizuje kostkę odległą, używając danych z kostki lokalnej (zawierającej instrukcję XWRITE). Ponieważ XWRITE zapisuje dane w kostce odległej, zakres instrukcji XWRITE ma znaczenie.

Dla różnych kombinacji kostek z włączoną obsługą scenariuszy i kostek bez włączonej obsługi scenariuszy, XWRITE działa następująco:

Jeśli kostka lokalna z włączoną obsługą scenariuszy odwołuje się do kostki odległej bez włączonej obsługi scenariuszy, to:
  • Polecenie FIX dot. elementu podstawowego w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zapisanie elementu podstawowego z kostki lokalnej w kostce odległej.
  • Brak polecenia FIX dot. dowolnego elementu "Sandbox" w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zapisanie elementu podstawowego z kostki lokalnej w kostce odległej. Jeśli w poleceniu FIX nie zostanie zawarty element "Sandbox", zostanie automatycznie uwzględniony element podstawowy.
  • Polecenie FIX dot. elementu "Sandbox" w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zwrócenie błędu. Zapisywanie w kostce odległej danych z podstawowego elementu innego niż "Sandbox" nie jest obsługiwane.
Jeśli kostka lokalna z włączoną obsługą scenariuszy odwołuje się do kostki odległej z włączoną obsługą scenariuszy, to:
  • Polecenie FIX dot. elementu podstawowego w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zapisanie elementu podstawowego z kostki lokalnej w elemencie podstawowym w kostce odległej.
  • Brak polecenia FIX dot. dowolnego elementu "Sandbox" w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zapisanie elementu podstawowego z kostki lokalnej w elemencie podstawowym w kostce odległej. Jeśli nie zostanie zawarty element "Sandbox", zostanie automatycznie uwzględniony element podstawowy.
  • Polecenie FIX dot. elementu "Sandbox" w kostce lokalnej z instrukcją XWRITE odnoszącą się do kostki odległej powoduje zwrócenie błędu. Zapisywanie w kostce odległej danych z podstawowego elementu innego niż "Sandbox" nie jest obsługiwane.

Jeśli kostka lokalna bez włączonej obsługi scenariuszy odwołuje się do odległej kostki z włączoną obsługą scenariuszy, to XWRITE zawsze powoduje aktualizację elementu podstawowego kostki odległej.

Zob. Omówienie funkcji @XREF/@XWRITE.

Ślad inspekcji dla kostek z obsługą scenariuszy — informacje podstawowe

Ślad inspekcji danych umożliwia śledzenie aktualizacji danych w kostce. Chcąc pracować ze śladem inspekcji dla kostek z włączonymi scenariuszami, należy rozumieć, co definiuje "stare" i "nowe" wartości, a także umieć się posługiwać dwoma różnymi punktami wejścia, umożliwiającymi pracę w Smart View z danymi z wymiaru "Sandbox".

Zakłada się tu, że użytkownik jest obeznany z różnymi punktami wejścia umożliwiającymi wyświetlanie danych scenariusza. Zob.

Przyjęcie, że najnowsza zatwierdzona aktualizacja danych komórki to "nowe" dane, a wszystkie poprzednie wartości tej komórki to "stare" dane, pomaga zrozumieć, w jaki sposób ślad inspekcji działa w kostkach z włączonymi scenariuszami.

Nowy lub nieużywany wymiar "Sandbox" w kostce z włączonymi scenariuszami nie zawiera żadnych przechowywanych wartości. Wartości pokazywane użytkownikom, takie jak wartości wyświetlane w arkuszu kalkulacyjnym, odpowiadają wartościom przechowywanym w wymiarze podstawowym.

Jeśli ślad inspekcji danych jest używany dla kostki z włączonymi scenariuszami, wartości podstawowe, wyświetlane w arkuszu kalkulacyjnym dla wymiaru "Sandbox", są traktowane jako wartości "stare".

Wartości zaktualizowane w wymiarze "Sandbox" są w nim przechowywane (nie są przechowywane w wymiarze podstawowym). Na potrzeby śladu inspekcji danych wartości te są "nowe".

Jeśli te "nowe" wartości będą później aktualizowane, ślad inspekcji będzie śledził najnowsze zmiany. Poprzednie wartości będzie traktował jako "stare", a zaktualizowane wartości — jako "nowe".

Podsumowując:
  • Stare wartości są wartościami podstawowymi odzwierciedlanymi w nowym wymiarze "Sandbox".
  • Początkowo nowymi wartościami są zaktualizowane wartości przechowywane w wymiarze "Sandbox".
  • Następnie, zaktualizowane wartości są nowymi, a wartości przez nie zastąpione — starymi.
Istnieją dwa możliwe punkty wejściowe pozwalające pracować z danymi w narzędziu Smart View:
  • Można otworzyć program Excel i utworzyć prywatne połączenie z kostką, nie zaczynając z internetowego interfejsu Essbase.
  • Smart View można uruchomić ze scenariusza, używając interfejsu internetowego.

Gdy zaczyna się od otwarcia programu Excel i utworzenia prywatnego połączenia z kostką, ślad inspekcji działa tak, jak można tego oczekiwać dla innego dowolnego zbioru danych.

Gdy narzędzie Smart View zostanie uruchomione ze scenariusza przy użyciu internetowego interfejsu Essbase, ślad inspekcji będzie działał inaczej.
  • Gdy dzienniki zostaną wyeksportowane do arkusza, nie będzie on pokazywał jawnego elementu wymiaru "Sandbox".
  • Jeśli za pomocą przycisku Doraźne, znajdującego się pod okienkiem Ślad inspekcji, zostanie uruchomiony nowy arkusz, to nie będzie on pokazywał jawnego elementu wymiaru "Sandbox", a wszystkie zmiany dokonywane w tym arkuszu będą miały wpływ na wartości danych dla tego elementu wymiaru "Sandbox".

Ograniczenia scenariuszy — informacje podstawowe

Ograniczenia te mają zastosowanie do wymiarów "Scenario" i "Sandbox".

  • Scenariusze nie są obsługiwane w kostkach stanowiących magazyn agregacji.

  • Polecenie obliczeniowe DATAEXPORT nie jest obsługiwane dla elementów wymiaru "Sandbox". Jest obsługiwane tylko dla wymiaru podstawowego (Base).

  • Jeśli użytkownik łączy się z arkuszem uruchamianym przez scenariusz, to zapytania MDX, wstawienia MDX i eksporty MDX nie będą działać z wymiarem "Sandbox" dla tego scenariusza, lecz z wymiarem podstawowym.

  • Zmienne substytucyjne trybu wykonawczego z parametrem svLaunch nie są obsługiwane, gdy scenariusz jest uruchamiany w aplikacji Smart View przy użyciu interfejsu internetowego Essbase. Zob. Wyświetlanie danych scenariusza i praca z nimi przy użyciu internetowego interfejsu Essbase.

    Zmienne substytucyjne trybu wykonawczego z parametrem svLaunch działają poprawnie, gdy połączenie ze scenariuszem jest nawiązywane bezpośrednio z prywatnego połączenia. Wynika to z tego, że element wymiaru "Sandbox" jest dołączany do arkusza.

Istnieją pewne funkcje nieobsługiwane w trybie hybrydowym, które są używane z kostkami z obsługą scenariuszy. Zob. Functions Supported in Hybrid Mode.