Funkcije specifične za dobavljača Konstante Konstanta je fiksna vrijednost koju možete koristiti u nekom izrazu. Operatori Operatori specificiraju što se događa s vrijednostima na bilo kojoj strani operatora. Operatori su slični funkcijama u toliko, da obrađuju podatke i vraćaju rezultat. date Umeće trenutni sistemski datum. date-time Umeće trenutni sistemski datum i vrijeme. time with time zone Umeće nulto vrijeme s vremenskom zonom. timestamp with time zone Umeće primjer vremenske oznake s vremenskom zonom. Umeće false. interval Umeće interval nula: 000 00:00:00.000. interval year Umeće interval s godinom nula: 0 godina. interval month Umeće interval s mjesecom nula: 0 mjesec. interval year to month Umeće godinu nula u interval mjeseca: 0000-00 godina u mjesec. interval day Umeće interval s danom nula: 0 dan. interval hour Umeće interval sa satom nula: 0 sat. interval minute Umeće interval s minutom nula: 0 minuta. interval second Umeće interval sa sekundom nula: 0 sekunda. interval day to hour Umeće dan nula u interval sata: 0 00 dan u sat. interval day to minute Umeće dan nula u interval minuta: 0 00:00 dan u minute. interval day to second Umeće dan nula u interval sekunda: 0 00:00:00.000000000 dan u sekunda. interval hour to minute Umeće sat nula u interval minuta: 00:00 sat u minute. interval hour to second Umeće sat nula u interval sekunda: 00:00:00.000000000 sat u sekunde. interval minute to second Umeće minute nula u interval sekunda: 00:00.000000000 minuta u sekunde. Umeće "null" ako uvjeti izraza nisu zadovoljeni. number Umeće broj 0, koji se može zamijeniti s novom numeričkom vrijednošću. string Umeće prazan niz u obliku dva jednostruka navodnika između kojih možete upisati vaš niz znakova. time Umeće trenutno sistemsko vrijeme. Umeće pravu vrijednost.
Identificira početak izraza. ( expression ) Identificira kraj izraza. ( expression ) Množi dvije numeričke vrijednosti. value1 * value2 , Odvaja komponente izraza. expression ( parameter1; parameter2 ) Dijeli dvije numeričke vrijednosti. value1 / value2 Konkatenira ili spaja nizove znakova. string1 || string2 Zbraja dvije numeričke vrijednosti. value1 + value2 Oduzima dvije numeričke vrijednosti ili radi negativnu numeričku vrijednost. value1 - value2 ili - value Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje su manje od "value2". value1 < value2 Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje su manje ili jednake "value2". value1 <= value2 Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje nisu jednake "value2". value1 <> value2 Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje su jednake "value2". value1 = value2 Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje su veće od "value2". value1 > value2 Odvaja komponente u konstanti izraza. [namespace].[dimension].[hierarchy].[level]->[L1] Uspoređuje vrijednosti predstavljene s "value1" naspram "value2" i dohvaća vrijednosti koje su veće ili jednake "value2". value1 >= value2 Vraća "true" ako su uvjeti na obje strane izraza istiniti. argument1 and argument2 Radi sa sumarnim izrazima za definiranje opsega koji se treba podesiti prema stupcima grupiranja u upitu. Opseg zavisi o kontekstu. aggregate_function ( expression AUTO ) Određuje da li vrijednost ulazi u dani raspon. expression between value1 and value2 Primjer: [Revenue] between 200 and 300 Rezultat: Vraća više rezultata s prihodima između 200 i 300. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Radi s when, then, else i end. Case (veličina slova) određuje početak specifične situacije, u kojoj se when, then i else akcije definiraju. case expression { when expression then expression } [ else expression ] end Određuje da li "string1" sadrži "string2". Ova sintaksa podržava obadva meta znaka: znak postotka (%) predstavlja nula, jedan ili više znakova, a podvlaka (_) predstavlja bilo koji znak. Opcijska ključna riječ LITERAL označava kako se tumači '%' i '_'. Kad je prisutna ključna riječ LITERAL, tada se '%' i '_' ne tretiraju kao meta znakovi (vidi primjer 3 i 5). Inače, ako nema ključne riječi LITERAL, tada se znakovi '%' i '_' ponašaju kao meta znakovi (vidi primjere 1, 2 i 4). string1 contains [LITERAL] string2 Primjer 1: [PRODUCT_LINE] contains 'door' Rezultat 1: Outdoor Equipment Primjer 2: [PRODUCT_LINE] contains 'Golf%' Rezultat 2: Golf Equipment Primjer 3: [PRODUCT_LINE] contains literal 'Golf%' Rezultat 3: Golf% Primjer 4: [PRODUCT_LINE] contains 'Current_Year%' Rezultat 4: Current Year Price, Current Year Price%, Current_Year Price%. Primjer 5: [PRODUCT_LINE] contains literal 'Current_Year%' Rezultat 5: Current_Year%. Ključna riječ koja se može koristiti kao prvi argument funkcija sumiranja članova. Ova funkcija se pojavljuje u primjeru izvještaja Ukupan prihod po državi u GO Data Warehouse (query) paketu. aggregate_function ( currentMeasure within set expression ) current_date Vraća trenutni datum baze podataka. current_date Radi s lookup konstrukcijom. lookup (....) in (....) default (....) Ključna riječ koja se koristi u agregatnom izrazu za uključivanje samo različitih pojavljivanja vrijednosti. Pogledajte također jednoznačnost funkcija. distinct dataItem Primjer: count ( distinct [OrderDetailQuantity] ) Rezultat: 1704 Radi s if ili case konstrukcijama. Ako if uvjet ili case izraz nisu istiniti, tada se koristi else izraz. Ova funkcija se pojavljuje u primjeru izvještaja Prvih 10 maloprodajnih dućana u GO Data Warehouse (analysis) paketu. if ( condition ) then .... else ( expression ) ; or case .... else ( expression ) end Označava kraj case ili when konstrukcije. case .... end Određuje da li "string1" završava sa "string2". Ova sintaksa podržava obadva meta znaka: znak postotka (%) predstavlja nula, jedan ili više znakova, a podvlaka (_) predstavlja bilo koji znak. Opcijska ključna riječ LITERAL označava kako se tumači '%' i '_'. Kad je prisutna ključna riječ LITERAL, tada se '%' i '_' ne tretiraju kao meta znakovi (vidi primjer 3 i 5). Inače, ako nema ključne riječi LITERAL, tada se znakovi '%' i '_' ponašaju kao meta znakovi (vidi primjere 1, 2 i 4). string1 ends with [LITERAL] string2 Primjer 1: [PRODUCT_LINE] ends with 'Equipment' Rezultat 1: Camping Equipment, Golf Equipment Primjer 2: [PRODUCT_LINE] ends with '%Equipment' Rezultat 2: Golf Equipment, Camping Equipment Primjer 3: [PRODUCT_LINE] ends with literal 'Equipment%' Rezultat 3: Equipment% Primjer 4: [PRODUCT_LINE] ends with '%Price' Rezultat 4: Product Price, Current_Year Price Primjer 5: [PRODUCT_LINE] ends with literal '%Price' Rezultat 5: %Price Određuje da li "string1" odgovara uzorku za "string2", gdje se znak "char" obično koristi kao escape znak u nizu uzorka. string1 LIKE string2 [ ESCAPE char ] Primjer: [PRODUCT_LINE] like 'G%' Rezultat: sve linije proizvoda koje počinju s 'G'. Primjer: [PRODUCT_LINE] like '%Ga%' escape 'a' Rezultat: sve linije proizvoda koje završavaju s 'G%'. Radi s izrazima sumiranja za definiranje opsega agregacija u upitu. aggregate_function ( expression for expression { ; expression } ) Radi sa sumarnim izrazima za definiranje opsega koji se treba podesiti na bazi podskupa stupaca za grupiranje u upitu. Ekvivalentno for klauzuli. aggregate_function ( expression for ANY expression { ; expression } ) Radi sa sumarnim izrazima za definiranje opsega svih specificiranih stupaca grupiranja u upitu. Pogledajte također for klauzulu. aggregate_function ( expression for ALL expression { ; expression } ) Radi sa sumarnim izrazima za postavljanje opsega za cijeli upit. Pogledajte također for klauzulu. Ova funkcija se pojavljuje u primjeru izvještaja Povrati i zadovoljstvo kupaca GO Data Warehouse (analysis) paketu. aggregate_function ( expression for report ) Radi s then i else konstrukcijama. If definira uvjet; kad je if uvjet istinit, koristi se then izraz. Kad if uvjet nije istinit, koristi se else izraz. Ova funkcija se pojavljuje u primjeru izvještaja Prvih 10 maloprodajnih dućana u GO Data Warehouse (analysis) paketu. if ( condition ) then ( expression ) else ( expression ) Određuje da li "expression1" postoji u danoj listi izraza. expression1 in ( expression_list ) Određuje da li "expression1" postoji u danoj listi vrijednosti ili raspona konstanti. expression1 in_range { constant : constant [ ; constant : constant ] } Primjer: [code] in_range { 5 } Rezultat: Ovo je ekvivalentno s [code] = 5. Primjer: [code] in_range { 5: } Rezultat: Ovo je ekvivalentno s [code] >= 5. Primjer: [code] in_range { :5 } Rezultat: Ovo je ekvivalentno s [code] <= 5. Primjer: [code] in_range { 5:10 } Rezultat: Ovo je ekvivalentno s ( [code] >= 5 i [code] <= 10 ). Primjer: [code] in_range { :5;10;20: } Rezultat: Ovo je ekvivalentno s ( [code] <= 5 ili [code] = 10 ili [code] >= 20 ). Određuje da li je "value" nedefinirana u podacima. value is missing Određuje da li je "value" nedefinirana u podacima. value is null Određuje da li je "value" definirana u podacima. value is not missing Određuje da li je "value" definirana u podacima. value is not null Određuje da li "string1" odgovara uzorku za "string2", gdje se znak "char" obično koristi kao escape znak u nizu uzorka. Ova sintaksa podržava obadva meta znaka: znak postotka (%) predstavlja nula, jedan ili više znakova, a podvlaka (_) predstavlja bilo koji znak. string1 LIKE string2 [ ESCAPE char ] Primjer 1: [PRODUCT_LINE] like 'G%' Rezultat 1: sve linije proizvoda koje počinju s 'G'. Primjer 2: [PRODUCT_LINE] like '%Ga%' escape 'a' Rezultat 2: sve linije proizvoda koje završavaju s 'G%'. Primjer 3: [PRODUCT_LINE] like 'C_R_' Rezultat 3: sve linije proizvoda s nazivom CARS ili CARD. Primjer: lookup ( [Country]) in ( 'Canada'--> ( [List Price] * 0.60); 'Australia'--> ( [List Price] * 0.80 ) ) default ( [List Price] ) Pronalazi i zamjenjuje podatke s vrijednošću koju vi navedete. Preporuča se da koristite case konstrukciju. lookup ( name ) in ( value1 --> value2 ) default ( expression ) Vraća TRUE ako je "argument" false ili vraća FALSE ako je "argument" true. NOT argument Vraća TRUE ako su "argument1" ili "argument2" true. argument1 or argument2 Izvodi izračun sumiranja prije primjene sumarnog filtera. summary_function ([expression] prefilter) Primjer: total ( [Quantity] for report prefilter ) summaryFilter: total( [Quantity] for [ProductNo] ) > 50000 Rezultat: Zbraja količine u izvještaju prije primjene sumarnog filtera. PNo Total Total Total forPNo forRep forRep_Prefilter --------- -------- ---------- ------------------- 88 54928 298140 2215354 89 51126 298140 2215354 90 69996 298140 2215354 94 69004 298140 2215354 95 53086 298140 2215354 Broji redove izlaza iz upita. Koristite s Count(). count ( ROWS ) Broji redove izlaza iz upita. Koristite s Count(). count ( ROWS  [ expression ]) Određuje da li "string1" počinje sa "string2". Ova sintaksa podržava obadva meta znaka: znak postotka (%) predstavlja nula, jedan ili više znakova, a podvlaka (_) predstavlja bilo koji znak. Opcijska ključna riječ LITERAL označava kako se tumači '%' i '_'. Kad je prisutna ključna riječ LITERAL, tada se '%' i '_' ne tretiraju kao meta znakovi (vidi primjer 3 i 5). Inače, ako nema ključne riječi LITERAL, tada se znakovi '%' i '_' ponašaju kao meta znakovi (vidi primjere 1, 2 i 4). string1 starts with [LITERAL] string2 Primjer 1: [PRODUCT_LINE] starts with 'Golf' Rezultat 1: Golf Equipment Primjer 2: [PRODUCT_LINE] starts with 'Outdoor%' Rezultat 2: Outdoor Equipment Primjer 3: [PRODUCT_LINE] starts with literal 'Golf%' Rezultat 3: Golf% Primjer 4: [PRODUCT_LINE] starts with 'Current_Year%' Rezultat 4: Current Year Price, Current Year Price%, Current_Year Price% Primjer 5: [PRODUCT_LINE] starts with literal 'Current_Year%' Rezultat 5: Current_Year% Radi s if ili case konstrukcijama. Ako su if uvjet ili when izraz istiniti, tada se koristi then izraz. Ova funkcija se pojavljuje u primjeru izvještaja Prvih 10 maloprodajnih dućana u GO Data Warehouse (analysis) paketu. if ( condition ) then ..., or case expression when expression then .... end Radi s case konstrukcijom. Možete definirati uvjete koji se trebaju ispuniti kad je WHEN izraz istinit. case [expression] when ... end
Sumiranja Ova lista sadrži unaprijed definirane funkcije koje vraćaju jednu vrijednost sumiranja za grupu povezanih vrijednosti ili drukčiju vrijednost sumiranja za svaku instancu grupe povezanih vrijednosti. Vraća izračunatu vrijednost koristeći odgovarajuću funkciju skupljanja, na bazi tipa skupljanja u izrazu. Ova funkcija se pojavljuje u primjeru izvještaja Plan u usporedbi s ostvarenim u GO Data Warehouse (analysis) paketu. aggregate ( expression [ auto ] ) aggregate ( expression for [ all|any ] expression { ; expression } ) aggregate ( expression for report ) Vraća prosječnu vrijednost za izabrane stavke podataka. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. average ( [ distinct ] expression [ auto ] ) average ( [ distinct ] expression for [ all|any ] expression { ; expression } ) average ( [ distinct ] expression for report ) Primjer: average ( Prodaja ) Rezultat: Vraća prosjek za sve prodajne vrijednosti. Vraća broj izabranih stavaka podataka isključujući null vrijednosti. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. Sve je podržano samo u DQM načinu i izbjegava se pretpostavka duplog brojenja podataka dimenzijske tablice. count ( [ all | distinct ] expression [ auto ] ) count ( [ all | distinct ] expression for [ all|any ] expression { ; expression } ) count ( [ all | distinct ] expression for report ) Primjer: count ( Prodaja ) Rezultat: Vraća ukupan broj unosa ispod Prodaja. Vraća maksimalnu vrijednost izabranih podataka. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. maximum ( [ distinct ] expression [ auto ] ) maximum ( [ distinct ] expression for [ all|any ] expression { ; expression } ) maximum ( [ distinct ] expression for report ) Primjer: maximum ( Prodaja ) Rezultat: Vraća maksimalnu vrijednost iz svih vrijednosti Prodaje. Vraća srednju vrijednost za izabrane stavke podataka. median ( expression [ auto ] ) median ( expression for [ all|any ] expression { ; expression } ) median ( expression for report ) Vraća minimalnu vrijednost za izabrane stavke podataka. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. minimum ( [ distinct ] expression [ auto ] ) minimum ( [ distinct ] expression for [ all|any ] expression { ; expression } ) minimum ( [ distinct ] expression for report ) Primjer: minimum ( Prodaja ) Rezultat: Vraća minimalnu vrijednost iz svih vrijednosti Prodaje. Vraća pomični prosjek po redu za navedeni skup vrijednosti preko navedenog broja redova. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. moving-average ( numeric_expression ; numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) moving-average (  numeric_expression ; numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: moving-average ( Qty ; 3 ) Rezultat: Za svaki red, vraća količinu i pomični prosjek trenutnog reda i prethodna dva reda. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Vraća pomični total po redu za navedeni skup vrijednosti preko navedenog broja redova. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. moving-total ( numeric_expression ; numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) moving-total (  numeric_expression ; numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: moving-total ( Qty ; 3 ) Rezultat: Za svaki red, vraća količinu i pomični total trenutnog reda i prethodna dva reda. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Vraća postotak ukupne vrijednosti za izabrane stavke podataka. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. Ova funkcija se pojavljuje u primjeru interaktivnog izvještaja Izračun postotka (po godini). percentage ( numeric_expression [ at expression  { ; expression } ] [ <for-option> ] [ prefilter ] ) percentage (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: percentage ( Sales 98 ) Rezultat: Vraća postotak ukupne prodaje za 1998 koja je pridružena svakom prodajnom predstavniku. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Vraća vrijednost, na skali od jedne stotine, koja označava postotak distribucije koji je jednak ili manji od izabranih stavaka podataka. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. percentile ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) percentile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: percentile ( Sales 98 ) Rezultat: Za svaki red, vraća postotak redova koji su jednaki ili manji od vrijednosti količine tog reda. Qty Percentile (Qty) ------ ----------------- 800 1 700 0.875 600 0.75 500 0.625 400 0.5 400 0.5 200 0.25 200 0.25 Vraća rang vrijednosti unutar raspona koji navedete. Vraća cijele brojeve koji predstavljaju bilo koji raspon rangova, kao što je 1 (najviši) do 100 (najniži). "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. quantile ( numeric_expression ; numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) quantile (  numeric_expression ; numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: quantile ( Qty ; 4 ) Rezultat: Vraća količinu, rang vrijednosti količine i vrijednosti količine podijeljene u četiri kvantil grupe (kvartili). Qty Rank Quantile (Qty, 4) ------ ------- --------------- 800 1 1 700 2 1 600 3 2 500 4 2 400 5 3 400 5 3 200 7 4 200 7 4 Vraća rang vrijednosti, predstavljen kao cijeli brojevi od 1 (najviši) do 4 (najniži), u odnosu na grupu vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. quartile ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) quartile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: quartile ( Qty ) Rezultat: Vraća količinu i kvartil vrijednosti količine predstavljen kao cijeli brojevi od 1 (najviši) do 4 (najniži). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Vraća vrijednost ranga za izabrane stavke podataka. Poredak sortiranja nije obavezan; silazni poredak (DESC) se pretpostavlja po defaultu. Ako su dva ili više redova povezani, postoji praznina u redoslijedu rangiranih vrijednosti (također poznato kao Olympic rangiranje). "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. Null vrijednosti se rangiraju kao zadnje. Ova funkcija se pojavljuje u primjeru izvještaja Prvih 10 maloprodajnih dućana u GO Data Warehouse (analysis) paketu. rank ( expression [ ASC|DESC ] { ; expression [ ASC|DESC ] } [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) rank ( [ distinct ] expression [ ASC|DESC ] { ; expression [ ASC|DESC ] } [ <for-option>] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: rank ( Sales 98 ) Rezultat: Za svaki red, vraća vrijednost ranga prodaje za 1998 koja je pridružena svakom prodajnom predstavniku. Neki brojevi su preskočeni kad postoje povezani redovi. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Vraća radni prosjek po redu (uključujući i trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-average ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-average (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-average ( Qty ) Rezultat: Za svaki red, vraća količinu i radni prosjek trenutnog i prethodnih redova. Name Qty Avg Running-Average for name ------- ------ ------ ----------------------- Smith 7 5 7 Smith 3 5 5 Smith 6 5 5.33 Smith 4 5 5 Wong 3 4 3 Wong 5 4 4 Vraća radni brojač po redu (uključujući i trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-count ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-count (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-count ( Qty ) Rezultat: Za svaki red, vraća količinu i radni brojač položaja trenutnog reda. Name Qty Count Running-Count for name ------- ------ --------- ------------------------ Smith 7 4 1 Smith 3 4 2 Smith 6 4 3 Smith 4 4 4 Wong 3 3 1 Wong 5 3 2 Vraća radnu razliku po redu, izračunatu kao razliku između vrijednosti za trenutni i prethodni red, (uključujući trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-difference ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-difference (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-difference ( Qty ) Rezultat: Za svaki red, vraća količinu i radnu razliku između vrijednosti trenutnog reda i prethodnog reda. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Vraća radni maksimum po redu (uključujući i trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-maximum (  numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-maximum (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-maximum ( Qty ) Rezultat: Za svaki red, vraća količinu i radni maksimum trenutnog i prethodnih redova. Name Qty Max Running-Maximum (Qty) for name ------- ------ ------ ------------------------- Smith 2 7 2 Smith 3 7 3 Smith 6 7 6 Smith 7 7 7 Wong 3 5 3 Wong 5 5 5 Vraća radni minimum po redu (uključujući i trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-minimum ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-minimum (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-minimum ( Qty ) Rezultat: Za svaki red, vraća količinu i radni minimum trenutnog i prethodnih redova. Name Qty Min Running-Minimum (Qty) for name ------- ----- ------ -------------------------- Smith 7 2 7 Smith 3 2 3 Smith 6 2 3 Smith 2 2 2 Wong 4 3 4 Wong 5 3 4 Vraća radni total po redu (uključujući i trenutni red) za skup vrijednosti. "<for-option>" definira opseg funkcije. "at" opcija definira razinu agregacije i može se koristiti samo u kontekstu relacijskih izvora podataka. running-total ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) running-total (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primjer: running-total ( Qty ) Rezultat: Za svaki red, vraća količinu i radni total trenutnog i prethodnih redova. Name Qty Total Running-Total (Qty) for name ------- ------ -------- ------------------------- Smith 2 18 2 Smith 3 18 5 Smith 6 18 11 Smith 7 18 18 Wong 3 12 3 Wong 5 12 8 Vraća standardnu devijaciju izabranih stavaka podataka. standard-deviation (  expression [ auto ] ) standard-deviation (  expression for [ all|any ] expression { ; expression } ) standard-deviation (  expression for report ) Primjer: standard-deviation ( ProductCost ) Rezultat: Vraća vrijednost koja označava devijaciju između troškova proizvoda i prosječnog troška proizvoda. Računa standardnu devijaciju popunjenosti i vraća kvadratni korijen varijance popunjenosti. standard-deviation-pop (  expression [ auto ] ) standard-deviation-pop (  expression for [ all|any ] expression { ; expression } ) standard-deviation-pop (  expression for report ) Primjer: standard-deviation-pop ( ProductCost ) Rezultat: Vraća vrijednost kvadratnog korijena varijance popunjenosti. Računa standardnu devijaciju uzorka i vraća kvadratni korijen varijance popunjenosti. standard-deviation-samp (  expression [ auto ] ) standard-deviation-samp (  expression for [ all|any ] expression { ; expression } ) standard-deviation-samp (  expression for report ) Primjer: standard-deviation-samp ( ProductCost ) Rezultat: Vraća vrijednost kvadratnog korijena varijance uzorka. Vraća rang za vrijednost kao High, Middle ili Low relativno u odnosu na grupu vrijednosti. tertile (  expression [ auto ] ) tertile (  expression for [ all|any ] expression { ; expression } ) tertile (  expression for report ) Primjer: tertile ( Qty ) Rezultat: Vraća količinu, kvantil za vrijednost količine kako je podijeljena u tertile i vrijednosti količine podijeljene u tertile. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L Vraća ukupnu vrijednost izabranih stavki podataka. Distinct je alternativan izraz koji je kompatibilan s ranijim verzijama proizvoda. Ova funkcija se pojavljuje u primjeru izvještaja Plan u usporedbi s ostvarenim u GO Data Warehouse (analysis) paketu. total ( [ distinct ] expression [ auto ] ) total ( [ distinct ] expression for [ all|any ] expression { ; expression } ) total ( [ distinct ] expression for report ) Primjer: total ( Sales ) Rezultat: Vraća ukupnu vrijednost iz Sales vrijednosti. Statističke funkcije Ova lista sadrži preddefinirane sumarne funkcije statističke prirode. Vraća varijancu izabranih podataka. variance (  expression [ auto ] ) variance (  expression for [ all|any ] expression { ; expression } ) variance (  expression for report ) Primjer: variance ( Product Cost ) Rezultat: Vraća vrijednost koja označava koliko se troškovi proizvoda razlikuju od prosječnog troška proizvoda. Vraća varijancu popunjenosti za skup brojeva nakon odbacivanja null vrijednosti iz skupa. variance-pop (  expression [ auto ] ) variance-pop (  expression for [ all|any ] expression { ; expression } ) variance-pop (  expression for report ) Primjer: variance-pop ( Qty ) Rezultat: Za svaki red, vraća varijancu popunjenosti za skup brojeva nakon odbacivanja null vrijednosti iz skupa. Vraća varijancu uzorka za skup brojeva nakon odbacivanja null vrijednosti iz tog skupa. variance-samp (  expression [ auto ] ) variance-samp (  expression for [ all|any ] expression { ; expression } ) variance-samp (  expression for report ) Primjer: variance-samp ( Qty ) Rezultat: Za svaki red, vraća varijancu uzorka za skup brojeva nakon odbacivanja null vrijednosti iz skupa. corr ( numeric_expression1 ;  numeric_expression2  [ auto ] ) corr ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) corr ( numeric_expression1 ;  numeric_expression2 for report ) Vraća koeficijent korelacije skupa parova brojeva. To se izračunava ovako: COVAR_POP(numeric_expression1; numeric_expression2) / (STDDEV_POP(numeric_expression1) * STDDEV_POP(numeric_expression2)) Primjer: corr ( Cijena ;  Margina  for report) Rezultat: koeficijent korelacije između Cijena i Margina Cost Margin corr (Cost, Margin for report) ------- ---------- ----------------------------------------- 4 0.33 0.0872648 5 0.28 0.0872648 9.22 0.23 0.0872648 15.93 0.28 0.0872648 34.97 0.3 0.0872648 covariance-pop ( numeric_expression1 ;  numeric_expression2 ) covariance-pop ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) covariance-pop ( numeric_expression1 ;  numeric_expression2 for report ) Vraća kovarijancu populacije za skup parova brojeva. Primjer: covariance-pop ( Cijena ;  Margina  for report) Rezultat: kovarijanca populacije između Cijena i Margina Cost Margin covariance-pop (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.032384 5 0.28 0.032384 9.22 0.23 0.032384 15.93 0.28 0.032384 34.97 0.3 0.032384 covariance-samp ( numeric_expression1 ;  numeric_expression2 ) covariance-samp ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) covariance-samp ( numeric_expression1 ;  numeric_expression2 for report ) Vraća kovarijancu uzorka u skupu parova brojeva. Primjer: covariance-samp ( Cijena ;  Margina  for report) Rezultat: kovarijanca uzorka između Cijena i Margina Cost Margin covariance-samp (Cost, Margin for report) ------- ---------- ------------------------------------------------------------ 4 0.33 0.04048 5 0.28 0.04048 9.22 0.23 0.04048 15.93 0.28 0.04048 34.97 0.3 0.04048 regression-average-x ( numeric_expression1 ;  numeric_expression2 ) regression-average-x ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-average-x ( numeric_expression1 ;  numeric_expression2 for report ) Vraća prosjek nezavisne varijable (numeric_expression2) u krivulji regresije. Primjer: regression-average-x ( Cijena ;  Margina  for report) Rezultat: prosjek Margine u krivulji regresije za Cijena i Margina. Cost Margin regression-average-x (Cost, Margin for report) ------- ---------- ----------------------------------------------------------------- 4 0.33 0.284 5 0.28 0.284 9.22 0.23 0.284 15.93 0.28 0.284 34.97 0.3 0.284 regression-average-y ( numeric_expression1 ;  numeric_expression2 ) regression-average-y ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-average-y ( numeric_expression1 ;  numeric_expression2 for report ) Vraća prosjek zavisne varijable (numeric_expression1) u krivulji regresije. Primjer: regression-average-y ( Cijena ;  Margina  for report) Rezultat: prosjek Cijene u krivulji regresije za Cijena i Margina. Cost Margin regression-average-y (Cost, Margin for report) ------- ---------- ----------------------------------------------------------------- 4 0.33 13.824 5 0.28 13.824 9.22 0.23 13.824 15.93 0.28 13.824 34.97 0.3 13.824 regression-count ( numeric_expression1 ;  numeric_expression2 ) regression-count ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-count ( numeric_expression1 ;  numeric_expression2 for report ) Vraća broj ne-null brojeva korištenih za podešavanje krivulje regresije. Primjer: regression-count ( Cijena ;  Margina  for report) Rezultat: broje ne-null brojeva korištenih za podešavanje krivulje regresije za Cijena i Margina. Cost Margin regression-count (Cost, Margin for report) ------- ---------- ----------------------------------------------------------- 4 0.33 5 5 0.28 5 9.22 0.23 5 15.93 0.28 5 34.97 0.3 5 regression-intercept ( numeric_expression1 ;  numeric_expression2 ) regression-intercept ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-intercept ( numeric_expression1 ;  numeric_expression2 for report ) Vraća odsječak na y osi za krivulju regresije. To se izračuna ovako: AVG(numeric_expression1) - REGR_SLOPE(numeric_expression1; numeric_expression2) * AVG(numeric_expression2) Primjer: regression-intercept ( Cijena ;  Margina  for report) Rezultat: odsječak na y osi krivulje regresije za Cijena i Margina. Cost Margin regression-intercept (Cost, Margin for report) ------- ---------- ---------------------------------------------------------------- 4 0.33 5.18015038 5 0.28 5.18015038 9.22 0.23 5.18015038 15.93 0.28 5.18015038 34.97 0.3 5.18015038 regression-r2 ( numeric_expression1 ;  numeric_expression2 ) regression-r2 ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-r2 ( numeric_expression1 ;  numeric_expression2 for report ) Vraća koeficijent determinacije (također poznat kao "R kvadrat" ili "pokazatelj reprezentativnosti") krivulje regresije. Ova vrijednost se izračunava na temelju sljedećih uvjeta: IF VAR_POP(numeric_expression2) = 0 THEN NULL IF VAR_POP(numeric_expression1) = 0 AND VAR_POP(numeric_expression2) <> 0 THEN 1 IF VAR_POP(numeric_expression1) > 0 and VAR_POP(numeric_expression2) <> 0 THEN POWER(CORR (numeric_expression1; numeric_expression2)) Primjer: regression-r2 ( Cijena ;  Margina  for report) Rezultat: koeficijent determinacije krivulje regresije za Cijena i Margina. Cost Margin regression-r2 (Cost, Margin for report) ------- ---------- ------------------------------------------------------ 4 0.33 0.00761514 5 0.28 0.00761514 9.22 0.23 0.00761514 15.93 0.28 0.00761514 34.97 0.3 0.00761514 regression-slope ( numeric_expression1 ;  numeric_expression2 ) regression-slope ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-slope ( numeric_expression1 ;  numeric_expression2 for report ) Vraća nagib krivulje regresije. To se izračunava ovako: COVAR_POP(numeric_expression1;numeric_expression2) / VAR_POP(numeric_expression2) Primjer: regression-slope ( Cijena ;  Margina ) Rezultat: nagib krivulje regresije za Cijena i Margina. Cost Margin regression-slope (Cost, Margin for report) ------- ---------- ----------------------------------------------------------- 4 0.33 30.43609023 5 0.28 30.43609023 9.22 0.23 30.43609023 15.93 0.28 30.43609023 34.97 0.3 30.43609023 regression-sxx ( numeric_expression1 ;  numeric_expression2 ) regression-sxx ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-sxx ( numeric_expression1 ;  numeric_expression2 for report ) Vraća sljedeći izračun nakon eliminiranja NULL parova: REGR_COUNT(numeric_expression1; numeric_expression2) * VAR_POP(numeric_expression2) Primjer: regression-sxx ( Cijena ;  Margina  for report) Rezultat: izračun sxx krivulje regresije za Cijena i Margina. Cost Margin regression-sxx (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.00532 5 0.28 0.00532 9.22 0.23 0.00532 15.93 0.28 0.00532 34.97 0.3 0.00532 regression-sxy ( numeric_expression1 ;  numeric_expression2 ) regression-sxy ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-sxy ( numeric_expression1 ;  numeric_expression2 for report ) Vraća sljedeći izračun nakon eliminiranja NULL parova: REGR_COUNT(numeric_expression1; numeric_expression2) * COVAR_POP(numeric_expression1; numeric_expression2) Primjer: regression-sxy ( Cijena ;  Margina  for report) Rezultat: izračun sxy krivulje regresije za Cijena i Margina. Cost Margin regression-sxy (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 0.16192 5 0.28 0.16192 9.22 0.23 0.16192 15.93 0.28 0.16192 34.97 0.3 0.16192 regression-syy ( numeric_expression1 ;  numeric_expression2 ) regression-syy ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) regression-syy ( numeric_expression1 ;  numeric_expression2 for report ) Vraća sljedeći izračun nakon eliminiranja NULL parova: REGR_COUNT(numeric_expression1; numeric_expression2) * VAR_POP(numeric_expression1) Primjer: regression-syy ( Cijena ;  Margina  for report) Rezultat: izračun syy krivulje regresije za Cijena i Margina. Cost Margin regression-syy (Cost, Margin for report) ------- ---------- --------------------------------------------------------- 4 0.33 647.15932 5 0.28 647.15932 9.22 0.23 647.15932 15.93 0.28 647.15932 34.97 0.3 647.15932 Sumiranja članova Ova lista sadrži unaprijed definirane funkcije koje vraćaju jednu vrijednost sumiranja za skup članova ili drukčiju vrijednost sumiranja za svakog člana u skupu članova.
Greška Dogodila se greška u vašem izrazu na istaknutom tokenu.
Konstrukcije Ova lista sadrži konstrukcije i predloške koji se mogu koristiti za kreiranje izraza. Predlošci kombiniraju višestruke funkcije u grupu. Na primjer, predložak za search case uključuje case, when, else i end funkcije. search case Ova konstrukcija je predložak za search case, koji uključuje CASE, WHEN, ELSE i END funkcije. CASE WHEN [Country] = 'Canada' THEN ([List Price] * 0,60) WHEN [CountryCode] > 100 THEN [List Price] * 0,80 ELSE [List Price] END simple case Ova konstrukcije je predložak za simple case, koji uključuje CASE, WHEN, ELSE i END funkcije. CASE [Country] WHEN 'Canada' THEN ([List Price] * 0,60) WHEN 'Australia' THEN [List Price] * 0,80 ELSE [List Price] END if then else Ova konstrukcija je predložak za if...then...else naredbu. Ova konstrukcija se pojavljuje u primjeru izvještaja Prvih 10 maloprodajnih dućana u 2005. u GO Data Warehouse (analysis) paketu. IF ([Country] = 'Canada') THEN ([List Price] * 0,60) ELSE ([List Price]) in_range Ovo je predložak za in_range izraz. [code] IN_RANGE { :30 ; 40; 50; 999: } Primjer: [code] IN_RANGE { 5 } Rezultat: Ovo je ekvivalentno s [code] = 5. Primjer: [code] IN_RANGE { 5: } Rezultat: Ovo je ekvivalentno s [code] >= 5. Primjer: [code] IN_RANGE { :5 } Rezultat: Ovo je ekvivalentno s [code] <= 5. Primjer: [code] IN_RANGE { 5:10 } Rezultat: Ovo je ekvivalentno s ( [code] >= 5 i [code] <= 10 ). Primjer: [code] IN_RANGE { :5;10;20: } Rezultat: Ovo je ekvivalentno s ( [code] <= 5 ili [code] = 10 ili [code] >= 20 ).
Predikati perioda Ova lista sadrži predikate koji se mogu koristiti za usporedbu izraza s periodima. contains Vraća "true" ako "period_expression1" sadrži "period_expression2"; to jest, "true" se vraća ako prvi period sadrži datetime vrijednost ili sve vrijednosti sadržane u drugom periodu. period_expression1 contains ( period_expression2 | datetime_expression ) period( 1989-11-01, 1991-05-19 ) contains period( 1991-05-19, 1991-06-04 ) Rezultat: false period( 1989-11-01, 1991-05-19 ) contains period( 1990-05-19, 1991-04-04 ) Rezultat: true period( 1989-11-01, 1991-05-19 ) contains 1991-04-04 Rezultat: true equals Vraća "true" ako "period_expression1" i "period_expression2" imaju iste vrijednosti na početku i kraju perioda. period_expression1 equals period_expression2 period( 1989-11-01, 1991-05-19 ) equals period( 1989-11-01, 1991-05-19 ) Rezultat: true immediately precedes Vraća "true" ako je "period_expression1" neposredno ispred "period_expression2"; to jest, vrijednost na kraju prvog perioda jednaka je vrijednosti na početku drugog perioda. period_expression1 immediately precedes period_expression2 period( 1989-11-01, 1991-05-19 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Rezultat: true period( 1989-11-01, 1991-05-18 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Rezultat: false immediately succeeds Vraća "true" ako je "period_expression1" neposredno nakon "period_expression2"; to jest, vrijednost na početku prvog perioda jednaka je vrijednosti na kraju drugog perioda. period_expression1 immediately succeeds period_expression2 period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-19, 1991-05-19 ) Rezultat: true period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-20, 1991-05-18 ) Rezultat: false overlaps Vraća "true" ako "period_expression1" preklapa "period_expression2"; to jest, ako imaju najmanje jednu zajedničku vrijednost. period_expression1 overlaps period_expression2 period( 1991-05-19, 1994-01-10 ) overlaps period( 1993-01-19, 1995-05-19 ) Rezultat: true precedes Vraća "true" ako je "period_expression1" ispred "period_expression2"; to jest, sve vrijednosti sadržane u prvom periodu su manje ili jednake početnoj vrijednosti drugog perioda. period_expression1 precedes period_expression2 period( 1989-11-01, 1991-05-19 ) precedes period( 1991-05-19, 1991-06-04 ) Rezultat: true period( 1989-11-01, 1991-05-18 ) precedes period( 1991-05-19, 1991-06-04 ) Rezultat: true succeeds Vraća "true" ako "period_expression1" slijedi nakon "period_expression2"; to jest, sve vrijednosti sadržane u prvom periodu su veće ili jednake krajnjoj vrijednosti drugog perioda. period_expression1 succeeds period_expression2 period( 1991-05-19, 1994-01-10 ) succeeds period( 1991-01-19, 1991-05-19 ) Rezultat: true period( 1991-05-20, 1994-01-10 ) succeeds period( 1991-01-20, 1991-05-19 ) Rezultat: true
Poslovne funkcije datuma i vremena Ova lista sadrži poslovne funkcije za izvođenje operacija s datumima i vremenima. _add_seconds ( time_expression; integer_expression ) Vraća vrijeme ili datum i vrijeme, ovisno o formatu "time_expression", koji je rezultat zbrajanja "integer_expression" sekundi na "time_expression". Primjer: _add_seconds ( 13:04:59 ; 1 ) Rezultat: 13:05:00 Primjer: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Rezultat: 2002-04-30 12:10:11.000 Primjer: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ) Primijetite da drugi argument nije cijeli broj. Ovo je podržano u nekim tehnologijama baza podataka i povećava dio za vrijeme. Rezultat: 2002-04-30 00:00:00.010 _add_minutes ( time_expression; integer_expression ) Vraća vrijeme ili datum i vrijeme, ovisno o formatu "time_expression", a rezultat je zbrajanja "integer_expression" minuta i "time_expression". Primjer: _add_minutes ( 13:59:00 ; 1 ) Rezultat: 14:00:00 Primjer: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Rezultat: 2002-04-30 13:00:10.000 Primjer: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Primijetite da drugi argument nije cijeli broj. Ovo je podržano u nekim tehnologijama baza podataka i povećava dio za vrijeme. Rezultat: 2002-04-30 00:00:01.000 _add_hours ( time_expression; integer_expression ) Vraća vrijeme ili datum i vrijeme, ovisno o formatu "time_expression", koji je rezultat zbrajanja "integer_expression" sati i "time_expression". Primjer: _add_hours ( 13:59:00 ; 1 ) Rezultat: 14:59:00 Primjer: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Rezultat: 2002-04-30 13:10:10.000, Primjer: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Primijetite da drugi argument nije cijeli broj. Ovo je podržano u nekim tehnologijama baza podataka i povećava dio za vrijeme. Rezultat: 2002-04-30 00:01:00.000 _add_days ( date_expression; integer_expression ) Vraća datum ili datetime, zavisno o "date_expression" formatu, koji je rezultat zbrajanja "integer_expression" dana i "date_expression". Primjer: _add_days ( 2002-04-30 ; 1 ) Rezultat: 2002-05-01 Primjer: _add_days ( 2002-04-30 12:10:10;000; 1 ) Rezultat: 2002-05-01 12:10:10,000 Primjer: _add_days ( 2002-04-30 00:00:00,000; 1/24 ) Drugi argument nije cijeli broj. Ovo je podržano u nekim tehnologijama baza podataka i povećava dio za vrijeme. Rezultat: 2002-04-30 01:00:00,000 _add_months ( date_expression; integer_expression ) Dodaje mjesece iz "integer_expression" u "date_expression". Ako rezultirajući mjesec ima manje dana nego što je dan u mjesecu, tada se vraća zadnji dan rezultirajućeg mjeseca. U svim drugim slučajevima vraćena vrijednost ima isti dan mjeseca kao i "date_expression". Primjer: _add_months ( 2012-04-15 ; 3 ) Rezultat: 2012-07-15 Rezultat nije zadnji dan rezultirajućeg mjeseca. Primjer: _add_months ( 2012-02-29 ; 1 ) Rezultat: 2012-03-29 Koristite funkciju _last_of_month za vraćanje zadnjeg dana u mjesecu. Primjer: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Rezultat: 2012-03-31 Dan se podešava prema zadnjem danu rezultirajućeg mjeseca. Primjer: _add_months ( 2012-01-31 ; 1 ) Rezultat: 2012-02-29 Dodavanje vremenskoj oznaci Primjer: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Rezultat: 2002-05-30 12:10:10.000 _add_years ( date_expression; integer_expression ) Dodaje godine iz "integer_expression" u "date_expression". Ako je "date_expression" 29. veljače, a rezultirajuća godina nije prestupna, tada se rezultirajući datum postavlja na 28. veljače. U svim drugim slučajevima vraćena vrijednost ima isti dan i mjesec kao i "date_expression". Primjer: _add_years ( 2012-04-15 ; 1 ) Rezultat: 2013-04-15 29. veljače se podešava za godine koje nisu prestupne. Primjer: _add_years ( 2012-02-29 ; 1 ) Rezultat: 2013-02-28 Dodavanje vremenskoj oznaci Primjer: _add_years ( 2002-04-30 12:10:10;000 ; 1 ) Rezultat: 2003-04-30 12:10:10;000 _age ( date_expression ) Vraća broj koji se dobije oduzimanjem "date_expression" od današnjeg datuma. Vraćena vrijednost ima oblik YYYYMMDD, gdje YYYY predstavlja broj godina, MM predstavlja broj mjeseci, a DD predstavlja broj dana. Primjer: _age ( 1990-04-30 ) (ako je danas 2003-02-05) Rezultat: 120906, što znači 12 godina, 9 mjeseci i 6 dana. _date_to_int ( date_expression ) Vraća prikaz cijelog broja od "date_expression". Vraćena vrijednost ima oblik YYYYMMDD, gdje YYYY predstavlja broj godina, MM predstavlja broj mjeseci, a DD predstavlja broj dana. Primjer: _date_to_int ( 2003-01-01 ) Rezultat: 20030101 _day_of_week ( date_expression; integer ) Vraća dan u tjednu (1 do 7), gdje je 1 prvi dan u tjednu prema onome kako je označeno drugim parametrom (1 do 7, 1 je ponedjeljak, a 7 je nedjelja). Imajte na umu da u ISO 8601 standardu, tjedan počinje s ponedjeljkom koji je onda dan 1. Primjer: _day_of_week ( 2003-01-01 ; 1 ) Rezultat: 3 _day_of_year ( date_expression ) Vraća dan u godini (1 do 366) iz "date_ expression". To je također poznato kao julijanski dan. Primjer: _day_of_year ( 2003-03-01 ) Rezultat: 61 _days_between ( date_expression1 ; date_expression2 ) Vraća pozitivan ili negativan broj koji predstavlja broj dana između "date_expression1" i "date_expression2". Ako je "date_expression1" < "date_expression2", tada će rezultat biti negativan broj. Primjer: _days_between ( 2002-06-21 , 2002-04-30 ) Rezultat: 52 Primjer: _days_between ( 2002-04-30 ; 2002-06-21 ) Rezultat: -52 _days_to_end_of_month ( date_expression ) Vraća broj koji predstavlja broj dana koji su preostali u mjesecu iz "date_expression". Primjer: _days_to_end_of_month ( 2002-04-20 14:30:22;123 ) Rezultat: 10 _first_of_month ( date_expression ) Vraća date ili datetime, zavisno o argumentu, konvertiranjem "date_expression" u datum s istom godinom i mjesecom, ali s danom postavljenim na 1. Primjer: _first_of_month ( 2002-04-20 ) Rezultat: 2002-04-01 Primjer: _first_of_month ( 2002-04-20 12:10:10;000 ) Rezultat: 2002-04-01 12:10:10,000 _last_of_month ( date_expression ) Vraća datum ili datetime, zavisno o argumentu, koji je zadnji dan mjeseca iz "date_expression". Primjer: _last_of_month ( 2002-01-14 ) Rezultat: 2002-01-31 Primjer: _last_of_month ( 2002-01-14 12:10:10;000 ) Rezultat: 2002-01-31 12:10:10,000 _make_timestamp ( integer_expression1; integer_expression2; integer_expression3 ) Vraća vremensku oznaku napravljenu iz "integer_expression1" (godina); "integer_expression2" (mjesec) i "integer_expression3" (dan). Dio za vrijeme se po defaultu postavlja na 00:00:00,000 . Primjer: _make_timestamp ( 2002 ; 01 ; 14 ) Rezultat: 2002-01-14 00:00:00,000 _months_between ( date_expression1; date_expression2 ) Vraća pozitivan ili negativan broj koji predstavlja broj mjeseci između "date_expression1" i "date_expression2". Ako je "date_expression1" raniji od "date_expression2" tada se vraća negativan broj. Primjer: _months_between ( 2002-04-03 ; 2002-01-30 ) Rezultat: 2 Primjer: _months_between ( 2002-01-30 , 2002-04-03 ) Rezultat: -2 _shift_timezone ( timestamp_value , from_time_zone , target_time_zone ) _shift_timezone ( timestamp_with_time_zone_value , target_time_zone ) Pomiče vrijednost vremenske oznake iz jedne vremenske zone u drugu. Ova funkcija poštuje zimsko računanje vremena kad je primjenjivo. Ako je prvi argument tipa "vremenska oznaka", tada drugi i treći argumenti redom predstavljaju "iz vremenske zone" i "u vremensku zonu". Ako je prvi argument tipa "vremenska oznaka s vremenskom zonom", tada se "iz" vremenske zone već podrazumijeva u prvom argumentu, prema tome drugi argument predstavlja "ciljnu" vremensku zonu. Tip podataka prvog argumenta također određuje tip podataka vraćene vrijednosti. Drugi i treći argument su tipa "string" i predstavljaju identifikatore vremenskih zone. Listu ovih identifikatora možete pronaći dolje. Napomena: upotreba ove funkcije uzrokovat će lokalnu obradu. Primjer: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) Rezultat: 2013-06-30 16:00:00 Primjer: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) Rezultat: 2013-11-30 09:00:00-08:00 Identifikatori vremenskih zona: GMT (GMT+00:00) Greenwich Mean Time Europe/Lisbon (GMT+00:00) Portugal Time (Lisbon) Europe/Amsterdam (GMT+01:00) Netherlands Time Europe/Paris (GMT+01:00) France Time Europe/Berlin (GMT+01:00) Germany Time Europe/Brussels (GMT+01:00) Belgium Time Europe/Rome (GMT+01:00) Italy Time Europe/Vienna (GMT+01:00) Austria Time Africa/Cairo (GMT+02:00) Egypt Time Africa/Johannesburg (GMT+02:00) South Africa Time Europe/Athens (GMT+02:00) Greece Time Africa/Addis_Ababa (GMT+03:00) Ethiopia Time Asia/Dubai (GMT+04:00) United Arab Emirates Time Asia/Karachi (GMT+05:00) Pakistan Time Asia/Calcutta (GMT+05:30) India Time Asia/Dhaka (GMT+06:00) Bangladesh Time Asia/Saigon (GMT+07:00) Vietnam Time Asia/Hong_Kong (GMT+08:00) Hong Kong SAR China Time Asia/Tokyo (GMT+09:00) Japan Time Australia/Darwin (GMT+09:30) Australia Time (Darwin) Australia/Sydney (GMT+10:00) Australia Time (Sydney) Pacific/Guadalcanal (GMT+11:00) Solomon Islands Time America/Argentina/San_Juan (GMT-03:00) Argentina Time (San Juan) America/Buenos_Aires (GMT-03:00) Argentina Time (Buenos Aires) America/Sao_Paulo (GMT-03:00) Brazil Time (Sao Paulo) America/St_Johns (GMT-03:30) Canada Time (St. John’s) America/Puerto_Rico (GMT-04:00) Puerto Rico Time America/New_York (GMT-05:00) United States Time (New York) America/Toronto (GMT-05:00) Canada Time (Toronto) America/Jamaica (GMT-05:00) Jamaica Time America/Chicago (GMT-06:00) United States Time (Chicago) America/Mexico_City (GMT-06:00) Mexico Time (Mexico City) America/Cambridge_Bay (GMT-07:00) Canada Time (Cambridge Bay) America/Edmonton (GMT-07:00) Canada Time (Edmonton) America/Yellowknife (GMT-07:00) Canada Time (Yellowknife) America/Denver (GMT-07:00) United States Time (Denver) America/Chihuahua (GMT-07:00) Mexico Time (Chihuahua) America/Los_Angeles (GMT-08:00) United States Time (Los Angeles) America/Tijuana (GMT-08:00) Mexico Time (Tijuana) America/Vancouver (GMT-08:00) Canada Time (Vancouver) America/Anchorage (GMT-09:00) United States Time (Anchorage) Pacific/Honolulu (GMT-10:00) United States Time (Honolulu) Pacific/Tahiti (GMT-10:00) French Polynesia Time (Tahiti) Pacific/Midway (GMT-11:00) U.S. Minor Outlying Islands Time (Midway) Pacific/Niue (GMT-11:00) Niue Time Može se također koristiti prilagođeni identifikator vremenske zone u formatu GMT(+|-)HH:MM. Na primjer, GMT-06:30 ili GMT+02:00. _week_of_year ( date_expression ) Vraća broj tjedna u godini iz "date_expression", u skladu s ISO 8601 standardom. Tjedan broj 1 u godini je prvi tjedan u godini koji sadrži četvrtak, a to je isto kao i prvi tjedan koji sadrži 4. siječnja. Tjedan počinje u ponedjeljak (dan 1) i završava u nedjelju (dan 7). Primjer: _week_of_year ( 2003-01-01 ) Rezultat: 1 _years_between ( date_expression1; date_expression2 ) Vraća pozitivan ili negativan broj koji predstavlja broj godina između "date_expression1" i "date_expression2". Ako je "date_expression1" < "date_expression2" tada se vraća negativan broj. Primjer: _years_between ( 2003-01-30 ; 2001-04-03 ) Rezultat: 1 Primjer: _years_between ( 2001-04-03 , 2003-01-30 ) Rezultat: -1 _ymdint_between ( date_expression1 ; date_expression2 ) Vraća broj koji predstavlja razliku između "date_expression1" i "date_expression2". Vraćena vrijednost ima oblik YYYYMMDD, gdje YYYY predstavlja broj godina, MM predstavlja broj mjeseci, a DD predstavlja broj dana. Primjer: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Rezultat: 120905, što znači 12 godina, 9 mjeseci i 5 dana. _year ( date_expression ) Vraća vrijednost polja godina iz "date_expression". Primjer: _year ( 2003-03-01 ) Rezultat: 2003 _month ( date_expression ) Vraća vrijednost polja mjesec iz "date_expression". Primjer: _month ( 2003-03-01 ) Rezultat: 3 _day ( date_expression ) Vraća vrijednost polja dan iz "date_expression". Primjer: _day ( 2003-03-01 ) Rezultat: 1 _hour ( date_expression ) Vraća vrijednost polja sat iz "date_expression". Primjer: _hour ( 2002-01-31 12:10:10.254 ) Rezultat: 12 _minute ( date_expression ) Vraća vrijednost polja minute iz "date_expression". Primjer: _minute ( 2002-01-31 12:10:10.254 ) Rezultat: 10 _second ( date_expression ) Vraća vrijednost polja sekunde iz "date_expression". Primjer: _second ( 2002-01-31 12:10:10.254 ) Rezultat: 10.254 _timezone_hour ( timestamp_with_time_zone_value ) _timezone_hour ( time_with_time_zone_value ) Vraća vrijednost polja sat iz vremenske zone u izrazu. Izraz mora biti tipa "vremenska oznaka s vremenskom zonom" ili "vrijeme s vremenskom zonom". Primjer: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Rezultat: -5 _timezone_minute ( timestamp_with_time_zone_value ) _timezone_minute ( time_with_time_zone_value ) Vraća vrijednost polja minuta iz vremenske zone u izrazu. Izraz mora biti tipa "vremenska oznaka s vremenskom zonom" ili "vrijeme s vremenskom zonom". Primjer: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Rezultat: -30 _start_of_day ([ date_expression ]) Vraća početak od "date_expression" ili početak od danas kao vremensku oznaku. Primjer: _start_of_day ( 2014-11-23 12:10:10.254 ) Rezultat: 2014-11-23 00:00:00 Primjer: _start_of_day () Rezultat: 2016-01-01 00:00:00 _end_of_day ([ date_expression ]) Vraća kraj od "date_expression" ili kraj od danas kao vremensku oznaku. Primjer: _end_of_day ( 2014-11-23 12:10:10.254 ) Rezultat: 2014-11-23 23:59:59 Primjer: _end_of_day () Rezultat: 2016-01-01 23:59:59 _unix_timestamp ( date_expression ) Vraća broj sekunda od 1970-01-01 00:00:00-00 za dani "date_expression". Primjer: _unix_timestamp ( 2014-11-23 ) Rezultat: 1416718800 _from_unixtime ( integer_expression ) Vraća unix vrijeme specificirano s "integer_expression" kao vremensku oznaku s vremenskom zonom. Primjer: _from_unixtime (1417807335) Rezultat: 2014-12-05 19:22:15 + 00:00
Makro funkcije Ova lista sadrži funkcije koje se mogu koristiti unutar makroa. Makro može sadržavati jednu ili više makro funkcija. Makro je ograničen sa znakom broja (#) na početku i na kraju. Sve između tih znakova se tretira kao makro izraz i izvodi se u vrijeme izvođenja. Za makro funkcije koje prihvaćaju izraze s tipom vremenske oznake i vremenskom zonom kao argumentima, prihvaćeni format je 'yyyy-mm-dd hh:mm:ss[.ff]+hh:mm' gdje su podijeljene sekunde opcijske i mogu se predstaviti s 1 - 9 znamenki. Za svrhe odvajanja dijelova za datum i za vrijeme prihvaća se također i znak 'T'. Također se za odvajanje vremenske zone, '+hh:mm', prihvaća znak 'Z' i on se interno obrađuje kao '+00:00'. Makro funkcije koje vraćaju izraze s tipom vremenske oznake i vremenskom zonom, po defaultu vraćaju 9 znamenki za svoje podijeljene sekunde. Makro funkcija timestampMask () se može koristiti za rezanje izlaza ako je to potrebno. Vraća vremensku oznaku pomoću vremenske zone (kao niz znakova) koji rezultira dodavanjem "integer_expression" broja sekundi na "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. _add_seconds ( string_expression ; integer_expression ) Primjer: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 11:59:59.000-05:00 Primjer: # _add_seconds ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 12:00:01.000000000-05:00 Primjer: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 12:00:01 Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je rezultat zbrajanja "integer_expression" broja minuta i "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. _add_minutes ( string_expression ; integer_expression ) Primjer: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 11:59:00.000-05:00 Primjer: # _add_minutes ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 12:01:00.000000000-05:00 Primjer: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 12:01:00 Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je rezultat zbrajanja "integer_expression" broja sati i "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. _add_hours ( string_expression ; integer_expression ) Primjer: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 13:00:00.000-05:00 Primjer: # _add_hours ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 13:00:00.000000000-05:00 Primjer: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 13:00:00 Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je rezultat zbrajanja "integer_expression" broja dana i "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. Ako je prvi argument datum specificiran kao niz znakova u formatu gggg-mm-dd, tada je vraćena vrijednost niz znakova formatiran kao datum. _add_days ( string_expression ; integer_expression ) Primjer: # _add_days ( '2005-11-01 12:00:00;000-05:00' ; -1 ) # Rezultat: 2005-10-31 12:00:00,000000000-05:00 Primjer: # _add_days ( $current_timestamp ; 1 ) # Rezultat: 2005-11-02 12:00:00,000000000-05:00 Primjer: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2005-11-02 Primjer: # _add_days( '2019-11-14' , 3 ) # Rezultat: 2019-11-17 Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je rezultat zbrajanja "integer_expression" broja mjeseci i "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. Ako je prvi argument datum specificiran kao niz znakova u formatu gggg-mm-dd, tada je vraćena vrijednost niz znakova formatiran kao datum. _add_months ( string_expression ; integer_expression ) Primjer: # _add_months ( '2005-11-01 12:00:00;000-05:00' ; -1 ) # Rezultat: 2005-10-01 12:00:00.000000000-05:00 Primjer: # _add_months ( $current_timestamp ; 1 ) # Rezultat: 2005-12-01 12:00:00,000000000-05:00 Primjer: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2005-12-01 Primjer: # _add_months( '2019-11-14' , -1 ) # Rezultat: 2019-10-14 Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je rezultat zbrajanja "integer_expression" broja godina i "string_expression", gdje "string_expression" predstavlja vremensku oznaku s vremenskom zonom. Ako je prvi argument datum specificiran kao niz znakova u formatu gggg-mm-dd, tada je vraćena vrijednost niz znakova formatiran kao datum. _add_years ( string_expression ; integer_expression ) Primjer: # _add_years ( '2005-11-01 12:00:00;000-05:00' ; -1 ) # Rezultat: 2004-11-01 12:00:00,000000000-05:00 Primjer: # _add_years ( $current_timestamp ; 1 ) # Rezultat: 2006-11-01 12:00:00,000000000-05:00 Primjer: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2006-11-01 Primjer: # _add_years( '2019-11-14' , -2 ) # Rezultat: 2017-11-14 _first_of_month ( string_expression ) Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) konvertiranjem vrijednosti za dan iz "string_expression" u 1, gdje je "string_expression" vremenska oznaka s vremenskom zonom. Primjer: # _first_of_month ( '2005-11-11 12:00:00;000-05:00' ) # Rezultat: 2005-11-01 12:00:00,000000000-05:00 Primjer: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00;000-05:00' ) ; 'yyyymmdd' ) # Rezultat: 20051101 _last_of_month ( string_expression ) Vraća vremensku oznaku s vremenskom zonom (kao niz znakova) koja je zadnji dan u mjesecu iz "string_expression", gdje je "string_expression" vremenska oznaka s vremenskom zonom. Primjer: # _last_of_month ( '2005-11-11 12:00:00;000-05:00' ) # Rezultat: 2005-11-30 12:00:00,000000000-05:00 Primjer: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00,000-05:00' ) ; 'yyyy-mm-dd' ) # Rezultat: 2005-11-30 modelj ( 'identifier' [ , 'model_search_path' [ , 'options' ] ] ) Vraća dio modela meta podataka u json formatu. Trenutni model će se koristiti kad nije specificiran 'model_search_path'. Za argument 'options' može se staviti 'cleanup', time se neki dijelovi rezultata mijenjaju u fiksne vrijednosti (korisni za testiranje). sq ( modelj ( '[gosales].[country].[country]' ) Zaokružuje "string_expression" s uglatim zagradama. sb ( string_expression ) Primjer: # sb ( 'abc' ) # Rezultat: [abc] Zaokružuje "string_expression" s jednostrukim navodnicima. sq ( string_expression ) Primjer: # sq ( 'zero' ) # Rezultat: 'zero' Zaokružuje "string_expression" s dvostrukim navodnicima. dq ( string_expression ) Primjer: # dq ( 'zero' ) # Rezultat: "zero" Koristi informacije o identitetu za trenutnog ovlaštenog korisnika za traženje vrijednosti u navedenom mapi parametara. Svaki pojedini dio identiteta korisnika (naziv računa, nazivi grupa, nazivi uloga) se koriste kao ključ u mapi. Jednoznačna lista vrijednosti koja se dohvaća iz mape parametara se zatim vraća kao niz znakova, gdje je svaka vrijednost zatvorena u jednostruke navodnike, a višestruke vrijednosti su odvojene zarezima. CSVIdentityName ( %parameter_map_name [ ; separator_string ] ) Primjer: # CSVIdentityName ( %security_clearance_level_map ) # Rezultat: 'level_500', 'level_501', 'level_700' Vraća dijelove identiteta korisnika (korisničko ime, nazivi grupa, nazivi uloga) kao listu nizova. Jednoznačna lista vrijednosti se vraća kao niz znakova, gdje je svaka vrijednost zatvorena u jednostruke navodnike, a višestruke vrijednosti su odvojene zarezima. CSVIdentityNameList ( [ separator_string ] ) Primjer: # CSVIdentityNameList ( ) # Rezultat: 'Everyone', 'Report Administrators', 'Query User' Vraća Cognos® Access Manager putovnicu. CAMPassport ( ) Primjer: # CAMPassport ( ) # Rezultat: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Vraća dijelove Cognos® Access Manager ID-a korisnika (CAMID), kao što su korisničko ime, nazivi grupa ili nazivi uloga, u obliku liste vrijednosti odvojenih zarezima. CAMIDList ( [ separator_string ] ) Primjer: #CAMIDList ( ) # Rezultat: CAMID ( "::Everyone" ) ; CAMID ( ":Authors" ) ; CAMID ( ":Query Users" ) ; CAMID ( ":Consumers" ) ; CAMID ( ":Metrics Authors" ) Vraća matricu ID-ova Cognos® Access Manager korisnika (CAMID-ovi) na bazi tipa identiteta (račun, grupa ili uloga). CAMIDListForType se može koristiti s makro funkcijama csv ili join. CAMIDListForType ( identity type ) Primjer: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Rezultat: [qs].[userRole] in ( 'CAMID ( "::System Administrators" ) ' ; 'CAMID ( ":Authors" )' ) Konkatenira dva niza znakova. value1 + value2 Primjer: # '{ ' + $runLocale + ' }' # Rezultat: {en-us} Uklanja vodeće znakove iz prvog argumenta. Drugi argument koji nije obavezan, definira skup znakova koji se uklanjaju. Po defaultu, ova funkcija uklanja prazna mjesta (npr. prazninu, tabulator, oznaku kraja reda i novog reda). lstrip ( string_expression [ ; set_of_characters ] ) Primjer: # sq( lstrip ( ' abc ' ) ) # Rezultat: 'abc ' Primjer: # lstrip ( ' 0053;2100 ' ; '0 \t\r\n' ) # Rezultat: 53,2100 Vraća vrijednost parametra "parameterName" ako je definiran. Vraća se vrijednost "defaultText" ako ne postoji "parameterName". Kad se za "datatype" stavi "string" tada će se vrijednost rezultata nalaziti unutar jednostrukih navodnika. Upotreba ove funkcije neće uzrokovati izuzetak radi parametra koji nedostaje. ParamValue ( parameterName [ , defaultText [, datatype ] ] ) Primjer: # ParamValue ( 'p_country' ) # Rezultat: 'Canada' - p_country je postavljen Rezultat: null - p_country nije poznati parametar Rezultat: null - p_country se koristi kao opcijski prompt i nije postavljen Primjer: # ParamValue ( 'p_country' , 'Netherlands' ) # Rezultat: 'Canada' - p_country je postavljen Rezultat: 'Netherlands' - p_country nije poznati parametar Rezultat: 'Netherlands' - p_country se koristi kao opcijski prompt i nije postavljen Primjer: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Rezultat: 'Canada' - p_country je postavljen Rezultat: cast ( null as varchar(20)) - p_country nije poznati parametar Rezultat: cast ( null as varchar(20)) - p_country se koristi kao opcijski prompt i nije postavljen Pita korisnika za jednu vrijednost ili člana. Potrebno je samo "prompt_name". Tip podataka postavlja se defaultno na 'string' kad nije specificiran. Prompt nije obavezan kad je "defaultText" naveden. "Text", kad je naveden će biti ispred vrijednosti. "QueryItem" se može specificirati da se iskoriste prednosti informacija prompta iz "queryItem". "Trailing_text", kad je naveden, će se pridodati vrijednosti. Kad je tip podataka 'memberuniquename', kreira se upit za pojedinačno izabranog člana. Dobra praksa je osigurati defaultnu vrijednost, kao treći argument. Defaultna vrijednost mora biti jedinstveni naziv člana; također može biti zamjensko ime koje referencira jedinstveni naziv člana kao što je napravljeno u Report Studio. prompt ( prompt_name ; datatype ; defaultText ; text ; queryItem ; trailing_text ) Primjer: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Starting CountryCode' ; 'integer' ; '10' ) # Rezultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Primjer: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'countryPrompt' ; 'string' ; '''Canada''' ) # Rezultat: [gosales].[COUNTRY].[COUNTRY] = 'Canada' Primjer: set ( #prompt ('myProduct'; 'memberuniquename'; '[Camping Equipment]'; ''; '[Sales].[Product].[Product].[Product line]')#) Rezultat: set([Sales].[Product].[Product].[Product line]->[all].[1]) Parametar "defaultText" se mora navesti tako da je ispravan u kontekstu makroa, zato što se na toj vrijednosti ne događa nikakvo formatiranje. Default niz '''Canada''' iz Primjera 2 je naveden kao niz s jednostrukim navodnicima, u kojem su umetnuti jednostruki navodnici pretvoreni u dvostruke pa su zato tu tri navodnika. To rezultira ispravnim prikazom niza unutar jednostrukih navodnika u izrazu. Opće pravilo za tip podataka niza, "defaultText" se uvijek treba specificirati na ovaj način, osim u kontekstu parametra spremljene procedure. Za "defaultText" tipa 'date' ili 'datetime', treba se koristiti poseban format u SQL kontekstu. Primjeri ovih formata su 'DATE ''2001-12-25''' i 'DATETIME ''2001-12-25 12:00:00'''. U svim drugim kontekstima, koristite datum/datetime bez ključne riječi i krajnjih jednostrukih navodnika (tj. '2001-12-25'). Pita korisnika za jednu ili više vrijednosti ili članova. Potrebno je samo "prompt_name". Tip podataka postavlja se defaultno na 'string' kad nije specificiran. Prompt nije obavezan kad je "defaultText" naveden. "Text", kad je naveden će biti ispred liste vrijednosti. "QueryItem" se može specificirati da se iskoriste prednosti informacija prompta iz "queryItem". "Trailing_text", kad je naveden, će se pridodati listi vrijednosti. Kad je tip podataka 'memberuniquename', kreira se za člana višestruki izbor upita. Dobra praksa je osigurati defaultnu vrijednost, kao treći argument. Defaultna vrijednost mora biti jedinstveni naziv člana; također može biti zamjensko ime koje referencira jedinstveni naziv člana kao što je napravljeno u Report Studio. promptmany ( prompt_name ; datatype ; defaultText ; text ; queryItem ; trailing_text ) Primjer: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'CountryName' ) # ) Rezultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' ; 'The Netherlands' ; 'Russia' ) Primjer: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Selected CountryCodes' ; 'integer' ; ' ' ; ' and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( ' ; '' ; ' ) ' ) # Rezultat: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' ; 'The Netherlands' ; 'Russia' ) Primjer: set ( #promptmany ('myProduct'; 'memberuniquename'; '[Camping Equipment]'; ''; '[Sales].[Product].[Product].[Product line]')#) Rezultat: set([Sales].[Product].[Product].[Product line]->[all].[1]; [Sales].[Product].[Product].[Product line]->[all].[2]) Izvedite upit za jedan stupac i vratite vrijednost u prvi (jedini) red. Rezultat nije formatiran, poziv svakako stavite u sq ( ) ako je potrebno. queryValue ( value_expression [ , filter_expression ] ) Primjer: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Rezultat: 'Wednesday' Konstruira matricu iz liste parametara. array ( string_expression|array_expression { ; string_expression|array_expression } ) Primjer: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Rezultat: 'a1' , 'x1' , 'x2' , 'a2' Konstruira niz iz elemenata matrice, gdje su vrijednosti odijeljene zarezima. Neobavezno se mogu navesti odjelitelj i navodnici. Default odjelitelj je zarez ( ; ), a default znak za navodnike je jednostruki navodnik ( ' ). csv ( array_expression [ ; separator_string [ ; quote_string ] ] ) Primjer: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Rezultat: 'a1', 'a2' Dohvatite unos iz IBM® Cognos® konfiguracijske datoteke. force_decode_flag nije obavezno, ali mora biti jedno od sljedećeg: 'true' , '1', 1 , 'false', '0', 0. Default je 'false'. U izuzetnim slučajevima force_decode_flag treba postaviti na true. Kad se force_decode_flag postavi na true, tada se za unose konfigurirane u IBM® Cognos® konfiguraciji preko naprednih svojstava vraća običan tekst unosa konfiguracije. Kod unosa koji nisu prepoznati u Naprednim svojstvima vraća se prazan niz znakova, bez obzira na prisutnost šifriranih informacija. Unos u Napredna svojstva je qs.getConfigurationEntry.1 i lista imena odvojenih točka zarezom, po defaultu ova lista imena je prazna i pozivi ove funkcije sa zastavicom postavljenom na true vratit će prazan niz znakova. getConfigurationEntry ( entry_string ; force_decode_flag ) Primjer: # getConfigurationEntry ( 'serverLocale'  ) # Rezultat: en Vraća unos iz datoteke resursa. Prvi argument je ID resursa pronađen u datoteci resursa. Opcijski drugi argument je naziv datoteke resursa bez nastavka koji označava lokalizaciju (npr. 'mfwa4j' za datoteku poruka 'mfwa4j_en.properties'). Defaultna datoteka resursa je 'xqejavamsgs'. Opcijski treći argument je lokalizacija, a default je 'en'. getResourceString ( resource_id_string [, resource_file_string [ , locale_string ] ] ) Primjer: # getResourceString ( 'XQE_BIN_binLow' ) # Rezultat: XQE-BIN-0001 manji od %1 Primjer: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Rezultat: MFW-UT-1002 Dogodila se interna greška. Molim, kontaktirajte sistemskog administratora. Traži i vraća elemente matrice koji se podudaraju s uzorkom navedenim u "pattern_string". Jedini podržani meta znakovi su: ^ (početak riječi), $ (kraj riječi), ! (negacija - podržan je samo kao prvi znak). grep ( pattern_string ; array_expression ) Primjer: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Rezultat: 'as', 'arts' Primjer: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # Rezultat: 'group', 'golf' Primjer: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # Rezultat: 'oranges', 'mangoes' Primjer: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # Rezultat: 'apples' Pronađi pomak u 'str' (niz) na kojem se nalazi 'substr' (podniz). Vrijednost -1 se vraća kad 'substr' nije nađen. Možete također dati opcijski 'offset' (pomak) od kojeg počinje traženje. Prvi argument 'str' može također biti array_expression (matrični izraz), u tom slučaju funkcija se primjenjuje na svaki element matrice, a rezultat je matrica vrijednosti. index ( str , substr [ , offset ] ) # index ( 'The black horse jumped over the black sheep.', 'black' ) # Rezultat: 4 # index ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Rezultat: 32 # index ( 'The black horse jumped over the black sheep.', 'green' ) # Rezultat: -1 # sq ( join ( ' | ', index ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Rezultat: -1 | 1 | 2 Spaja elemente matrice koristeći "separator_string". join ( separator_string ; array_expression ) Primjer: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Rezultat: 'as | | an | | arts' Izračunava broj znakova u string_expression (niz znakova). Ako je argument array_expression (matrični izraz) tada će rezultat biti matrica vrijednosti, a svaki unos će biti broj znakova u pojedinom elementu matričnog izraza. length ( string_expression | array_expression ) length ( 'abcdef' ) Rezultat: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Rezultat: 6--3 Pronađi zadnji pomak u 'str' na kojem se nalazi 'substr'. Ova funkcija se zove obrnuti indeks, možete ju zamisliti kao skeniranje koje počinje od završetka niza znakova. Vrijednost -1 se vraća kad 'substr' nije nađen. Možete također navesti opcijski 'offset' (pomak) na kojem završava traženje. Prvi argument 'str' može biti array_expression (matrični izraz), u tom slučaju se funkcija primjenjuje na svaki element matrice, a rezultat se sastoji od matrice vrijednosti. rindex ( str , substr [ , offset ] ) # rindex ( 'The black horse jumped over the black sheep.', 'black' ) # Rezultat: 32 # rindex ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Rezultat: 4 # rindex ( 'The black horse jumped over the black sheep.', 'green' ) # Rezultat: -1 # sq ( join ( ' | ', rindex ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Rezultat: -1 | 1 | 3 Uklanja prateće znakove iz prvog argumenta. Drugi argument koji nije obavezan, definira skup znakova koji se uklanjaju. Po defaultu, ova funkcija uklanja prazna mjesta (npr. prazninu, tabulator, oznaku kraja reda i novog reda). rstrip ( string_expression [ ; set_of_characters ] ) Primjer: # sq( rstrip ( ' abc ' ) ) # Rezultat: 'abc ' Primjer: # rstrip ( ' 0053;2100 ' ; '0 \t\r\n' ) # Rezultat: 0053,21 Sortira elemente matrice u abecednom redoslijedu. Dupli unosi se zadržavaju. sort ( array_expression ) Primjer: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Rezultat: 'a', 's3', 'x' Dijeli niz ili elemente niza matrice u odvojene elemente. split ( pattern_string; string_expression|array_expression ) Primjer: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Rezultat: 'ab=c', 'de=f', 'gh=i' Primjer: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Rezultat: 'ab', 'c', 'de', 'f', 'gh', 'i' Uklanja vodeće i prateće znakove iz prvog argumenta. Drugi argument koji nije obavezan, definira skup znakova koji se uklanjaju. Po defaultu, ova funkcija uklanja prazna mjesta (npr. prazninu, tabulator, oznaku kraja reda i novog reda). strip ( string_expression [ ; set_of_characters ] ) Primjer: # sq( strip ( ' abc ' ) ) # Rezultat: 'abc' Primjer: # strip ( ' 0053;2100 ' ; '0 \t\r\n' ) # Rezultat: 53,21 Traži uzorak u nizu znakova ili elementima niza matrice i zamjenjuje prvo pojavljivanje "pattern_string" s "replacement_string". Jedini podržani meta znakovi su: ^ (početak riječi), $ (kraj riječi) substitute ( pattern_string; replacement_string; string_expression|array_expression ) Primjer: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Rezultat: '***help' Primjer: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Rezultat: '***help'; 'acn=5' Primjer: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Rezultat: 'help', 'a5' Primjer: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Rezultat: 'cn=***' Izdvaja dio iz 'string_expression' počevši od 'start_offset'. Možete navesti broj 'length' koji označava broj izdvojenih znakova. Ako 'length' nije specificiran, tada se vraćaju svi znakovi do kraja 'string_expression'. Prvi argument može također biti array_expression, u tom slučaju funkcija se primjenjuje na svaki element matrice, a rezultat funkcije je matrica sastavljena od nizova znakova. substr ( string_expression , start_offset [ , length ] ) substr ( 'The horse is black.', 0, 3 ) Rezultat: The substr ( 'The horse is black.', 4 ) Rezultat: horse is black. substr ( 'The horse is black', index ('The horse is black.' , 'green' ) ) Rezultat: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) Rezultat: ac | d | en substr ('over the moon', -2, 4) Rezultat u greški: drugi argument funkcije 'substr' mora biti veći ili jednak -1.' . Vraća "string_expression1", koji predstavlja vremensku oznaku s vremenskom zonom, oblikovano u format naveden u "string_expression2". Format u "string_expression2" mora biti nešto od sljedećeg: 'yyyy', 'mm', 'dd', 'yyyy-mm', 'yyyymm', 'yyyy-mm-dd', 'yyyymmdd', 'yyyy-mm-dd hh:mm:ss', 'yyyy-mm-dd hh:mm:ss+hh:mm', 'yyyy-mm-dd hh:mm:ss.ff3', 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm', 'yyyy-mm-ddThh:mm:ss', 'yyyy-mm-ddThh:mm:ss+hh:mm', 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm' ili 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm'. Makro funkcije koje vraćaju prikaz niza znakova za vremensku oznaku s vremenskom zonom po defaultu pokazuju preciznost od 9 znamenki za dijelove sekundi. Opcije formata omogućuju da se to odreže na preciznost od 3 ili 0 znamenki. timestampMask ( string_expression1 ; string_expression2 ) Primjer: # timestampMask ( $current_timestamp ; 'yyyy-dd-mm' ) # Rezultat: 2005-11-01 Primjer: # timestampMask (  '2005-11-01 12:00:00,000-05:00' ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # Rezultat: 2005-11-01 12:00:00-05:00 Primjer: # timestampMask (  '2005-11-01 12:00:00;123456789-05:00' ; 'yyyy-mm-ddThh:mm:ss+hh:mm.ff3+hh:mm' ) # Rezultat: 2005-11-01T12:00:00,123-05:00 Vraća niz koji predstavlja vremensku oznaku s vremenskom zonom koja je rezultat podešavanja "string_expression" na vremensku zonu operativnog sistema. Primijetite da se makro funkcija timestampMask () može koristiti za skraćivanje izlaza. toLocal ( string_expression ) Primjer: # toLocal ( '2005-11-01 17:00:00;000-00:00' ) # where OS local time zone is -05:00 Rezultat: 2005-11-01 12:00:00,000000000-05:00 Primjer: # timestampMask ( toLocal ( '2005-11-01 17:00:00;000-00:00' ) ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # where OS local time zone is -05:00 Rezultat: 2005-11-01 12:00:00-05:00 Primjer: # toLocal ( '2005-11-01 13:30:00;000-03:30' ) # where OS local time zone is -05:00 Rezultat: 2005-11-01 12:00:00,000000000-05:00 Vraća niz znakova "string_expression" sa svim znakovima konvertiranim u mala slova po pravilima lokalizacije "locale_string". Ako lokalizacija nije navedena, koristi se lokalizacija 'en'. tolower ( string_expression [ ; locale_string ] ) Primjer: # tolower ( 'ABC' ) # Rezultat: abc Primjer: # tolower ( 'ABC' ; 'fr' ) # Rezultat: abc Vraća niz znakova "string_expression" sa svim znakovima konvertiranim u velika slova po pravilima lokalizacije "locale_string". Ako "locale_string" nije naveden, koristi se lokalizacija 'en'. toupper ( string_expression [ ; locale_string ] ) Primjer: # toupper ( 'abc' ) # Rezultat: ABC Primjer: # toupper ( 'abc' ; 'fr' ) # Rezultat: ABC Vraća niz koji predstavlja vremensku oznaku s vremenskom zonom koja je rezultat podešavanja "string_expression" na zero-point reference UTC vremensku zonu, također poznato i kao GMT vrijeme. Primijetite da se makro funkcija timestampMask () može koristiti za skraćivanje izlaza. toUTC ( string_expression ) Primjer: # toUTC ( '2005-11-01 12:00:00;000-05:00' ) # Rezultat: 2005-11-01 17:00:00,000000000-00:00 Primjer: # timestampMask( toUTC ( '2005-11-01 12:00:00;000-05:00' ) ; 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm' ) # Rezultat: 2005-11-01 17:00:00,000-00:00 Primjer: # toUTC ( $current_timestamp ) # Rezultat: 2005-11-01 17:00:00,000000000-00:00 Uklanja duple unose iz matrice. Redoslijed elemenata se zadržava. unique ( array_expression ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Rezultat: 's3', 'a', 'x' URL-šifriranje predanog argumenta. Ova funkcija je korisna kod specificiranja XML niza znakova povezivanja. urlencode ( prompt ( 'userValue' ) ) urlencode ( prompt ( 'some_val' ) ) %27testValue%27 simple case Ova makro konstrukcija je predložak za simple case, uključujući case, when, then, else i end funkcije. Primijetite da je ova makro konstrukcija podržana samo u DQM načinu. CASE <expression> WHEN <literal> THEN <expression> [ELSE <expression>] END Primjer: #CASE prompt('pDateRange';'token') WHEN 'Current Week' THEN '[PR Current Week]' ELSE '[PR Prior Week]' END# Rezultat: [PR Current Week]
Blok funkcije Ova lista sadrži funkcije koje se koriste za pristup članovima skupa, obično u Analysis Studio kontekstu. Vraća prve članove nađene u skupu do "numeric_expression_maximum" + "numeric_expression_overflow". Ako se "numeric_expression_maximum" + "numeric_expression_overflow" premaši, tada se vraća samo maksimalan broj članova. Za skup koji ima samo nekoliko članova više od navedenog numeric_expression_maximum, numeric_expression_overflow dozvoljava uključivanje manjeg broja ekstra članova. Ako skup ima više članova nego što dozvoljava preljev, tada se vraća samo numeric_expression_maximum članova. _firstFromSet ( set_expression ; numeric_expression_maximum ; numeric_expression_overflow ) _firstFromSet ( [Great_Outdoors_company].[Proizvodi].[Proizvodi].[Linija proizvoda] ; 2 ; 8 ) Rezultat: Vraća pet članova u skupu linije proizvoda. Prva dva člana se vraćaju unutar maksimuma, a sljedeća tri člana se vraćaju kao preljev. Oprema za kampiranje Oprema za golf Oprema za planinarenje Vanjska zaštita Osobni pribor _firstFromSet ( [Great_Outdoors_company].[Proizvodi].[Proizvodi].[Linija proizvoda] ; 2 ; 2 ) Rezultat: Oprema za kampiranje, Golf oprema Vraća skup koji sadrži "member_expression" kad je "set_expression" veći od "numeric_expression"; tj. novi član će se generirati ako je broj članova u "set_expression" veći od navedenog "numeric_expression". _remainderSet ( member_expression; set_expression ; numeric_expression ) _remainderSet ( member ( aggregate ( currentMeasure within set [Great_Outdoors_company].[Proizvodi].[Proizvodi].[Linija proizvoda] ) ; 'Product Aggregate' ; 'Product Aggregate' ; [Great_Outdoors_company].[Proizvodi].[Proizvodi] ) ; [Great_Outdoors_company].[Proizvodi].[Proizvodi].[Linija proizvoda] ; 1 ) Rezultat: Prodana količina za Agregaciju proizvoda