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