Za ponudnika specifične funkcije Konstante Konstanta je fiksna vrednost, ki jo lahko uporabite v izrazu. Operatorji Operatorji podajajo, kaj se zgodi z vrednostmi na obeh straneh operatorja. Operatorji so podobni funkcijami, saj manipulirajo s podatkovnimi postavkami in vrnejo rezultat. date Vstavi trenutni sistemski datum. date-time Vstavi trenutni sistemski datum in čas. time with time zone Vstavi nični čas s časovnim pasom. timestamp with time zone Vstavi primer časovnega žiga s časovnim pasom. Vstavi lažno vrednost. interval Vstavi nični interval: 000 00:00:00.000. interval year Vstavi nični interval leta: 0 let. interval month Vstavi nični mesečni interval: 0 mesecev. interval year to month Vstavi nični interval leta v mesec: 0000-00 leto v mesec interval day Vstavi nični interval dneva: 0 dni. interval hour Vstavi nični interval ur: 0 ur. interval minute Vstavi nični interval minute: 0 minut. interval second Vstavi nični interval sekunde: 0 sekund. interval day to hour Vstavi nični interval dni v ure: 0 00 dni v ure. interval day to minute Vstavi nični interval dni v minute: 0 00:00 dni v minute. interval day to second Vstavi nični interval dni v sekunde: 0 00:00:00.000000000 dni v sekunde. interval hour to minute Vstavi nični interval ur v minute: 00:00 ur v minute. interval hour to second Vstavi nični interval ur v sekunde: 00:00:00.000000000 ur v sekunde. interval minute to second Vstavi nični interval minut v sekunde: 00:00.000000000 minut v sekunde. Vstavi "null" (ničelna vrednost), če pogoji izraza niso izpolnjeni. number Vstavi število 0, ki ga lahko zamenjate z novo številsko vrednostjo. string Vstavi prazen niz kot dva opuščaja, med katera lahko vpišete niz. time Vstavi trenutni sistemski čas. Vstavi vrednost true.
Označuje začetek izraza. ( expression ) Označuje konec izraza. ( expression ) Pomnoži dve številski vrednosti. value1 * value2 , Loči komponente izraza. expression ( parameter1; parameter2 ) Deli dve številski vrednosti. value1 / value2 Naniza oziroma združi dva niza. string1 || string2 Sešteje dve številski vrednosti. value1 + value2 Odšteje dve številski vrednosti ali negira številsko vrednost. value1 - value2 ali - value Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki so manjše od "value2". value1 < value2 Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki so manjše od ali enake "value2". value1 <= value2 Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki niso enake "value2". value1 <> value2 Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki so enake "value2". value1 = value2 Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki so večje od "value2". value1 > value2 Loči komponenti v literalnem izrazu člana. [namespace].[dimension].[hierarchy].[level]->[L1] Primerja vrednosti, ki jih predstavlja "value1", z "value2" in poišče vrednosti, ki so večje od ali enake "value2". value1 >= value2 Vrne "true", če sta pogoja na obeh straneh izraza izpolnjena. argument1 and argument2 Dela z izrazi povzetka za definiranje območja, ki bo nastavljeno na podlagi stolpcev grupiranja v poizvedbi. Območje je odvisno od konteksta. aggregate_function ( expression AUTO ) Ugotavlja, ali vrednost pade v določen obseg. expression between value1 and value2 Primer: [Revenue] between 200 and 300 Rezultat: vrne število rezultatov s prihodki med 200 in 300. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Dela z when, then, else in end. Case določa začetek specifične situacije, v kateri se definirajo dejanja when, then in else. case expression { when expression then expression } [ else expression ] end Ugotovi, ali "string1" vsebuje "string2". Ta skladnja podpira oba metaznaka: znak za odstotek (%) predstavlja nič, enega ali več znakov, podčrtaj (_) pa predstavlja poljuben znak. Izbirna ključna beseda LITERAL kaže, kako sta interpretirana znaka '%' in '_'. Ko je ključna beseda LITERAL prisotna, znaka '%' in '_' nista obravnavana kot metaznaka (glejte primera 3 in 5). Sicer se v odsotnosti ključne besede LITERAL znaka '%' in '_' vedeta kot metazanka (glejte primere 1, 2 in 4). string1 contains [LITERAL] string2 Primer 1: [PRODUCT_LINE] contains 'door' Rezultat 1: Outdoor Equipment Primer 2: [PRODUCT_LINE] contains 'Golf%' Rezultat 2: Golf Equipment Primer 3: [PRODUCT_LINE] contains literal 'Golf%' Rezultat 3: Golf% Primer 4: [PRODUCT_LINE] contains 'Current_Year%' Rezultat 4: Current Year Price, Current Year Price%, Current_Year Price%. Primer 5: [PRODUCT_LINE] contains literal 'Current_Year%' Rezultat 5: Current_Year%. Ključna beseda, ki se lahko uporabi kot prvi argument funkcij povzetka člana. Ta funkcija se pojavi v vzorčnem poročilu Skupni prihodek po državi (Total Revenue by Country) v paketu Podatkovno skladišče GO (poizvedba). aggregate_function ( currentMeasure within set expression ) current_date Vrne trenutni datum baze podatkov. current_date Dela s konstruktom lookup. lookup (....) in (....) default (....) Ključna beseda, ki se uporablja v agregatnem izrazu za vključevanje samo ločenih pojavitev vrednosti. Glejte tudi funkcijo unique. distinct dataItem Primer: count ( distinct [OrderDetailQuantity] ) Rezultat: 1704 Dela s konstruktoma if ali case. Če pogoja if ali case nista izpolnjena, se uporabi izraz else. Ta funkcija je prikazana v vzorčnem poročilu Najboljših 10 trgovcev na drobno v letu 2005 (Top 10 Retailers for 2005) v paketu (za analize) GO Data Warehouse. if ( condition ) then .... else ( expression ) , or case .... else ( expression ) end Označuje konec konstrukta case ali when. case .... end Ugotovi, ali se "string1" konča z "string2". Ta skladnja podpira oba metaznaka: znak za odstotek (%) predstavlja nič, enega ali več znakov, podčrtaj (_) pa predstavlja poljuben znak. Izbirna ključna beseda LITERAL kaže, kako sta interpretirana znaka '%' in '_'. Ko je ključna beseda LITERAL prisotna, znaka '%' in '_' nista obravnavana kot metaznaka (glejte primera 3 in 5). Sicer se v odsotnosti ključne besede LITERAL znaka '%' in '_' vedeta kot metazanka (glejte primere 1, 2 in 4). string1 ends with [LITERAL] string2 Primer 1: [PRODUCT_LINE] ends with 'Equipment' Rezultat 1: Camping Equipment, Golf Equipment Primer 2: [PRODUCT_LINE] ends with '%Equipment' Rezultat 2: Golf Equipment, Camping Equipment Primer 3: [PRODUCT_LINE] ends with literal 'Equipment%' Rezultat 3: Equipment% Primer 4: [PRODUCT_LINE] ends with '%Price' Rezultat 4: Product Price, Current_Year Price Primer 5: [PRODUCT_LINE] ends with literal '%Price' Rezultat 5: %Price Ugotovi, ali se "string1" ujema z vzorcem "string2", kjer se znak "char" izbirno uporablja za ubežanje znakom v nizu vzorca. string1 LIKE string2 [ ESCAPE char ] Primer: [PRODUCT_LINE] like 'G%' Rezultat: vse linije izdelkov, ki se začnejo z 'G'. Primer: [PRODUCT_LINE] like '%Ga%' escape 'a' Rezultat: vse linije izdelkov, ki se končajo z 'G%'. Dela z izrazi povzetka za definiranje območja agregiranja v poizvedbi. aggregate_function ( expression for expression { ; expression } ) Dela z izrazi povzetka za definiranje območja, ki naj se nastavi glede na podnabor stolpcev grupiranja v poizvedbi. Ekvivalent za člen for. aggregate_function ( expression for ANY expression { ; expression } ) Dela z izrazi povzetka za definiranje območja, ki naj bo vsi podani grupirani stolpci v poizvedbi. Glejte tudi člen for. aggregate_function ( expression for ALL expression { ; expression } ) Dela z izrazi povzetka, da nastavi območje na celotno poizvedbo. Glejte tudi člen for. Ta funkcija se pojavi v vzorčnem poročilu Vračila in zadovoljstvo strank (Customer Returns and Satisfaction) v paketu (za analize) GO Data Warehouse. aggregate_function ( expression for report ) Dela s konstruktoma then in else. Definira pogoj. Če je pogoj if true, se uporabi izraz then. Če pogoj if ni true, se uporabi izraz else. Ta funkcija je prikazana v vzorčnem poročilu Najboljših 10 trgovcev na drobno v letu 2005 (Top 10 Retailers for 2005) v paketu (za analize) GO Data Warehouse. if ( condition ) then ( expression ) else ( expression ) Ugotovi, ali izraz "expression1" obstaja na danem seznamu izrazov. expression1 in ( expression_list ) Ugotovi, ali izraz "expression1" obstaja na danem seznamu konstantnih vrednosti ali obsegov. expression1 in_range { constant : constant [ ; constant : constant ] } Primer: [code] in_range { 5 } Rezultat: to je ekvivalent za [code] = 5. Primer: [code] in_range { 5: } Rezultat: to je ekvivalent za [code] >= 5. Primer: [code] in_range { :5 } Rezultat: to je ekvivalent za [code] <= 5. Primer: [code] in_range { 5:10 } Rezultat: to je ekvivalent za ( [code] >= 5 and [code] <= 10 ). Primer: [code] in_range { :5,10,20: } Rezultat: to je ekvivalent za ( [code] <= 5 or [code] = 10 or [code] >= 20 ). Ugotovi, ali je "value" v podatkih nedefinirano. value is missing Ugotovi, ali je "value" v podatkih nedefinirano. value is null Ugotovi, ali je "value" v podatkih definirana. value is not missing Ugotovi, ali je "value" v podatkih definirana. value is not null Ugotovi, ali se "string1" ujema z vzorcem "string2", kjer se znak "char" izbirno uporablja za ubežanje znakom v nizu vzorca. Ta skladnja podpira oba metaznaka: znak za odstotek (%) predstavlja nič, enega ali več znakov, podčrtaj (_) pa predstavlja poljuben znak. string1 LIKE string2 [ ESCAPE char ] Primer 1: [PRODUCT_LINE] like 'G%' Rezultat 1: All product lines that start with 'G'. Primer 2: [PRODUCT_LINE] like '%Ga%' escape 'a' Rezultat 2: All the product lines that end with 'G%'. Primer 3: [PRODUCT_LINE] like 'C_R_' Rezultat 3: All the product lines with the name CARS or CARD. Primer: lookup ( [Country]) in ( 'Canada'--> ( [List Price] * 0.60); 'Australia'--> ( [List Price] * 0.80 ) ) default ( [List Price] ) Najde in zamenja podatke z vrednostjo, ki jo podate. Primernejše je uporabiti konstrukt case. lookup ( name ) in ( value1 --> value2 ) default ( expression ) Vrne TRUE, če je "argument" ocenjen na false, ali FALSE, če je "argument" ocenjen na true. NOT argument Vrne TRUE, če je "argument1" ali "argument2" ocenjen na true. argument1 or argument2 Izvede izračun povzetka, preden uveljavi filter povzetka. summary_function ([expression] prefilter) Primer: total ( [Quantity] for report prefilter ) summaryFilter: total( [Quantity] for [ProductNo] ) > 50000 Rezultat: Sešteje količine v poročilu pred uveljavitvijo filtra povzetka. 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 Prešteje število vrstic, ki so v izhodnih podatkih poizvedbe. Uporabite s Count (). count ( ROWS ) Prešteje število vrstic, ki so v izhodnih podatkih poizvedbe. Uporabite s Count (). count ( ROWS  [ expression ]) Ugotovi, ali se "string1" začne z "string2". Ta skladnja podpira oba metaznaka: znak za odstotek (%) predstavlja nič, enega ali več znakov, podčrtaj (_) pa predstavlja poljuben znak. Izbirna ključna beseda LITERAL kaže, kako sta interpretirana znaka '%' in '_'. Ko je ključna beseda LITERAL prisotna, znaka '%' in '_' nista obravnavana kot metaznaka (glejte primera 3 in 5). Sicer se v odsotnosti ključne besede LITERAL znaka '%' in '_' vedeta kot metazanka (glejte primere 1, 2 in 4). string1 starts with [LITERAL] string2 Primer 1: [PRODUCT_LINE] starts with 'Golf' Rezultat 1: Golf Equipment Primer 2: [PRODUCT_LINE] starts with 'Outdoor%' Rezultat 2: Outdoor Equipment Primer 3: [PRODUCT_LINE] starts with literal 'Golf%' Rezultat 3: Golf% Primer 4: [PRODUCT_LINE] starts with 'Current_Year%' Rezultat 4: Current Year Price, Current Year Price%, Current_Year Price% Primer 5: [PRODUCT_LINE] starts with literal 'Current_Year%' Rezultat 5: Current_Year% Dela s konstruktoma if ali case. Ko sta pogoj if ali izraz when true, se uporabi izraz then. Ta funkcija je prikazana v vzorčnem poročilu Najboljših 10 trgovcev na drobno v letu 2005 (Top 10 Retailers for 2005) v paketu (za analize) GO Data Warehouse. if ( condition ) then ..., or case expression when expression then .... end Dela s konstruktom case. Definirate lahko pogoje, ki naj se zgodijo, kadar je izraz WHEN true. case [expression] when ... end
Seštevki Ta seznam vsebuje preddefinirane funkcije, ki vrnejo ali eno samo vrednost povzetka za skupino povezanih vrednosti ali različno vrednost povzetka za vsak primerek skupine povezanih vrednosti. Vrne izračunano vrednost z uporabo ustrezne funkcije agregiranja glede na tip agregiranja izraza. Ta funkcija se pojavi v vzorčnem poročilu Proračun in dejanska vrednost (Budget vs. Actual) v paketu (za analize) GO Data Warehouse. aggregate ( expression [ auto ] ) aggregate ( expression for [ all|any ] expression { ; expression } ) aggregate ( expression for report ) Vrne povprečno vrednost izbranih podatkovnih postavk. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. average ( [ distinct ] expression [ auto ] ) average ( [ distinct ] expression for [ all|any ] expression { ; expression } ) average ( [ distinct ] expression for report ) Primer: average ( Sales ) Rezultat: vrne povprečje vseh vrednosti Sales (prodaja). Vrne število izbranih podatkovnih postavk, pri tem izvzame ničelne vrednosti. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. Izraz All je podprt samo v načinu DQM in se izogiba dvojnemu štetju postavke podatkov v dimenzijski tabeli. count ( [ all | distinct ] expression [ auto ] ) count ( [ all | distinct ] expression for [ all|any ] expression { ; expression } ) count ( [ all | distinct ] expression for report ) Primer: count ( Sales ) Rezultat: vrne skupno število vnosov pod Sales (prodaja). Vrne največjo vrednost med izbranimi podatkovnimi postavkami. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. maximum ( [ distinct ] expression [ auto ] ) maximum ( [ distinct ] expression for [ all|any ] expression { ; expression } ) maximum ( [ distinct ] expression for report ) Primer: maximum ( Sales ) Rezultat: vrne največjo vrednost vseh vrednosti Sales (prodaja). Vrne mediano vrednosti izbranih podatkovnih postavk. median ( expression [ auto ] ) median ( expression for [ all|any ] expression { ; expression } ) median ( expression for report ) Vrne najmanjšo vrednost med izbranimi podatkovnimi postavkami. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. minimum ( [ distinct ] expression [ auto ] ) minimum ( [ distinct ] expression for [ all|any ] expression { ; expression } ) minimum ( [ distinct ] expression for report ) Primer: minimum ( Sales ) Rezultat: vrne najmanjšo vrednost vseh vrednosti Sales (prodaja). Vrne drseče povprečje po vrstici za podani nabor vrednosti po podanem številu vrstic. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: moving-average ( Qty ; 3 ) Rezultat: za vsako vrstico vrne količino in drseče povprečje trenutne vrstice in prejšnjih dveh vrstic. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Vrne drsno vsoto po vrstici za podani nabor vrednosti po podanem številu vrstic. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: moving-total ( Qty ; 3 ) Rezultat: za vsako vrstico vrne količino in drsno vsoto trenutne vrstice in prejšnjih dveh vrstic. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Vrne odstotek skupne vrednosti za izbrane podatkovne postavke. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. Ta funkcija se pojavi v interaktivnem vzorčnem poročilu Odstotni izračun (po letu) (Percentage Calculation (by year)). percentage ( numeric_expression [ at expression  { ; expression } ] [ <for-option> ] [ prefilter ] ) percentage (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primer: percentage ( Sales 98 ) Rezultat: vrne odstotek skupne prodaje za 1998, ki pripada vsakemu prodajnemu zastopniku. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Vrne vrednost, na merilu od ena do sto, ki kaže odstotek porazdelitve, ki je enaka ali pod izbranimi podatkovnimi postavkami. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. percentile ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) percentile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primer: percentile ( Sales 98 ) Rezultat: za vsako vrstico vrne odstotek vrstic, ki je enak ali manjši od vrednosti količine za to vrstico. 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 Vrne rang vrednosti v obsegu, ki ga podate. Vrne cela števila za predstavitev kateregakoli obsega rangov, kot je 1 (najvišje) do 100 (najnižje). "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: quantile ( Qty ; 4 ) Rezultat: vrne količino, rang vrednosti količine in vrednosti količine, porazdeljene v 4 kvantilne skupine (kvartile). 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 Vrne rang vrednosti, predstavljen s celimi števili od 1 (najvišji) do 4 (najnižji) relativno glede na skupino vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. quartile ( numeric_expression [ at expression { ; expression } ] [ <for-option> ] [ prefilter ] ) quartile (  numeric_expression [ <for-option> ] [ prefilter ] ) <for-option> ::= for expression { ; expression }|for report|auto Primer: quartile ( Qty ) Rezultat: vrne količino in kvartil vrednosti količine, predstavljen kot cela števila od 1 (najvišji) do 4 (najnižji). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Vrne vrednosti rangiranja izbranih podatkovnih postavk. Vrstni red razvrščanja je izbiren, po privzetku pa se predpostavi padajoči (DESC) vrstni red. Če imata dve ali več vrstic isto vrednost, nastane vrzel v zaporedju rangiranih vrednosti (znano tudi kot olimpijsko rangiranje). "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. Ničelne vrednosti so rangirane nazadnje. Ta funkcija je prikazana v vzorčnem poročilu Najboljših 10 trgovcev na drobno v letu 2005 (Top 10 Retailers for 2005) v paketu (za analize) GO Data Warehouse. 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 Primer: rank ( Sales 98 ) Rezultat: za vsako vrstico vrne vrednost rangiranja prodaje za 1998, ki je pripisan vsakemu prodajnemu zastopniku. Nekatere številke so preskočene, če pride do enakega rezultata v več vrsticah. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Vrne drsno povprečje po vrsticah (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-average ( Qty ) Rezultat: za vsako vrstico vrne količino in drsno povprečje trenutne vrstice in prejšnjih dveh vrstic. 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 Vrne drsni števec po vrsticah (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-count ( Qty ) Rezultat: za vsako vrstico vrne količino in drsni števec položaja trenutne vrstice. 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 Vrne drsečo razliko za vrstico, izračunano kot razliko med vrednostjo trenutne vrstice in prejšnje vrstice (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-difference ( Qty ) Rezultat: za vsako vrstico vrne količino in drsečo razliko med vrednostjo trenutne vrstice in prejšnje vrstice. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Vrne drseči maksimum po vrsticah (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-maximum ( Qty ) Rezultat: za vsako vrstico vrne količino in drseči maksimum trenutne vrstice in prejšnjih dveh vrstic. 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 Vrne drseči minimum po vrsticah (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-minimum ( Qty ) Rezultat: za vsako vrstico vrne količino in drseči minimum trenutne vrstice in prejšnjih dveh vrstic. 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 Vrne tekočo vsoto po vrsticah (vključno s trenutno vrstico) za nabor vrednosti. "<for-option>" definira območje funkcije. Možnost "at" definira raven agregiranja in jo lahko uporabljamo samo v kontekstu relacijskih izvorov podatkov. 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 Primer: running-total ( Qty ) Rezultat: za vsako vrstico vrne količino in tekočo vsoto trenutne vrstice in prejšnjih dveh vrstic. 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 Vrne standardni odklon za izbrane podatkovne postavke. standard-deviation (  expression [ auto ] ) standard-deviation (  expression for [ all|any ] expression { ; expression } ) standard-deviation (  expression for report ) Primer: standard-deviation ( ProductCost ) Rezultat: vrne vrednost, ki označuje odklon med stroški izdelka in povprečnimi stroški izdelka. Izračuna standardni odklon populacije in vrne kvadratni koren variance populacije. standard-deviation-pop (  expression [ auto ] ) standard-deviation-pop (  expression for [ all|any ] expression { ; expression } ) standard-deviation-pop (  expression for report ) Primer: standard-deviation-pop ( ProductCost ) Rezultat: vrne vrednost kvadratnega korena variance populacije. Izračuna vzorčni standardni odklon in vrne kvadratni koren variance populacije. standard-deviation-samp (  expression [ auto ] ) standard-deviation-samp (  expression for [ all|any ] expression { ; expression } ) standard-deviation-samp (  expression for report ) Primer: standard-deviation-samp ( ProductCost ) Rezultat: vrne vrednost kvadratnega korena vzorčne variance. Vrne rang vrednosti kot visok, srednji ali nizek glede na skupino vrednosti. tertile (  expression [ auto ] ) tertile (  expression for [ all|any ] expression { ; expression } ) tertile (  expression for report ) Primer: tertile ( Qty ) Rezultat: vrne količino, kvantil vrednosti količine, kot je razdeljen v tercile, in vrednosti količine, razdeljene v tercile. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L Vrne skupno vrednost izbranih podatkovnih postavk. Distinct je alternativni izraz, ki je združljiv s prejšnjimi različicami izdelka. Ta funkcija se pojavi v vzorčnem poročilu Proračun in dejanska vrednost (Budget vs. Actual) v paketu (za analize) GO Data Warehouse. total ( [ distinct ] expression [ auto ] ) total ( [ distinct ] expression for [ all|any ] expression { ; expression } ) total ( [ distinct ] expression for report ) Primer: total ( Sales ) Rezultat: vrne skupno vrednost vseh vrednosti prodaje (Sales). Statistične funkcije Ta seznam vsebuje preddefinirane funkcije povzetkov statistične narave. Vrne varianco za izbrane podatkovne postavke. variance (  expression [ auto ] ) variance (  expression for [ all|any ] expression { ; expression } ) variance (  expression for report ) Primer: variance ( Product Cost ) Rezultat: vrne vrednost, ki označuje, kako stroški izdelka variirajo od povprečnega stroška izdelka. Vrne varianco populacije nabora številk, potem ko zavrže ničelne vrednosti v tem naboru. variance-pop (  expression [ auto ] ) variance-pop (  expression for [ all|any ] expression { ; expression } ) variance-pop (  expression for report ) Primer: variance-pop ( Qty ) Rezultat: za vsako vrstico vrne varianco populacije za nabor števil, potem ko zavrže ničelne vrednosti v tem naboru. Vrne vzorčno varianco nabora številk, potem ko zavrže ničelne vrednosti v tem naboru. variance-samp (  expression [ auto ] ) variance-samp (  expression for [ all|any ] expression { ; expression } ) variance-samp (  expression for report ) Primer: variance-samp ( Qty ) Rezultat: za vsako vrstico vrne vzorčno varianco za nabor števil, potem ko zavrže ničelne vrednosti v tem naboru. corr ( numeric_expression1 ;  numeric_expression2  [ auto ] ) corr ( numeric_expression1 ;  numeric_expression2 for [ all|any ] expression { ; expression } ) corr ( numeric_expression1 ;  numeric_expression2 for report ) Vrne koeficient korelacije nabora parov števil. To se izračuna na naslednji način: COVAR_POP(numeric_expression1; numeric_expression2) / (STDDEV_POP(numeric_expression1) * STDDEV_POP(numeric_expression2)) Primer: corr ( Cost ;  Margin  for report) Rezultat: koeficient korelacije med Cost in Margin. 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 ) Vrne kovarianco populacije nabora parov števil. Primer: covariance-pop ( Cost ;  Margin  for report) Rezultat: Kovarianca populacije med Cost in Margin. 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 ) Vrne vzorčno kovarianco nabora parov števil. Primer: covariance-samp ( Cost ;  Margin  for report) Rezultat: vzorčna kovarianca med Cost in Margin. 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 ) Vrne povprečje neodvisne spremenljivke (numeric_expression2) regresijske črte. Primer: regression-average-x ( Cost ;  Margin  for report) Rezultat: povprečje od Margin znotraj regresijske črte za Cost in Margin. 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 ) Vrne povprečje odvisne spremenljivke (numeric_expression1) regresijske črte. Primer: regression-average-y ( Cost ;  Margin  for report) Rezultat: povprečje od Cost znotraj regresijske črte za Cost in Margin. 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 ) Vrne število neničelnih številk, namenjenih regresijski črti. Primer: regression-count ( Cost ;  Margin  for report) Rezultat: število neničelnih številk, namenjenih regresijski črti za Cost in Margin. 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 ) Vrne y-intercept regresijske črte. To se izračuna na naslednji način: AVG(numeric_expression1) - REGR_SLOPE(numeric_expression1; numeric_expression2) * AVG(numeric_expression2) Primer: regression-intercept ( Cost ;  Margin  for report) Rezultat: y-intercept regresijske črte za Cost in Margin 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 ) Vrne koeficient determinacije (poznano tudi kot "R-squared" (R-kvadrat) ali "goodness of fit" (prileganje)) regresijske črte. Ta vrednost se izračuna na osnovi naslednjih pogojev: 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)) Primer: regression-r2 ( Cost ;  Margin  for report) Rezultat: koeficient determinacije regresijske črte za Cost in Margin. 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 ) Vrne naklon (slope) regresijske črte. To se izračuna na naslednji način: COVAR_POP(numeric_expression1;numeric_expression2) / VAR_POP(numeric_expression2) Primer: regression-slope ( Cost ;  Margin ) Rezultat: naklon regresijske črte za Cost in Margin 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 ) Vrne naslednji izračun, potem ko izloči ničelne (NULL) pare: REGR_COUNT(numeric_expression1; numeric_expression2) * VAR_POP(numeric_expression2) Primer: regression-sxx ( Cost ;  Margin  for report) Rezultat: izračun sxx regresijske črte za Cost in Margin 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 ) Vrne naslednji izračun, potem ko izloči ničelne (NULL) pare: REGR_COUNT(numeric_expression1; numeric_expression2) * COVAR_POP(numeric_expression1; numeric_expression2) Primer: regression-sxy ( Cost ;  Margin  for report) Rezultat: izračun sxy regresijske črte za Cost in Margin 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 ) Vrne naslednji izračun, potem ko izloči ničelne (NULL) pare: REGR_COUNT(numeric_expression1; numeric_expression2) * VAR_POP(numeric_expression1) Primer: regression-syy ( Cost ;  Margin  for report) Rezultat: izračun syy regresijske črte za Cost in Margin 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 Povzetki članov Ta seznam vsebuje preddefinirane funkcije, ki vrnejo ali eno samo vrednost povzetka za nabor članov ali različno vrednost povzetka za vsakega člana nabora članov.
Napaka V izrazu je pri označenem žetonu napaka.
Konstrukti Ta seznam vsebuje konstrukte in predloge, ki jih lahko uporabljamo za ustvarjanje izrazov. Predloge kombinirajo več funkcij v skupino. Tako na primer predloga za search case vključuje funkcije case, when, else in end. search case Ta konstrukt je predloga za search case, ki vključuje funkcije CASE, WHEN, ELSE in END. CASE WHEN [Country] = 'Canada' THEN ([List Price] * 0.60) WHEN [CountryCode] > 100 THEN [List Price] * 0.80 ELSE [List Price] END simple case Ta konstrukt je predloga za simple case, ki vključuje funkcije CASE, WHEN, ELSE in END. CASE [Country] WHEN 'Canada' THEN ([List Price] * 0.60) WHEN 'Australia' THEN [List Price] * 0.80 ELSE [List Price] END if then else Ta konstrukt je predloga za stavek if...then...else. Ta konstrukt je prikazan v vzorčnem poročilu Najboljših 10 trgovcev na drobno v letu 2005 (Top 10 Retailers for 2005) v paketu (za analize) GO Data Warehouse. IF ([Country] = 'Canada') THEN ([List Price] * 0.60) ELSE ([List Price]) in_range To je predloga za izraz in_range. [code] IN_RANGE { :30 ; 40; 50; 999: } Primer: [code] IN_RANGE { 5 } Rezultat: to je ekvivalent za [code] = 5. Primer: [code] IN_RANGE { 5: } Rezultat: to je ekvivalent za [code] >= 5. Primer: [code] IN_RANGE { :5 } Rezultat: to je ekvivalent za [code] <= 5. Primer: [code] IN_RANGE { 5:10 } Rezultat: to je ekvivalent za ( [code] >= 5 and [code] <= 10 ). Primer: [code] IN_RANGE { :5,10,20: } Rezultat: to je ekvivalent za ( [code] <= 5 or [code] = 10 or [code] >= 20 ).
Predikati obdobja Ta seznam vsebuje predikate, ki se lahko uporabljajo za primerjavo izrazov obdobij. vsebuje Vrne "true", če "period_expression1" vsebuje "period_expression2"; tj., "true" je vrnjen, če prvo obdobje vsebuje vrednost datetime (datum-čas) ali vse druge vrednosti, ki so vsebovane v drugem obdobju. 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 je enako Vrne "true", če imata "period_expression1" in "period_expression2" iste vrednosti za začetek in konec obdobja. period_expression1 equals period_expression2 period( 1989-11-01, 1991-05-19 ) equals period( 1989-11-01, 1991-05-19 ) Rezultat: true immediately precedes Vrne "true", če je "period_expression1" neposredno pred (immediately precedes) "period_expression2"; tj. končna vrednost prvega obdobja je enaka začetni vrednosti drugega obdobja. 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 Vrne "true", če je "period_expression1" neposredno za (immediately succeeds) "period_expression2"; tj. začetna vrednost prvega obdobja je enaka končni vrednosti drugega obdobja. 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 Vrne "true", če "period_expression1" prekriva (overlaps) "period_expression2"; tj. imata skupno vsaj eno vrednost. period_expression1 overlaps period_expression2 period( 1991-05-19, 1994-01-10 ) overlaps period( 1993-01-19, 1995-05-19 ) Rezultat: true precedes Vrne "true", če je "period_expression1" pred (precedes) "period_expression2"; tj. vse vrednosti v prvem obdobju so manjše od ali enake začetni vrednosti drugega obdobja. 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 Vrne "true", če je "period_expression1" za (succeeds) "period_expression2"; tj. vse vrednosti v prvem obdobju so večje od ali enake končni vrednosti drugega obdobja. 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 za datum/čas Ta seznam vsebuje poslovne funkcije za izračune datuma in časa. _add_seconds ( time_expression; integer_expression ) Vrne time ali datetime, glede na obliko zapisa "time_expression", ki je posledica dodajanja "integer_expression" sekund v "time_expression". Primer: _add_seconds ( 13:04:59 ; 1 ) Rezultat: 13:05:00 Primer: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Rezultat: 2002-04-30 12:10:11.000 Primer: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ) Upoštevajte, da drugi argument ni celo število. To podpirajo določene tehnologije baz podatkov in povečuje časovni del. Rezultat: 2002-04-30 00:00:00.010 _add_minutes ( time_expression; integer_expression ) Vrne time ali datetime, odvisno od oblike zapisa "time_expression", ki je posledica dodajanja "integer_expression" minut v "time_expression". Primer: _add_minutes ( 13:59:00 ; 1 ) Rezultat: 14:00:00 Primer: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Rezultat: 2002-04-30 13:00:10.000 Primer: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Upoštevajte, da drugi argument ni celo število. To podpirajo določene tehnologije baz podatkov in povečuje časovni del. Rezultat: 2002-04-30 00:00:01.000 _add_hours ( time_expression; integer_expression ) Vrne datum ali datum-čas (datetime), odvisno od oblike zapisa "time_expression", ki je posledica dodajanja "integer_expression" ur v "time_expression". Primer: _add_hours ( 13:59:00 ; 1 ) Rezultat: 14:59:00 Primer: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Rezultat: 2002-04-30 13:10:10.000, Primer: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Upoštevajte, da drugi argument ni celo število. To podpirajo določene tehnologije baz podatkov in povečuje časovni del. Rezultat: 2002-04-30 00:01:00.000 _add_days ( date_expression; integer_expression ) Vrne datum ali datum-čas (datetime), odvisno od oblike "date_expression", ki je rezultat prištevanja "integer_expression" dni k "date_expression". Primer: _add_days ( 2002-04-30 ; 1 ) Rezultat: 2002-05-01 Primer: _add_days ( 2002-04-30 12:10:10.000; 1 ) Rezultat: 2002-05-01 12:10:10.000 Primer: _add_days ( 2002-04-30 00:00:00.000; 1/24 ) Upoštevajte, da drugi argument ni celo število. To podpirajo določene tehnologije baz podatkov in povečuje časovni del. Rezultat: 2002-04-30 01:00:00.000 _add_months ( date_expression; integer_expression ) Doda "integer_expression" mesecev v "date_expression". Če ima nastali mesec manj dni kot dan komponente meseca, je vrnjen zadnji dan nastalega meseca. V drugih primerih ima vrnjena vrednost isti dan komponente meseca kot "date_expression". Primer: _add_months ( 2012-04-15 ; 3 ) Rezultat: 2012-07-15 Rezultat ni zadnji dan nastalega meseca. Primer: _add_months ( 2012-02-29 ; 1 ) Rezultat: 2012-03-29 Uporabite funkcijo _last_of_month, da vrnete zadnji dan meseca. Primer: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Rezultat: 2012-03-31 Dan je prilagojen zadnjemu dnevu nastalega meseca. Primer: _add_months ( 2012-01-31 ; 1 ) Rezultat: 2012-02-29 Dodajanje v časovni žig. Primer: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Rezultat: 2002-05-30 12:10:10.000 _add_years ( date_expression; integer_expression ) Doda "integer_expression" let v "date_expression". Če je "date_expression" 29. februar in nastalo leto ni prestopno leto, je nastali dan 28. februar. V vseh drugih primerih ima vrnjena vrednost isti dan in mesec kot "date_expression". Primer: _add_years ( 2012-04-15 ; 1 ) Rezultat: 2013-04-15 29. februar je prilagojen neprestopnim letom. Primer: _add_years ( 2012-02-29 ; 1 ) Rezultat: 2013-02-28 Dodajanje v časovni žig. Primer: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Rezultat: 2003-04-30 12:10:10.000 _age ( date_expression ) Vrne število, ki je pridobljeno z odštevanjem "date_expression" od današnjega datuma. Vrnjena vrednost ima obliko LLLLMMDD, pri čemer je LLLL število let, MM število mesecev in DD število dni. Primer: _age ( 1990-04-30 ) (če je današnji datum 2003-02-05) Rezultat: 120906, kar pomeni 12 let, 9 mesecev in 6 dni. _date_to_int ( date_expression ) Vrne celoštevilsko predstavitev "date_expression". Vrnjena vrednost ima obliko LLLLMMDD, pri čemer je LLLL število let, MM število mesecev in DD število dni. Primer: _date_to_int ( 2003-01-01 ) Rezultat: 20030101 _day_of_week ( date_expression; integer ) Vrne dan v tednu (1 do 7), pri čemer je 1 prvi dan tedna, kot ga označuje drugi parameter (1 do 7, pri čemer je 1 ponedeljek in 7 nedelja). Upoštevajte, da se po standardu ISO 8601 teden začne s ponedeljkom, ki je 1. dan. Primer: _day_of_week ( 2003-01-01 ; 1 ) Rezultat: 3 _day_of_year ( date_expression ) Vrne dan v letu (1 do 366) v "date_ expression". To se imenuje tudi julijanski dan. Primer: _day_of_year ( 2003-03-01 ) Rezultat: 61 _days_between ( date_expression1 ; date_expression2 ) Vrne pozitivno ali negativno število, ki predstavlja število dni med "date_expression1" in "date_expression2". Če "date_expression1" < "date_expression2", bo rezultat negativno število. Primer: _days_between ( 2002-06-21 , 2002-04-30 ) Rezultat: 52 Primer: _days_between ( 2002-04-30 ; 2002-06-21 ) Rezultat: -52 _days_to_end_of_month ( date_expression ) Vrne število, ki predstavlja število dni, ki ostajajo v mesecu, ki ga predstavlja "date_expression". Primer: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Rezultat: 10 _first_of_month ( date_expression ) Vrne datum ali datetime (datum-čas), odvisno od argumenta, tako, da pretvori "date_expression" v datum z istim letom in mesecem, le da je dan nastavljen na 1. Primer: _first_of_month ( 2002-04-20 ) Rezultat: 2002-04-01 Primer: _first_of_month ( 2002-04-20 12:10:10.000 ) Rezultat: 2002-04-01 12:10:10.000 _last_of_month ( date_expression ) Vrne datum ali datetime (datum-čas), odvisno od argumenta, ki je zadnji dan meseca, ki ga predstavlja "date_expression". Primer: _last_of_month ( 2002-01-14 ) Rezultat: 2002-01-31 Primer: _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 ) Vrne časovni žig, izdelan iz "integer_expression1" (leto), "integer_expression2" (mesec) in "integer_expression3" (dan). Časovni del ima privzeto vrednost 00:00:00.000. Primer: _make_timestamp ( 2002 ; 01 ; 14 ) Rezultat: 2002-01-14 00:00:00.000 _months_between ( date_expression1; date_expression2 ) Vrne pozitivno ali negativno celo število, ki predstavlja število mesecev med "date_expression1" in "date_expression2". Če je "date_expression1" prej kot "date_expression2", bo vrnjeno negativno število. Primer: _months_between ( 2002-04-03 ; 2002-01-30 ) Rezultat: 2 Primer: _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 ) Vrednost časovnega žiga premakne iz enega v drug časovni pas. Ta funkcija upošteva poletni čas, ko je to veljavno. Če je prvi argument tipa "timestamp", potem drugi in tretji argument predstavljata časovna pasova "from" (iz) in "target" (cilj). Če je prvi argument tipa "timestamp with time zone" (časovni žig s časovnim pasom), potem je časovni pas "from" (iz) že nakazan v prvem argumentu in zato drugi argument predstavlja časovni pas "target" (cilj). Tip podatkov prvega argumenta bo določal tudi tip podatkov vrnjene vrednosti. Drugi in tretji argument sta tipa "string" (niz) in predstavljata identifikatorje časovnega pasu. Seznam teh identifikatorjev najdete spodaj. Opomba: z uporabo te funkcije boste povzročili lokalno obdelavo. Primer: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) Rezultat: 2013-06-30 16:00:00 Primer: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) Rezultat: 2013-11-30 09:00:00-08:00 Identifikatorji časovnega pasu: 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 Uporabljate lahko tudi identifikator časovnega pasu po meri, in sicer z obliko GMT(+|-)HH:MM. Na primer: GMT-06:30 ali GMT+02:00. _week_of_year ( date_expression ) Vrne številko tedna v letu iz "date_expression" po standardu ISO 8601. 1. teden leta je prvi teden v letu, ki vsebuje četrtek, kar je enakovredno prvemu tednu, ki vsebuje 4. januar. Teden se začne s ponedeljkom (1. dan) in konča z nedeljo (7. dan). Primer: _week_of_year ( 2003-01-01 ) Rezultat: 1 _years_between ( date_expression1; date_expression2 ) Vrne pozitivno ali negativno celo število, ki predstavlja število let med "date_expression1" in "date_expression2". Če je "date_expression1" < "date_expression2", bo vrnjena negativna vrednost. Primer: _years_between ( 2003-01-30 ; 2001-04-03 ) Rezultat: 1 Primer: _years_between ( 2001-04-03 , 2003-01-30 ) Rezultat: -1 _ymdint_between ( date_expression1 ; date_expression2 ) Vrne število, ki predstavlja razliko med "date_expression1" in "date_expression2". Vrnjena vrednost ima obliko LLLLMMDD, pri čemer je LLLL število let, MM število mesecev in DD število dni. Primer: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Rezultat: 120905, kar pomeni 12 let, 9 mesecev in 5 dni. _year ( date_expression ) Vrne vrednost polja leta v "date_expression". Primer: _year ( 2003-03-01 ) Rezultat: 2003 _month ( date_expression ) Vrne vrednost polja meseca v "date_expression". Primer: _month ( 2003-03-01 ) Rezultat: 3 _day ( date_expression ) Vrne vrednost polja dneva v "date_expression". Primer: _day ( 2003-03-01 ) Rezultat: 1 _hour ( date_expression ) Vrne vrednost polja ure v "date_expression". Primer: _hour ( 2002-01-31 12:10:10.254 ) Rezultat: 12 _minute ( date_expression ) Vrne vrednost polja minute v "date_expression". Primer: _minute ( 2002-01-31 12:10:10.254 ) Rezultat: 10 _second ( date_expression ) Vrne vrednost polja sekunde v "date_expression". Primer: _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 ) Vrne vrednost polja ure časovnega pasu v izrazu. Izraz mora biti vrste "timestamp with time zone" ali "time with time zone". Primer: _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 ) Vrne vrednost polja minute časovnega pasu v izrazu. Izraz mora biti vrste "timestamp with time zone" ali "time with time zone". Primer: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Rezultat: -30 _start_of_day ([ date_expression ]) Vrne začetek "date_expression" ali začetek za danes kot časovni žig Primer: _start_of_day ( 2014-11-23 12:10:10.254 ) Rezultat: 2014-11-23 00:00:00 Primer: _start_of_day () Rezultat: 2016-01-01 00:00:00 _end_of_day ([ date_expression ]) Vrne konec "date_expression" ali konec za danes kot časovni žig. Primer: _end_of_day ( 2014-11-23 12:10:10.254 ) Rezultat: 2014-11-23 23:59:59 Primer: _end_of_day () Rezultat: 2016-01-01 23:59:59 _unix_timestamp ( date_expression ) Vrne število sekund od 1970-01-01 00:00:00-00 za dani "date_expression". Primer: _unix_timestamp ( 2014-11-23 ) Rezultat: 1416718800 _from_unixtime ( integer_expression ) Vrne čas unix, ki ga podaja "integer_expression", kot časovni žig s časovnim pasom. Primer: _from_unixtime (1417807335) Rezultat: 2014-12-05 19:22:15+00:00
Funkcije za makro Ta seznam vsebuje funkcije, ki jih lahko uporabljamo v makru. Makro lahko vsebuje eno ali več funkcij makra. Makro je razmejen z lojtro (#) na začetku in koncu. Vse, kar je med lojtrami, se obravnava kot izraz makra in se v izvajalnem okolju izvede. Za funkcije makra, ki sprejemajo izraze tipa podatkov časovni žig s časovnim pasom kot argument, je sprejeta oblika 'llll-mm-dd hh:mm:ss[.ff]+hh:mm', pri čemer so deli sekunde izbirni in jih lahko predstavlja 1 do 9 števk. Namesto presledka, ki ločuje datumski del od časovnega, je sprejemljiv tudi znak "T". Poleg tega lahko namesto časovnega pasu '+hh:mm' vstavite tudi znak "Z", ki bo interno obdelan kot '+00:00'. Funkcija makra, ki vrne izraz tipa podatkov časovni žig s časovnim pasom po privzetku vrne 9 števk za dele sekunde. Funkcijo makra timestampMask () lahko uporabljamo za morebitno obrezovanje izhodnih podatkov. Vrne časovni žig s časovnim pasom (kot nizom), ki je posledica dodajanja "integer_expression" števila sekund v "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. _add_seconds ( string_expression ; integer_expression ) Primer: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 11:59:59.000-05:00 Primer: # _add_seconds ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 12:00:01.000000000-05:00 Primer: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 12:00:01 Vrne časovni žig s časovnim pasom (kot nizom), ki je posledica dodajanja "integer_expression" števila minut v "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. _add_minutes ( string_expression ; integer_expression ) Primer: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 11:59:00.000-05:00 Primer: # _add_minutes ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 12:01:00.000000000-05:00 Primer: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 12:01:00 Vrne časovni žig s časovnim pasom (kot nizom), ki je posledica dodajanja "integer_expression" števila ur v "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. _add_hours ( string_expression ; integer_expression ) Primer: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-11-01 13:00:00.000-05:00 Primer: # _add_hours ( $current_timestamp ; 1 ) # Rezultat: 2005-11-01 13:00:00.000000000-05:00 Primer: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Rezultat: 13:00:00 Vrne časovni žig s časovnim pasom (kot niz), ki je rezultat prištevanja "integer_expression" dni k "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. Če je prvi argument datum, naveden kot niz v obliki yyyy-mm-dd, je vrnjena vrednost niz v obliki datuma. _add_days ( string_expression ; integer_expression ) Primer: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-10-31 12:00:00.000000000-05:00 Primer: # _add_days ( $current_timestamp ; 1 ) # Rezultat: 2005-11-02 12:00:00.000000000-05:00 Primer: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2005-11-02 Primer: # _add_days( '2019-11-14' , 3 ) # Rezultat: 2019-11-17 Vrne časovni žig s časovnim pasom (kot niz), ki je rezultat prištevanja "integer_expression" mesecev k "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. Če je prvi argument datum, naveden kot niz v obliki yyyy-mm-dd, je vrnjena vrednost niz v obliki datuma. _add_months ( string_expression ; integer_expression ) Primer: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2005-10-01 12:00:00.000000000-05:00 Primer: # _add_months ( $current_timestamp ; 1 ) # Rezultat: 2005-12-01 12:00:00.000000000-05:00 Primer: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2005-12-01 Primer: # _add_months( '2019-11-14' , -1 ) # Rezultat: 2019-10-14 Vrne časovni žig s časovnim pasom (kot niz), ki je rezultat prištevanja "integer_expression" let k "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. Če je prvi argument datum, naveden kot niz v obliki yyyy-mm-dd, je vrnjena vrednost niz v obliki datuma. _add_years ( string_expression ; integer_expression ) Primer: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Rezultat: 2004-11-01 12:00:00.000000000-05:00 Primer: # _add_years ( $current_timestamp ; 1 ) # Rezultat: 2006-11-01 12:00:00.000000000-05:00 Primer: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Rezultat: 2006-11-01 Primer: # _add_years( '2019-11-14' , -2 ) # Rezultat: 2017-11-14 _first_of_month ( string_expression ) Vrne časovni žig s časovnim pasom (kot niz) tako, da pretvori vrednost dni v "string_expression" v 1, pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. Primer: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Rezultat: 2005-11-01 12:00:00.000000000-05:00 Primer: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyymmdd' ) # Rezultat: 20051101 _last_of_month ( string_expression ) Vrne časovni žig s časovnim pasom (kot niz), ki je zadnji del meseca, ki ga predstavlja "string_expression", pri čemer "string_expression" predstavlja časovni žig s časovnim pasom. Primer: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Rezultat: 2005-11-30 12:00:00.000000000-05:00 Primer: # 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' ] ] ) Vrne del metapodatkovnega modela v obliki json. Trenutni model bo uporabljen, ko 'model_search_path' ni podan. Argument 'options' lahko nastavite na 'cleanup'. S tem spremenite določene dele rezultata na fiksne vrednosti (koristno za preizkušanje). sq ( modelj ( '[gosales].[country].[country]' ) Obda "string_expression" z oglatimi oklepaji. sb ( string_expression ) Primer: # sb ( 'abc' ) # Rezultat: [abc] Obda "string_expression" z opuščaji. sq ( string_expression ) Primer: # sq ( 'zero' ) # Rezultat: 'zero' Obda "string_expression" z narekovaji. dq ( string_expression ) Primer: # dq ( 'zero' ) # Rezultat: "zero" Uporabi informacije o identiteti trenutno overjenega uporabnika za iskanje vrednosti v podani preslikavi parametrov. Vsak posamezen del identitete uporabnika (ime računa, imena skupin, imena vlog) se uporabljajo kot ključ za preslikavo. Unikatni seznam vrednosti, ki je pridobljen iz preslikave parametrov, je nato vrnjen kot niz, pri čemer je vsaka vrednost obdana z opuščaji, več vrednosti pa je ločenih z vejicami. CSVIdentityName ( %parameter_map_name [ ; separator_string ] ) Primer: # CSVIdentityName ( %security_clearance_level_map ) # Rezultat: 'level_500'; 'level_501'; 'level_700' Vrne dele identitete uporabnika (ime računa, imena skupin, imena vlog) kot seznam nizov. Unikatni seznam vrednosti je vrnjen kot niz, pri čemer je vsaka vrednost obdana z opuščaji, več vrednosti pa je ločenih z vejicami. CSVIdentityNameList ( [ separator_string ] ) Primer: # CSVIdentityNameList ( ) # Rezultat: 'Everyone'; 'Report Administrators'; 'Query User' Vrne prepustnico Cognos® Access Manager. CAMPassport ( ) Primer: # CAMPassport ( ) # Rezultat: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Vrne dele uporabnikovega ID-ja za Cognos® Access Manager (CAMID), kot je ime računa, imena skupin ali imena vlog, kot seznam vrednosti, ki jih ločujejo vejice. CAMIDList ( [ separator_string ] ) Primer: #CAMIDList ( ) # Rezultat: CAMID ( "::Everyone" ) , CAMID ( ":Authors" ) , CAMID ( ":Query Users" ) , CAMID ( ":Consumers" ) , CAMID ( ":Metrics Authors" ) Vrne indeksirano polje uporabnikovih ID-jev Cognos® Access Manager (CAMID) na podlagi tipa identitete (račun, skupina ali vloga). CAMIDListForType lahko uporabljamo s funkcijami makra csv ali join. CAMIDListForType ( identity type ) Primer: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Rezultat: [qs].[userRole] in ( 'CAMID ( "::System Administrators" ) ' ; 'CAMID ( ":Authors" )' ) Združi dva niza. value1 + value2 Primer: # '{ ' + $runLocale + ' }' # Rezultat: {en-us} Odstrani začetne znake iz prvega argumenta. Izbirni drugi argument definira nabor znakov za odstranitev. Po privzetku ta funkcija odstrani presledek (t.j. presledek, tabulator, znak za pomik na začetek vrstice in prazno vrstico). lstrip ( string_expression [ ; set_of_characters ] ) Primer: # sq( lstrip ( ' abc ' ) ) # Rezultat: 'abc ' Primer: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Rezultat: 53.2100 Če je definirana, vrne vrednost parametra "parameterName". Če "parameterName" ne obstaja, je vrnjena vrednost "defaultText". Če je "datatype" nastavljen na "string", je nastala vrednost obdana z enojnimi narekovaji. Uporaba te funkcije ne povzroči izjemnega stanja zaradi manjkajočega parametra. ParamValue ( parameterName [ , defaultText [, datatype ] ] ) Primer: # ParamValue ( 'p_country' ) # Rezultat: 'Canada' - p_country je nastavljen Rezultat: null - p_country ni znan parameter Rezultat: null - p_country je uporabljen v izbirnem pozivu in ni nastavljen Primer: # ParamValue ( 'p_country' , 'Netherlands' ) # Rezultat: 'Canada' - p_country je nastavljen Rezultat: 'Netherlands' - p_country ni znan parameter Rezultat: 'Netherlands' - p_country je uporabljen v izbirnem pozivu in ni nastavljen Primer: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Rezultat: 'Canada' - p_country je nastavljen Rezultat: cast ( null as varchar(20)) - p_country ni znan parameter Rezultat: cast ( null as varchar(20)) - p_country je uporabljen v izbirnem pozivu in ni nastavljen Uporabnika pozove, da vnese posamezno vrednost ali člana. Zahtevano je samo "prompt_name". Privzeti podatkovni tip je 'string', če ta ni podan. Poziv je izbiren, če je podan "defaultText". "Text", če je podan, bo pred vrednostjo. "QueryItem" lahko podate za izkoriščanje lastnosti informacij o pozivu, ki jih ima "queryItem". "Trailing_text", če je podan, bo pripet vrednosti. Če je podatkovni tip 'memberuniquename', je ustvarjen poziv za izbiro enega člana. Priporočamo, da kot tretji argument podate privzeto vrednost. Privzeta vrednost mora biti veljavno edinstveno ime člana, lahko pa je tudi vzdevek, ki se sklicuje na edinstveno ime člana, kot je to v programu Report Studio. prompt ( prompt_name ; datatype ; defaultText ; text ; queryItem ; trailing_text ) Primer: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Starting CountryCode' ; 'integer' ; '10' ) # Rezultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Primer: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'countryPrompt' ; 'string' ; '''Canada''' ) # Rezultat: [gosales].[COUNTRY].[COUNTRY] = 'Canada' Primer: set ( #prompt ('myProduct'; 'memberuniquename'; '[Camping Equipment]'; ''; '[Sales].[Product].[Product].[Product line]')#) Rezultat: set([Sales].[Product].[Product].[Product line]->[all].[1]) Parameter "defaultText" mora biti podan tako, da je dobesedno veljaven v kontekstu makra, saj na tej vrednosti ni uveljavljeno nobeno oblikovanje. Privzeti niz '''Canada''' v primeru 2 je podan kot niz z opuščaji, v katerem so vdelani opuščaji podvojeni, zato se trikrat ponovijo. Zato se niz pravilno prikaže v enojnih opuščajih v izrazu. Kot splošno pravilo za tip podatkov niz naj se "defaultText" vedno podaja tako, razen v kontekstu parametrov shranjene procedure. Za "defaultText" tipov 'date' ali 'datetime' naj se v kontekstu SQL uporablja posebna oblika. Primera teh oblik sta 'DATE ''2001-12-25''' in 'DATETIME ''2001-12-25 12:00:00'''. V vseh drugih kontekstih uporabite datum/datumčas brez ključne besede in ubežnih opuščajev (npr. '2001-12-25'). Uporabnika pozove, da vnese eno ali več vrednosti ali članov. Zahtevano je samo "prompt_name". Privzeti podatkovni tip je 'string', če ta ni podan. Poziv je izbiren, če je podan "defaultText". "Text", če je podan, bo pred seznamom vrednosti. "QueryItem" lahko podate za izkoriščanje lastnosti informacij o pozivu, ki jih ima "queryItem". "Trailing_text", če je podan, bo pripet seznamu vrednosti. Če je podatkovni tip 'memberuniquename', je ustvarjen poziv za izbiro več članov. Priporočamo, da kot tretji argument podate privzeto vrednost. Privzeta vrednost mora biti veljavno edinstveno ime člana, lahko pa je tudi vzdevek, ki se sklicuje na edinstveno ime člana, kot je to v programu Report Studio. promptmany ( prompt_name ; datatype ; defaultText ; text ; queryItem ; trailing_text ) Primer: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'CountryName' ) # ) Rezultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' ; 'The Netherlands' ; 'Russia' ) Primer: 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' ) Primer: 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 poizvedbo za en stolpec in vrnite vrednost (samo) v prvi vrstici. Rezultat ni formatiran; klic po potrebi obdajte s sq ( ). queryValue ( value_expression [ , filter_expression ] ) Primer: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Rezultat: 'Wednesday' Sestavi indeksirano polje iz seznama parametrov. array ( string_expression|array_expression { ; string_expression|array_expression } ) Primer: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Rezultat: 'a1' , 'x1' , 'x2' , 'a2' Izdela niz iz elementov indeksiranega polja, kjer so vrednosti ločene z vejicami. Izbirno lahko podate nize ločila in navednic. Privzeto ločilo je podpičje (  ), privzeti znak za navajanje pa je opuščaj ( ' ). csv ( array_expression [ ; separator_string [ ; quote_string ] ] ) Primer: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Rezultat: 'a1'; 'a2' Pridobi vnos iz konfiguracijske datoteke IBM® Cognos®. Parameter force_decode_flag je neobvezen in mora biti eden od naslednjih: 'true', '1', 1 , 'false', '0', 0. Privzeto je 'false'. V izjemnih primerih je treba parameter force_decode_flag nastaviti na true. Kadar je parameter force_decode_flag nastavljen na true, potem je za vnose, konfigurirane v konfiguraciji IBM® Cognos® prek Naprednih lastnosti, vrnjena vrednost konfiguracijskega vnosa golo besedilo. Za vnose, ki niso identificirani v Naprednih lastnostih, je vrnjen prazen niz, ne glede na to, ali so prisotne šifrirane informacije ali ne. Vnos v Naprednih lastnostih je qs.getConfigurationEntry.1 in je seznam imen, ločen s podpičji; po privzetku je ta seznam imen prazen in klici te funkcije z zastavico, nastavljeno na true, vrnejo prazen niz. getConfigurationEntry ( entry_string ; force_decode_flag ) Primer: # getConfigurationEntry ( 'serverLocale'  ) # Rezultat: en Vrne vnos iz datoteke virov. Prvi argument je ID vira, najden v datoteki virov. Izbirni drugi argument je ime datoteke virov brez pripone področnih nastavitev (npr. 'mfwa4j' za datoteko sporočil 'mfwa4j_en.properties'). Privzeta datoteka virov je 'xqejavamsgs'. Izbirni tretji argument so področne nastavitve, ki so po privzetku 'en'. getResourceString ( resource_id_string [, resource_file_string [ , locale_string ] ] ) Primer: # getResourceString ( 'XQE_BIN_binLow' ) # Rezultat: XQE-BIN-0001 manj kot %1 Primer: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Rezultat: MFW-UT-1002 Prišlo je do notranje težave. Obrnite se na skrbnika sistema. Išče in vrne elemente za indeksirano polje, ki ustreza vzorcu, podanem v "pattern_string". Edini podprti metaznaki so: ^ (začetek besede), $ (konec besede), ! (negate (negacija) - podprto samo kot prvi znak). grep ( pattern_string ; array_expression ) Primer: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Rezultat: 'as'; 'arts' Primer: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # Rezultat: 'group', 'golf' Primer: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # Rezultat: 'oranges', 'mangoes' Primer: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # Rezultat: 'apples' Vrne odmik v 'str', kjer je najden 'substr'. Vrednost -1 je vrnjena, ko 'substr' ni najden. Podate lahko tudi izbirni 'offset', na katerem se začne iskanje. Prvi argument 'str' je lahko tudi array_expression. V tem primeru je funkcija uveljavljena za posamezen element indeksiranega polja, rezultat funkcije pa je indeksirano polje vrednosti. 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 Združi elemente indeksiranega polja z "separator_string". join ( separator_string ; array_expression ) Primer: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Rezultat: 'as | | an | | arts' Izračuna število znakov v string_expression. Če je argument array_expression, bo rezultat indeksirano polje vrednosti, posamezen vnos pa bo število znakov v posameznem elementu array_expression. length ( string_expression | array_expression ) length ( 'abcdef' ) Rezultat: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Rezultat: 6--3 Poiščite zadnji odmik v 'str', kjer je najden 'substr'. Ta funkcija se imenuje obratni indeks. Ogledate si jo tako, kot če bi začela iskanje od zadnjega konca niza. Vrednost -1 je vrnjena, ko 'substr' ni najden. Podate lahko tudi izbirni 'offset', na katerem se konča iskanje. Prvi argument 'str' je lahko array_expression. V tem primeru je funkcija uveljavljena za posamezen element indeksiranega polja, rezultat funkcije pa je indeksirano polje vrednosti. 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 Odstrani končne znake iz prvega argumenta. Izbirni drugi argument definira nabor znakov za odstranitev. Po privzetku ta funkcija odstrani presledek (t.j. presledek, tabulator, znak za pomik na začetek vrstice in prazno vrstico). rstrip ( string_expression [ ; set_of_characters ] ) Primer: # sq( rstrip ( ' abc ' ) ) # Rezultat: ' abc' Primer: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Rezultat: 0053.21 Razvrsti elemente indeksiranega polja v abecednem vrstnem redu. Podvojitve se obdržijo. sort ( array_expression ) Primer: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Rezultat: 'a'; 's3'; 'x' Razdeli niz ali elemente niza indeksiranega polja v ločene elemente. split ( pattern_string; string_expression|array_expression ) Primer: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Rezultat: 'ab=c'; 'de=f'; 'gh=i' Primer: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Rezultat: 'ab'; 'c'; 'de'; 'f'; 'gh'; 'i' Odstrani začetne in končne znake iz prvega argumenta. Izbirni drugi argument definira nabor znakov za odstranitev. Po privzetku ta funkcija odstrani presledek (t.j. presledek, tabulator, znak za pomik na začetek vrstice in prazno vrstico). strip ( string_expression [ ; set_of_characters ] ) Primer: # sq( strip ( ' abc ' ) ) # Rezultat: 'abc' Primer: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Rezultat: 53.21 Poišče vzorec v nizu ali v nizovnih elementih indeksiranega polja in zamenja prvo pojavitev "pattern_string" z "replacement_string". Edini podprti metaznaki so: ^ (začetek besede), $ (konec besede) substitute ( pattern_string; replacement_string;string_expression|array_expression ) Primer: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Rezultat: '***help' Primer: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Rezultat: '***help'; 'acn=5' Primer: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Rezultat: 'help'; 'a5' Primer: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Rezultat: 'cn=***' Izvleče del iz 'string_expression', začne pri 'start_offset'. Podate lahko, da naj bo izvlečeno število 'length' znakov. Če vrednost 'length' ni podana, je vrnjeno število do konca izraza 'string_expression'. Prvi argument je lahko tudi array_expression. V tem primeru je funkcija uveljavljena za posamezen element indeksiranega polja, rezultat funkcije pa je indeksirano polje nizov. 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 je napaka. Drugi argument funkcije 'substr' mora biti večji ali enak -1.' . Vrne "string_expression1", ki predstavlja časovni žig s časovnim pasom, obrezan na obliko, podano v "string_expression2". Oblika zapisa v "string_expression2" mora biti ena od naslednjih: 'llll'; 'mm'; 'dd'; 'llll-mm'; 'llllmm'; 'llll-mm-dd'; 'llllmmdd'; 'llll-mm-dd hh:mm:ss'; 'llll-mm-dd hh:mm:ss+hh:mm'; 'llll-mm-dd hh:mm:ss.ff3'; 'llll-mm-dd hh:mm:ss.ff3+hh:mm'; 'llll-mm-ddThh:mm:ss'; 'llll-mm-ddThh:mm:ss+hh:mm'; 'llll-mm-ddThh:mm:ss.ff3+hh:mm' ali 'llll-mm-ddThh:mm:ss.ff3+hh:mm'. Funkcije makra, ki vrnejo nizovno predstavitev časovnega žiga s časovnim pasom, kažejo privzeto natančnost 9 števk za neceli del sekunde. Možnosti oblikovanja omogočajo, da se ta natančnost obreže na 3 ali 0. timestampMask ( string_expression1 ; string_expression2 ) Primer: # timestampMask ( $current_timestamp ; 'yyyy-dd-mm' ) # Rezultat: 2005-11-01 Primer: # 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 Primer: # 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 Vrne niz, ki predstavlja časovni žig s časovnim pasom, ki je posledica nastavljanja "string_expression" na časovni pas operacijskega sistema. Upoštevajte, da se funkcija makra timestampMask () lahko uporablja za morebitno obrezovanje izhodnih podatkov. toLocal ( string_expression ) Primer: # 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 Primer: # 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 Primer: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # pri čemer je lokalni časovni pas operacijskega sistema -05:00 Rezultat: 2005-11-01 12:00:00.000000000-05:00 Vrne niz "string_expression", kjer so vsi znaki pretvorjeni v male črke in pri čemer uporabi pravila področnih nastavitev "locale_string". Če področne nastavitve niso podane, se uporabijo področne nastavitve 'en'. tolower ( string_expression [ ; locale_string ] ) Primer: # tolower ( 'ABC' ) # Rezultat: abc Primer: # tolower ( 'ABC' ; 'fr' ) # Rezultat: abc Vrne niz "string_expression", kjer so vsi znaki pretvorjeni v velike črke in pri čemer uporabi pravila področnih nastavitev, definiranih v "locale_string". Če "locale_string" ni podan, se uporabijo področne nastavitve 'en'. toupper ( string_expression [ ; locale_string ] ) Primer: # toupper ( 'abc' ) # Rezultat: ABC Primer: # toupper ( 'abc' ; 'fr' ) # Rezultat: ABC Vrne niz, ki predstavlja časovni žig s časovnim pasom, ki je posledica nastavljanja "string_expression" na nično točko referenčnega časovnega pasu UTC, poznanega tudi kot čas GMT (Greenwich). Upoštevajte, da se funkcija makra timestampMask () lahko uporablja za morebitno obrezovanje izhodnih podatkov. toUTC ( string_expression ) Primer: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Rezultat: 2005-11-01 17:00:00.000000000-00:00 Primer: # 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 Primer: # toUTC ( $current_timestamp ) # Rezultat: 2005-11-01 17:00:00.000000000-00:00 Odstrani podvojene vnose iz indeksiranega polja. Vrstni red elementov je ohranjen. unique ( array_expression ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Rezultat: 's3'; 'a'; 'x' Posredovani argument kodira kot URL. Ta funkcija je uporabna pri podajanju povezovalnih nizov XML. urlencode ( prompt ( 'userValue' ) ) urlencode ( prompt ( 'some_val' ) ) %27testValue%27 simple case Ta konstrukt makrov je predloga za preprost primer, ki vključuje funkcije case, when, then, else in end. Upoštevajte, da je ta konstrukt makrov podprt samo v načinu DQM. CASE <expression> WHEN <literal> THEN <expression> [ELSE <expression>] END Primer: #CASE prompt('pDateRange';'token') WHEN 'Current Week' THEN '[PR Current Week]' ELSE '[PR Prior Week]' END# Rezultat: [PR Current Week]
Funkcije bloka Ta seznam vsebuje funkcije, ki se uporabljajo za dostop do članov nabora, navadno v kontekstu programa Analysis Studio. Vrne prve člane v naboru do "numeric_expression_maximum" + "numeric_expression_overflow". Če se "numeric_expression_maximum" + "numeric_expression_overflow" preseže, se vrne samo maksimalno število članov. Za nabor, ki ima samo nekaj več članov kot podan numeric_expression_maximum, omogoča numeric_expression_overflow vključitev nekaj dodatnih članov. Če ima nabor več članov kot to dopušča prekoračitev, se vrne samo numeric_expression_maximum članov. _firstFromSet ( set_expression ; numeric_expression_maximum ; numeric_expression_overflow ) _firstFromSet ( [great_outdoors_company].[Products].[Products].[Product line] ; 2 ; 8 ) Rezultat: vrne pet članov nabora Product line (linija izdelkov). Prva dva člana sta vrnjena znotraj maksimuma, ostali trije pa kot prekoračitev. Camping Equipment Golf Equipment Mountaineering Equipment Outdoor Protection Personal Accessories _firstFromSet ( [great_outdoors_company].[Products].[Products].[Product line] ; 2 ; 2 ) Rezultat: Camping Equipment, Golf Equipment Vrne nabor, ki vsebuje "member_expression", če je velikost "set_expression" večja od "numeric_expression", t.j. generiran bo nov član, če je število članov v "set_expression" večje kot tisto, ki je podano v "numeric_expression". _remainderSet ( member_expression; set_expression ; numeric_expression ) _remainderSet ( member ( aggregate ( currentMeasure within set [great_outdoors_company].[Products].[Products].[Product line] ) ; 'Product Aggregate' ; 'Product Aggregate' ; [great_outdoors_company].[Products].[Products] ) ; [great_outdoors_company].[Products].[Products].[Product line] ; 1 ) Rezultat: prodana količina za agregat izdelkov