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.
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.
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.
W Essbase wybrać opcję Scenariusze.
Kliknąć na ikonie "Excel" obok scenariusza, który ma zostać wyświetlony.
Wybrać otwarcie pliku.
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.
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.
Otworzyć program Excel.
Nawiązać prywatne połączenie z kostką z obsługą scenariuszy.
Przeprowadzić analizę doraźną.
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):
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:
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:
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:
Obliczenie jest ukierunkowane na określone elementy wymiaru "Sandbox".
Obliczenie jest wykonywane z arkusza uruchamianego ze scenariusza przy użyciu interfejsu internetowego. Zob. Wyświetlanie danych scenariusza i praca z nimi przy użyciu internetowego interfejsu Essbase.
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.
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.
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:
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:
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 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 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.
Ś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".
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".
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.
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.