Na przykład trzeba utworzyć analizę, w której tytule jest wyświetlana nazwa bieżącego użytkownika. Można to zrobić, odwołując się do zmiennej.
W analizach, pulpitach informacyjnych i czynnościach można stosować różne typy zmiennych: sesyjne, modelu semantycznego (repozytoryjne), prezentacyjne, żądaniowe i globalne. Autorzy zawartości mogą samodzielnie definiować zmienne prezentacyjne, żądaniowe i globalne, lecz inne typy zmiennych, tj. zmienne sesyjne i zmienne modelu semantycznego, (repozytoryjne), są definiowane w modelu semantycznym.
Uwaga: Oracle Analytics w uwierzytelnieniach połączenia ze źródłem danych nie obsługuje zmiennej :user ani :password.
Typ zmiennej | Definiowana w | Definiowana przez | Więcej informacji |
---|---|---|---|
Sesyjna
|
Model semantyczny |
Autorzy modelu danych |
Zmienne sesyjne - informacje podstawowe |
Zmienna modelu semantycznego (repozytoryjna)
|
Model semantyczny |
Autorzy modelu danych |
Zmienne modelu semantycznego (repozytoryjne) - informacje podstawowe |
Prezentacyjna |
Filtry monitujące dla analiz i pulpitów informacyjnych |
Autorzy zawartości |
Zmienne prezentacyjne - informacje podstawowe |
Żądaniowa |
Filtry monitujące dla analiz i pulpitów informacyjnych |
Autorzy zawartości |
Zmienne żądaniowe - informacje podstawowe |
Globalna |
Analizy |
Administratorzy |
Zmienne globalne - informacje podstawowe i Tworzenie zmiennych globalnych |
Zmienne sesyjne są inicjalizowane po zalogowaniu się użytkownika.
Zmienne te istnieją dla każdego użytkownika przez cały czas sesji przeglądania i wygasają, gdy użytkownik zamknie przeglądarkę i się wyloguje. Istnieją dwa typy zmiennych sesyjnych: systemowe i niesystemowe.
Istnieje kilka zmiennych sesyjnych systemowych, których można używać w raportach i pulpitach informacyjnych.
Nazwy zmiennych sesyjnych systemowych są zarezerwowane i dlatego nie można używać tych nazw dla żadnej innej zmiennej.
Zmienna sesyjna systemowa | Opis | Przykładowe zapytanie SQL (okno dialogowe "Zmienna") |
---|---|---|
PORTALPATH |
Identyfikuje domyślny pulpit informacyjny, widziany przez użytkownika po zalogowaniu się (użytkownicy mogą zmienić tę preferencję po zalogowaniu się). |
Aby po zalogowaniu się użytkownika został wyświetlony pulpit informacyjny "mydashboard": select ‘/shared/_portal/mydashboard’ from dual; |
TIMEZONE |
Określa domyślną strefę czasową po zalogowaniu się użytkownika. Strefa czasowa użytkownika jest zazwyczaj ustalana na podstawie profilu użytkownika. Użytkownicy mogą zmienić swoją domyślną strefę czasową za pomocą preferencji (aplikacja "My Account"). |
Aby ustawić strefę czasową po zalogowaniu się użytkownika: select ‘(GMT-08:00) Pacific Time (US & Canada)’ from dual; |
DATA_TZ |
Określa przesunięcie od pierwotnej strefy czasowej, stosowane dla danych. Zmienna ta umożliwia konwersję strefy czasowej, tak aby użytkownicy widzieli odpowiednią strefę czasową. |
Aby przekonwertować strefę czasową na standardowy czas wschodni amerykański (EST): select ‘GMT-05:00’ from dual; Ten przykład przedstawia uniwersalny czas średni (GMT) - 5 godzin |
DATA_DISPLAY_TZ |
Określa strefę czasową do wyświetlania danych. |
Aby był używany standardowy czas wschodni amerykański (EST): select ‘GMT-05:00’ from dual; Ten przykład przedstawia uniwersalny czas średni (GMT) - 5 godzin |
Zmienna modelu semantycznego (repozytoryjna) to zmienna, która w dowolnym momencie ma konkretną wartość.
Zmienne modelu semantycznego (repozytoryjne) mogą być statyczne lub dynamiczne. Wartość statycznej zmiennej modelu semantycznego (repozytoryjnej) jest stała i nie ulega zmianie, dopóki nie zostanie zmieniona przez administratora. Wartość dynamicznej zmiennej modelu semantycznego (repozytoryjnej) jest odświeżana na podstawie danych zwracanych przez zapytania.
Zmienna prezentacyjna jest tworzona podczas tworzenia filtra monitującego kolumny lub filtra monitującego zmiennej.
Typ | Opis |
---|---|
Filtr monitujący kolumny |
Zmienna prezentacyjna tworzona razem z filtrem monitującym kolumny jest powiązana z daną kolumną i może przyjmować tylko wartości pochodzące z tej kolumny. Aby utworzyć zmienną prezentacyjną razem z filtrem monitującym kolumny, należy w oknie dialogowym "Nowy filtr monitujący" w polu Ustaw zmienną wybrać opcję Zmienna prezentacyjna. Następnie należy wpisać w polu Nazwa zmiennej nazwę zmiennej. |
Filtr monitujący zmiennej |
Zmienna prezentacyjna tworzona razem z filtrem monitującym zmiennej nie jest powiązana z żadną kolumną i trzeba zdefiniować wartości, które ta zmienna może przyjmować. Aby utworzyć zmienną prezentacyjną razem z filtrem monitującym zmiennej, należy w oknie dialogowym "Nowy filtr monitujący" w polu Monit o wybrać opcję Zmienna prezentacyjna. Następnie należy wpisać w polu Nazwa zmiennej nazwę zmiennej. |
Wartość zmiennej prezentacyjnej jest nadawana przez filtr monitujący kolumny lub zmiennej, z którym dana zmienna prezentacyjna została utworzona. Oznacza to, że za każdym razem, gdy użytkownik wybiera wartości w filtrze monitującym kolumny lub zmiennej, wartość zmiennej prezentacyjnej jest ustawiana zgodnie z tymi wybranymi wartościami.
Zmienna żądaniowa umożliwia przesłonięcie wartości zmiennej sesyjnej, ale tylko na czas trwania żądania bazy danych zainicjowanego przez filtr monitujący kolumny. Zmienna żądaniowa jest tworzona jako element procesu tworzenia filtra monitującego kolumny.
Zmienna żądaniowa jest tworzona jako element procesu tworzenia jednego z następujących typów filtra monitującego pulpitu informacyjnego:
Zmienna żądaniowa tworzona razem z filtrem monitującym kolumny jest powiązana z daną kolumną i może przyjmować tylko wartości pochodzące z tej kolumny.
Aby utworzyć zmienną żądaniową razem z filtrem monitującym kolumny, należy w oknie dialogowym "Nowy filtr monitujący" w polu Ustaw zmienną wybrać opcję Zmienna żądaniowa. Następnie należy w polu Nazwa zmiennej wpisać nazwę przesłanianej zmiennej sesyjnej.
Zmienna żądaniowa tworzona razem z filtrem monitującym zmiennej nie jest powiązana z żadną kolumną i trzeba zdefiniować wartości, które ta zmienna może przyjmować.
Aby utworzyć zmienną żądaniową razem z filtrem monitującym zmiennej, należy w oknie dialogowym "Nowy filtr monitujący" (lub "Edycja filtra monitującego") w polu Monit o wybrać opcję Zmienna żądaniowa. Następnie należy w polu Nazwa zmiennej wpisać nazwę przesłanianej zmiennej sesyjnej.
Wartość zmiennej żądaniowej jest wypełniania przez filtr monitujący kolumny, z którym dana zmienna żądaniowa została utworzona. Oznacza to, że za każdym razem, gdy użytkownik wybiera wartość w filtrze monitującym kolumny, wartość zmiennej żądaniowej jest ustawiana zgodnie z tą wybraną wartością. Jednakże ta wartość jest uwzględniania tylko od momentu, w którym użytkownik naciśnie przycisk Wykonaj filtra monitującego do momentu zwrócenia wyników analizy do pulpitu informacyjnego.
Niektóre systemowe zmienne sesyjne (np. USERGUID lub ROLES) nie mogą być przesłaniane przez zmienne żądaniowe. Inne systemowe zmienne sesyjne, np. DATA_TZ lub DATA_DISPLAY_TZ (strefa czasowa), mogą być przesłaniane, o ile zostało to skonfigurowane za pomocą narzędzia Model Administration Tool.
Wiele wartości obsługują jedynie zmienne żądaniowe napisowe i liczbowe. Pozostałe typy danych przekazują tylko pierwszą wartość.
Zmienna globalna to kolumna utworzona przez połączenie określonego typu danych z wartością. Wartością może być data, godzina, data i godzina, liczba oraz tekst.
Zmienna globalna jest obliczana w chwili przetwarzania analizy i w analizie jest podstawiana uzyskana wartość.
Zmiennymi globalnymi mogą zarządzać (dodawać, edytować i usuwać) tylko użytkownicy mający przypisaną rolę "Administrator usługi BI".
Zmienne globalne tworzy się podczas tworzenia analizy przy użyciu okna dialogowego "Edycja formuły kolumny". Zmienna globalna jest zapisywana w Katalogu, stając się dostępną dla wszystkich innych analiz w systemie określonego dzierżawcy.
Obliczenia można zapisywać jako zmienne globalne, a następnie używać ich w różnych analizach.
W analizach i pulpitach informacyjnych można odwoływać się do zmiennych.
Sposób odwoływania się do zmiennej zależy od wykonywanego zadania. W przypadku zadań polegających na korzystaniu z pól w oknach dialogowych trzeba określić tylko typ i nazwę zmiennej (składnia niepełna), np. odwoływanie się do zmiennej w definicji filtra.
W przypadku innych zadań, takich jak odwoływanie się do zmiennej w widoku tytułowym, trzeba użyć pełnej składni. Zależy ona od typu zmiennej, zgodnie z opisem w następującej tabeli.
Typ | Składnia | Przykład |
---|---|---|
Zmienna sesyjna |
@{biServer.variables['NQ_SESSION.nazwa_zmiennej']} gdzie nazwa_zmiennej jest nazwą zmiennej sesyjnej, np. DISPLAYNAME. |
@{biServer.variables['NQ_SESSION.SalesRegion']} |
Zmienna modelu semantycznego (repozytoryjna) |
@{biServer.variables.nazwa_zmiennej} lub @{biServer.variables['nazwa_zmiennej']} gdzie nazwa_zmiennej jest nazwą zmiennej, np. prime_begin |
@{biServer.variables.prime_begin} lub @{biServer.variables['prime_begin']} |
Zmienna prezentacyjna lub żądaniowa |
@{variables.nazwa_zmiennej}[format]{wartość_domyślna} lub @{zakres.variables['nazwa_zmiennej']} gdzie: nazwa_zmiennej jest nazwą zmiennej prezentacyjnej lub żądaniowej, np. MójUlubionyRegion. (opcjonalnie) format jest maską formatu zależną od typu danych zmiennej, np. # ##0 lub DD-MM-YY hh:mm:ss. (Należy zauważyć, że format nie jest stosowany do wartości domyślnej). (opcjonalnie) wartość_domyślna jest stałą lub odwołaniem do zmiennej i oznacza wartość używaną, gdy zmienna określona przez nazwa_zmiennej nie jest wypełniona. zakres identyfikuje kwalifikatory zmiennej. Zakres jest konieczny w sytuacji, w której dana zmienna jest używana na wielu poziomach (analizy, strony pulpitów informacyjnych i pulpity informacyjne) i jest potrzebny dostęp do konkretnej wartości. (Jeśli zakres nie jest określony, wówczas jest stosowana kolejność analizy, strony pulpitów informacyjnych i pulpity informacyjne). W przypadku używania filtra monitującego pulpitu informacyjnego ze zmienną prezentacyjną, która może zawierać wiele wartości, składnia zależy od typu kolumny. Listy wielowartościowe składają się z wartości rozdzielonych przecinkami i dlatego klauzula formatująca jest stosowana osobno dla każdej wartości przed połączeniem ich przecinkami. |
@{variables.MójUlubionyRegion}{REGION WSCHODNI} lub @{dashboard.MyFavoriteRegion}{EASTERN REGION} lub @{dashboard.variables['MójUlubionyRegion']} lub (@{mojaZmiennaLiczbowa}[# ##0]{1000}) lub (@{variables.MójZnacznikczasu}[YY-MM-DD hh:mm:ss]{) lub (@{mojaZmiennaTekstowa}{A, B, C}) |
Zmienna globalna |
@{global.variables.nazwa_zmiennej} gdzie nazwa_zmiennej jest nazwą zmiennej globalnej, np. gv_region. Odwołując się do zmiennej globalnej, trzeba użyć w pełni kwalifikowanej nazwy, tak jak w pokazanym przykładzie. Konwencja nazewnicza dla zmiennych globalnych musi być zgodna ze specyfikacją języków skryptowych ECMA dla JavaScript. Nazwa może mieć maksymalnie 200 znaków, nie może zawierać spacji, słów zastrzeżonych ani znaków specjalnych. Informacje dotyczące wymagań języka JavaScript są dostępne w dokumentacji odpowiednich firm. |
@{global.variables.gv_date_n_time} |
Do zmiennych można się również odwoływać w wyrażeniach. Wskazówki, dotyczące odwoływania się do zmiennych w wyrażeniach, są zawarte w następujących tematach:
Wskazówki dotyczące odwoływania się do zmiennych sesyjnych w wyrażeniach:
Na przykład:
"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")
Wskazówki dotyczące odwoływania się do zmiennych prezentacyjnych w wyrażeniach:
Odwołując się do zmiennej prezentacyjnej trzeba używać następującej składni:
@{nazwa_zmiennej
}{wartość_domyślna
}
gdzie nazwa_zmiennej jest nazwą zmiennej prezentacyjnej a (opcjonalna) wartość_domyślna jest stałą lub odwołaniem do zmiennej i oznacza wartość używaną, gdy zmienna określona przez nazwę_zmiennej nie jest wypełniona.
Aby dokonać rzutowania (konwersji) zmiennej na napis lub zawrzeć więcej niż jedną zmienną, należy całą zmienną ująć w apostrofy, na przykład:
'@{user.displayName}'
Jeśli po znaku @ nie następuje {, wówczas jest on traktowany jak zwykły znak @. W przypadku używania zmiennej prezentacyjnej, która może zawierać wiele wartości, składnia zależy od typu kolumny.
W celu wygenerowania poprawnej instrukcji SQL należy użyć następującej składni, zależnej od typu kolumny:
Tekstowy - (@{nazwa_zmiennej}['@']{'wartość_domyślna'})
Liczbowy - (@{nazwa_zmiennej}{wartość_domyślna})
Daty-godziny - (@{nazwa_zmiennej}{timestamp 'wartość_domyślna'})
Daty (tylko data) - (@{nazwa_zmiennej}{date 'wartość_domyślna'})
Godziny (tylko godzina) - (@{nazwa_zmiennej}{time 'wartość_domyślna'})
Na przykład:
'@{user.displayName}'
Podczas odwoływania się do zmiennych modelu semantycznego (repozytoryjnych) w wyrażeniach można korzystać z następujących wytycznych.
Na przykład:
CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END