Platformfüggő függvények Állandók Az állandók kifejezésekben használható, rögzített értékek. Operátorok Az operátorok határozzák meg, hogy mi történjen az operátorok előtt és után álló értékekkel. Az operátorok a függvényekhez hasonlóan adatelemeket kezelnek és valamilyen eredményt adnak vissza. date Az aktuális rendszerdátumot szúrja be. date-time Az aktuális rendszerdátumot és -időt szúrja be. time with time zone Zérus időt szúr be időzónával együtt. timestamp with time zone Példaként szolgáló időbélyegzőt szúr be időzónával együtt. "Hamis" értéket szúr be. interval Zérus intervallumot szúr be: 000 00:00:00.000. interval year Zérus év intervallumot szúr be: 0 év. interval month Zérus hónap intervallumot szúr be: 0 hónap. interval year to month Zérus év-hónap intervallumot szúr be: 0000-00 év-hónap. interval day Zérus nap intervallumot szúr be: 0 nap. interval hour Zérus óra intervallumot szúr be: 0 óra. interval minute Zérus perc intervallumot szúr be: 0 perc. interval second Zérus másodperc intervallumot szúr be: 0 másodperc. interval day to hour Zérus nap-óra intervallumot szúr be: 0 00 nap-óra. interval day to minute Zérus nap-perc intervallumot szúr be: 0 00:00 nap-perc. interval day to second Zérus nap-másodperc intervallumot szúr be: 0 00:00:00.000000000 nap-másodperc. interval hour to minute Zérus óra-perc intervallumot szúr be: 00:00 óra-perc. interval hour to second Zérus óra-másodperc intervallumot szúr be: 00:00:00.000000000 nap-másodperc. interval minute to second Zérus perc-másodperc intervallumot szúr be: 00:00:00.000000000 perc-másodperc. Ha a kifejezés feltételei nem teljesülnek, null értéket szúr be. szám A 0 számot szúrja be, amely új számértékre cserélhető. karakterlánc Üres karakterláncot szúr be két aposztróf formájában - a karakterláncot a kettő közé írhatja be. idő Az aktuális rendszeridőt szúrja be. "Igaz" értéket szúr be.
A kifejezés kezdetét azonosítja. ( kifejezés ) A kifejezés végét azonosítja. ( kifejezés ) Két számérték szorzatát képezi. érték1 * érték2 , Kifejezések összetevőit választja el. kifejezés ( paraméter1; paraméter2 ) Két számérték hányadosát képezi. érték1 / érték2 Összefűz vagy összekapcsol karakterláncokat. karakterlánc1 || karakterlánc2 Két numerikus értéket ad össze. érték1 + érték2 Két számérték különbségét képezi, illetve számértéket negál. érték1 - érték2 vagy - érték Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek kisebbek, mint "érték2". érték1 < érték2 Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek nem nagyobbak, mint "érték2". érték1 <= érték2 Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek nem egyenlők az utóbbival. érték1 <> érték2 Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek egyenlők az utóbbival. érték1 = érték2 Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek nagyobbak, mint "érték2". érték1 > érték2 Literáltag-kifejezések összetevőit választja el. [névtér].[dimenzió].[hierarchia].[szint]->[L1] Az "érték1" által képviselt értékeket "érték2" értékéhez hasonlítja, és lehívja azokat az értékeket, amelyek nem kisebbek, mint "érték2". érték1 >= érték2 Akkor ad vissza "igaz" értéket, ha a feltételek a kifejezés mindkét oldalán igazak. argumentum1 and argumentum2 Összegzési kifejezéseknél a lekérdezésben szereplő csoportosítási oszlopok alapján a módosítandó hatókört határozza meg. A hatókör kontextusfüggő. aggregate_function ( kifejezés AUTO ) Megállapítja, hogy adott tartományon belül van-e az érték. kifejezés between érték1 and érték2 Példa: [Bevétel] 200 és 300 között Eredmény: a 200 és 300 egység közötti bevételű tevékenységek számát adja vissza. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false A when, then, else és end kifejezésben használható. A case utasítás egy olyan speciális helyzet kezdetét azonosítja be, amelyben when, then és else műveletek vannak definiálva. case kifejezés { when kifejezés then kifejezés } [ else kifejezés ] end Megállapítja, hogy a "karakterlánc1" tartalmazza-e a "karakterlánc2" karakterláncot. Ez a szintaxis mindkét metakaraktert támogatja: A százalékjel (%) nullát vagy egy, illetve több karaktert, és az alulvonás (_) bármilyen betűt képvisel. Az opcionális LITERAL kulcsszó azt jelzi, hogy a '%' és a '_' jelek hogyan értelmezendők. Ha a LITERAL kulcsszó jelen van, akkor a '%' és '_' jelek nem metakarakterként kezelendők (lásd: 3.. és 5. példa). Ellenkező esetben, a LITERAL kulcsszó hiányában, a '%' és '_' jelek metakarakterként viselkednek (lásd: 1., 2. és 4. példa). karakterlánc1 contains [LITERAL] karakterlánc2 1. példa: [PRODUCT_LINE] contains 'door' 1. eserdmény: Outdoor Equipment 2. példa: [PRODUCT_LINE] contains 'Golf%' 2. eredmény: Golf Equipment 3. példa: [PRODUCT_LINE] contains literal 'Golf%' 3. eredmény: Golf% 4. példa: [PRODUCT_LINE] contains 'Current_Year%' 4. eredmény: Current Year Price, Current Year Price%, Current_Year Price%. 5. példa: [PRODUCT_LINE] contains literal 'Current_Year%' 5. eredmény: Current_Year%. Tagösszegző függvények első argumentumaként használható kulcsszó. Ez a függvény a GO adatraktár (lekérdezés) csomagban lévő Teljes árbevétel országonként mintajelentésben található. aggregate_function ( currentMeasure within set kifejezés ) current_date Az adatbázis aktuális dátumát adja vissza. current_date A "lookup" szerkezettel használható. lookup (....) in (....) default (....) Összesítő kifejezésben használható kulcsszó, csak az értékek egyedi előfordulásának szerepeltetésére. Lásd a "unique" függvényt is. distinct adatelem Példa: count ( distinct [rendelés_részletezett_mennyisége] ) Eredmény: 1704 Az "if" vagy "case" szerkezettel használható. Ha az "if" feltétel vagy a "case" kifejezés nem igaz, a program az "else" kifejezésére ugrik. Ez a függvény a GO adatraktár (elemzés) csomagban lévő 2005. első tíz viszonteladója mintajelentésben található. if ( feltétel ) then ... else ( kifejezés ) , vagy case .... else ( kifejezés ) end A "case" vagy "when" szerkezet végét jelzi. case .... end Megállapítja, hogy a "karakterlánc1" "karakterlánc2" karakterlánccal végződik-e. Ez a szintaxis mindkét metakaraktert támogatja: A százalékjel (%) nullát vagy egy, illetve több karaktert, és az alulvonás (_) bármilyen betűt képvisel. Az opcionális LITERAL kulcsszó azt jelzi, hogy a '%' és a '_' jelek hogyan értelmezendők. Ha a LITERAL kulcsszó jelen van, akkor a '%' és '_' jelek nem metakarakterként kezelendők (lásd: 3.. és 5. példa). Ellenkező esetben, a LITERAL kulcsszó hiányában, a '%' és '_' jelek metakarakterként viselkednek (lásd: 1., 2. és 4. példa). karakterlánc1 ends with [LITERAL] karakterlánc2 1. péda: [PRODUCT_LINE] ends with 'Equipment' 1. eredmény: Camping Equipment, Golf Equipment 2. példa: [PRODUCT_LINE] ends with '%Equipment' 2. eredmény: Golf Equipment, Camping Equipment 3. példa: [PRODUCT_LINE] ends with literal 'Equipment%' 3. eredmény: Equipment% 4. példa: [PRODUCT_LINE] ends with '%Price' 4. eredmény: Product Price, Current_Year Price 5. példa: [PRODUCT_LINE] ends with literal '%Price' 5. eredmény: %Price Megállapítja, hogy a „karakterlánc1” megfelel-e a „karakterlánc2” mintájának a "char" karakter opcionális váltókarakterként történő használatakor a mintakarakterláncban. karakterlánc1 LIKE karakterlánc2 [ ESCAPE char ] Példa: [PRODUCT_LINE] like 'G%' Eredmény: az összes, 'G' betűvel kezdődő termékcsoport. Példa: [PRODUCT_LINE] like '%Ga%' escape 'a' Eredmény: az összes, 'G' betűre végződő termékcsoport. Összegzési kifejezéseknél a lekérdezésben szereplő összesítés hatókörét határozza meg. aggregate_function ( kifejezés for kifejezés { ; kifejezés } ) Összegzési kifejezéseknél a lekérdezésben szereplő csoportosítási oszlopok részhalmaza alapján a módosítandó hatókört határozza meg. A "for" feltétellel egyenértékű. aggregate_function ( kifejezés for ANY kifejezés { ; kifejezés } ) Összegzési kifejezéseknél a hatókört a lekérdezésben szereplő, összes megadott csoportosítási oszlopként határozza meg. Lásd a "for" feltételt is. aggregate_function ( kifejezés for ALL kifejezés { ; kifejezés } ) Összegzési kifejezéseknél a hatókört a teljes lekérdezésként határozza meg. Lásd a "for" feltételt is. Ez a függvény a GO adatraktár (elemzés) csomagban lévő Visszáru és ügyfél-elégedettség mintajelentésben található. aggregate_function ( kifejezés for report ) A "then" és "else" szerkezettel használható. Az "if" határozza meg a feltételt; ha "if" feltétele igaz, a program a "then" kifejezésre ugrik. Ha az "if" feltétele nem igaz, a program az "else" kifejezésre ugrik. Ez a függvény a GO adatraktár (elemzés) csomagban lévő 2005. első tíz viszonteladója mintajelentésben található. if ( feltétel ) then ( kifejezés ) else ( kifejezés ) Megállapítja, hogy "kifejezés1" szerepel-e az adott kifejezéslistában. kifejezés1 in ( kifejezéslista ) Megállapítja, hogy "kifejezés1" szerepel-e az állandó értékek vagy tartományok adott listájában. kifejezés1 in_range { állandó : állandó [ , állandó : állandó ] } Példa: [kód] in_range { 5 } Eredmény: a [kód] = 5 kifejezéssel egyenértékű. Példa: [kód] in_range { 5: } Eredmény: ez a [kód] >= 5 kifejezéssel egyenértékű. Példa: [kód] in_range { :5 } Eredmény: ez a [kód] <= 5 kifejezéssel egyenértékű. Példa: [kód] in_range { 5:10 } Eredmény: ez a ( [kód] >= 5 és [kód] <= 10 ) kifejezéssel egyenértékű. Példa: [kód] in_range { :5;10;20: } Eredmény: ez a ( [kód] <= 5 vagy [kód] = 10 vagy [kód] >= 20 ) kifejezéssel egyenértékű. Megállapítja, hogy az "érték" meghatározatlan-e az adatokban. érték hiányzik Megállapítja, hogy az "érték" meghatározatlan-e az adatokban. érték nullértékű Megállapítja, hogy az "érték" meg van-e határozva az adatokban. érték nem hiányzik Megállapítja, hogy az "érték" meg van-e határozva az adatokban. érték nem nullértékű Megállapítja, hogy a „karakterlánc1” megfelel-e a „karakterlánc2” mintájának a "char" karakter opcionális váltókarakterként történő használatakor a mintakarakterláncban. Ez a szintaxis mindkét metakaraktert támogatja: A százalékjel (%) nullát vagy egy, illetve több karaktert, és az alulvonás (_) bármilyen betűt képvisel. karakterlánc1 LIKE karakterlánc2 [ ESCAPE char ] 1. példa: [PRODUCT_LINE] like 'G%' 1. eredmény: az összes 'G' betűvel kezdődő termékcsoport. 2. példa: [PRODUCT_LINE] like '%Ga%' escape 'a' 2. eredmény: az összes 'G' betűre végződő termékcsoport. 3. példa: [PRODUCT_LINE] like 'C_R_' 3. eredmény: Az összes, CARS vagy CARD nevű termékcsoport. Példa: lookup ( [ország]) in ( 'Kanada'--> ( [listaár] * 0,60); 'Ausztrália'--> ( [listaár] * 0,80 ) ) default ( [listaár] ) A megadott értékre cseréli az adatokat. Célszerűbb a "case" szerkezetet használni. lookup ( név ) in ( érték1 --> érték2 ) default ( kifejezés ) Hamis "argumentum" esetén IGAZ, ellenkező esetben HAMIS értéket ad vissza. NOT argumentum IGAZ értéket ad vissza, ha "argumentum1" vagy "argumentum2" igaz. argumentum1 or argumentum2 Összegszámítást végez az összegzésszűrő alkalmazása előtt. summary_function ([kifejezés] prefilter) Példa: total ( [Mennyiség] for report prefilter ) summaryFilter: total( [Mennyiség] for [Termékszám] ) > 50000 Eredmény: Összeadja a jelentésben szereplő mennyiségeket az összegzésszűrő alkalmazása előtt. 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 Megszámolja a lekérdezés kimenetében szereplő sorok számát. A Count() függvénnyel használható. count ( ROWS ) Megszámolja a lekérdezés kimenetében szereplő sorok számát. A Count() függvénnyel használható. count ( ROWS  [ kifejezés ]) Megállapítja, hogy a "karakterlánc1" "karakterlánc2" karakterlánccal kezdődik-e. Ez a szintaxis mindkét metakaraktert támogatja: A százalékjel (%) nullát vagy egy, illetve több karaktert, és az alulvonás (_) bármilyen betűt képvisel. Az opcionális LITERAL kulcsszó azt jelzi, hogy a '%' és a '_' jelek hogyan értelmezendők. Ha a LITERAL kulcsszó jelen van, akkor a '%' és '_' jelek nem metakarakterként kezelendők (lásd: 3.. és 5. példa). Ellenkező esetben, a LITERAL kulcsszó hiányában, a '%' és '_' jelek metakarakterként viselkednek (lásd: 1., 2. és 4. példa). karakterlánc1 starts with [LITERAL] karakterlánc2 1. példa: [PRODUCT_LINE] starts with 'Golf' 1. eredmény: Golf Equipment 2. példa: [PRODUCT_LINE] starts with 'Outdoor%' 2. eredmény: Outdoor Equipment 3. példa: [PRODUCT_LINE] starts with literal 'Golf%' 3. eredmény: Golf% 4. példa: [PRODUCT_LINE] starts with 'Current_Year%' 4. eredmény: Current Year Price, Current Year Price%, Current_Year Price% 5. példa: [PRODUCT_LINE] starts with literal 'Current_Year%' 5. eredmény: Current_Year% Az "if" vagy "case" szerkezettel használható. Ha az "if" feltétel vagy a "when" kifejezés igaz, a program a "then" kifejezésre ugrik. Ez a függvény a GO adatraktár (elemzés) csomagban lévő 2005. első tíz viszonteladója mintajelentésben található. if ( feltétel ) then ..., vagy case kifejezés when kifejezés then .... end A "case" szerkezettel használható. Megadhatja azokat a feltételeket, amelyeknek akkor kell teljesülniük, ha a WHEN kifejezés igaz. case [kifejezés] when ... end
Összegzések Ez a lista azok az előre meghatározott függvényeket tartalmazza, amelyek kapcsolódó értékek csoportjának egyetlen összegzési értékét, vagy kapcsolódó értékek csoportjába tartozó példányok eltérő összegzési értékét adják vissza. A kifejezés összesítéstípusa alapján a megfelelő összesítési függvény használatával számított értéket adja vissza. Ez a függvény a GO adatraktár (elemzés) csomagban lévő Költségvetési terv/tény mintajelentésben található. aggregate ( kifejezés [ auto ] ) aggregate ( kifejezés for [ all|any ] kifejezés { ; kifejezés } ) aggregate ( kifejezés for report ) A kiválasztott adatelemek értékeinek átlagát adja vissza. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. average ( [ distinct ] kifejezés [ auto ] ) average ( [ distinct ] kifejezés for [ all|any ] kifejezés { ; kifejezés } ) average ( [ distinct ] kifejezés for report ) Példa: average ( Értékesítés ) Eredmény: az összes értékesítési érték átlaga. A kiválasztott adatelemek számát adja vissza a nullértékek figyelmen kívül hagyásával. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. Az "all" csak DQM üzemmódban használható, és segít elkerülni a dimenziótábla adatelemeinek kétszer történő beszámítását. count ( [ all | distinct ] kifejezés [ auto ] ) count ( [ all | distinct ] kifejezés for [ all|any ] kifejezés { , kifejezés } ) count ( [ all | distinct ] kifejezés for report ) Példa: count ( értékesítés ) Eredmény: az értékesítés alatti bejegyzések össz-száma. A kiválasztott adatelemek közül a legnagyobb értékűt adja vissza. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. maximum ( [ distinct ] kifejezés [ auto ] ) maximum ( [ distinct ] kifejezés for [ all|any ] kifejezés { ; kifejezés } ) maximum ( [ distinct ] kifejezés for report ) Példa: maximum ( értékesítés ) Eredmény: az összes értékesítési érték maximális értéke. A kiválasztott adatelemek középértékét adja vissza. median ( kifejezés [ auto ] ) median ( kifejezés for [ all|any ] kifejezés { ; kifejezés } ) median ( kifejezés for report ) A kiválasztott adatelemek közül a legkisebb értékűt adja vissza. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. minimum ( [ distinct ] kifejezés [ auto ] ) minimum ( [ distinct ] kifejezés for [ all|any ] kifejezés { ; kifejezés } ) minimum ( [ distinct ] kifejezés for report ) Példa: minimum ( értékesítés ) Eredmény: az összes értékesítési érték minimális értéke. Az adott értékhalmaz megadott számú soraira vonatkozó soronkénti mozgó átlagát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. moving-average ( numerikus_kifejezés ; numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) moving-average (  numerikus_kifejezés ; numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: moving-average ( Mennyiség ; 3 ) Eredmény: minden sorhoz az aktuális és az azt megelőző két sor mennyiségét és mozgó átlagát adja vissza. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Az adott értékhalmaz megadott számú sorának soronkénti mozgó összértékét adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. moving-total ( numerikus_kifejezés ; numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) moving-total (  numerikus_kifejezés ; numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: moving-total ( mennyiség ; 3 ) Eredmény: minden sorhoz az aktuális és az azt megelőző két sor mennyiségét és mozgó összegét adja vissza. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 A kiválasztott adatelemek összértékhez viszonyított százalékát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. Ez a függvény a Százalékszámítás (év szerint) párbeszédes mintalejelentésben található. percentage ( numerikus_kifejezés [ at kifejezés  { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) percentage (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: percentage ( Értékesítés 98 ) Eredmény: az 1998-as év összes értékesítésének az egyes üzletkötőkhöz tartozó százalékát adja vissza. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% A kijelölt adatelemekkel egyenlő vagy azoknál kisebb elosztás százalékát jelző értéket jeleníti meg százas beosztású skálán. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. percentile ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) percentile (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: percentile ( Értékesítés 98 ) Eredmény: minden sorhoz az adott sor mennyiségértékével egyenlő vagy annál kisebb sorok százalékát adja vissza. 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 Az érték rangját adja vissza a megadott értéktartományon belül. Egész számok visszaadásával jelöli a rangok tartományát: pl. 1 (legmagasabb) és 100 (legalacsonyabb). A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. quantile ( numerikus_kifejezés ; numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) quantile (  numerikus_kifejezés ; numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: quantile ( Mennyiség ; 4 ) Eredmény: a mennyiséget, a mennyiségi érték rangját és a 4 mennyiségcsoportra (kvartilis) bontott mennyiségi értékeket adja vissza. 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 A megadott érték értékcsoporthoz viszonyított rangját adja vissza, 1 (legmagasabb) és 4 (legalacsonyabb) közötti egész számként. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. quartile ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) quartile (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: quartile ( Mennyiség ) Eredmény: a mennyiséget és a mennyiségi érték kvartilisét adja vissza 1 (legmagasabb) és 4 (legalacsonyabb) közötti egész számként. Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 A kiválasztott adatelemek rangértékét adja vissza. A rendezési sorrend választható; az alapértelmezés a csökkenő sorrend (DESC). Ha két vagy több sor döntetlenre áll, akkor a rangsorolt értékek között térköz van (más néven olimpiai rangsor). A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. Az üres értékek a rangsor végére kerülnek. Ez a függvény a GO adatraktár (elemzés) csomagban lévő 2005. első tíz viszonteladója mintajelentésben található. rank ( kifejezés [ ASC|DESC ] { ; kifejezés [ ASC|DESC ] } [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) rank ( [ distinct ] kifejezés [ ASC|DESC ] { ; kifejezés [ ASC|DESC ] } [ <for-option>] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: rank ( Értékesítés 98 ) Eredmény: minden sorhoz az 1998-as év értékesítésének az egyes üzletkötőkhöz tartozó rangértékét adja vissza. Sorok közötti eldöntetlen állapot esetén néhány számérték ki lesz hagyva. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló) mozgó átlagát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-average ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-average (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-average ( Mennyiség ) Eredmény: minden sorhoz az aktuális és az azt megelőző sorok mennyiségét és mozgó átlagát adja vissza. 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 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló) mozgó darabszámát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-count ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-count (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-count ( Mennyiség ) Eredmény: minden sorhoz az aktuális sor pozíciójához tartozó mennyiséget és a mozgó darabszámot adja vissza. 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 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló), az aktuális sor és az előző sor értéke közötti különbség alapján kiszámított mozgó különbségét adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-difference ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-difference (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-difference ( Mennyiség ) Eredmény: minden sorhoz az aktuális és az azt megelőző sor értékének mennyiségét és a közöttük levő mozgó különbséget adja vissza. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló) mozgó maximumát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-maximum (  numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-maximum (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-maximum ( Mennyiség ) Eredmény: minden sorhoz az aktuális és az azt megelőző sorok mennyiségét és mozgó maximumát adja vissza. 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 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló) mozgó minimumát adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-minimum ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-minimum (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-minimum ( Mennyiség ) Eredmény: minden sorhoz az aktuális és az azt megelőző sorok mennyiségét és mozgó minimumát adja vissza. 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 Az értékhalmaz soronkénti (az aktuális sort is magában foglaló) kumulált összegét adja vissza. A(z) "<for-option>" a függvény hatókörét határozza meg. Az "at" beállítás az összesítés szintjét határozza meg, és csak relációs adatforrások esetén használható. running-total ( numerikus_kifejezés [ at kifejezés { ; kifejezés } ] [ <for-option> ] [ prefilter ] ) running-total (  numerikus_kifejezés [ <for-option> ] [ prefilter ] ) <for-option> ::= for kifejezés { ; kifejezés }|for report|auto Példa: running-total ( Mennyiség ) Eredmény: minden sorhoz az aktuális és az azt megelőző sorok mennyiségét és kumulált összegét adja vissza. 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 A kiválasztott adatelemek szórását adja vissza. standard-deviation (  kifejezés [ auto ] ) standard-deviation (  kifejezés for [ all|any ] kifejezés { ; kifejezés } ) standard-deviation (  kifejezés for report ) Példa: standard-deviation ( Termékköltség ) Eredmény: az egyes termékköltségek és az átlagos termékköltség közötti szórást adja vissza. Kiszámítja a sokaság szórását, és a sokasági variancia négyzetgyökét adja eredményül. standard-deviation-pop (  kifejezés [ auto ] ) standard-deviation-pop (  kifejezés for [ all|any ] kifejezés { ; kifejezés } ) standard-deviation-pop (  kifejezés for report ) Példa: standard-deviation-pop ( Termékköltség ) Eredmény: a sokasági variancia négyzetgyökét adja vissza. Kiszámítja a minta szórását, és a sokasági variancia négyzetgyökét adja eredményül. standard-deviation-samp (  kifejezés [ auto ] ) standard-deviation-samp (  kifejezés for [ all|any ] { ; kifejezés }  kifejezés) standard-deviation-samp (  kifejezés for report ) Példa: standard-deviation-samp ( Termékár ) Eredmény: a mintavariancia négyzetgyökét adja vissza. A megadott érték értékcsoporthoz viszonyított rangját adja vissza "Magas", "Közepes", illetve "Alacsony" besorolásúként. tertile (  kifejezés [ auto ] ) tertile (  kifejezés for [ all|any ] kifejezés { ; kifejezés } ) tertile (  kifejezés for report ) Példa: tertile ( Mennyiség ) Eredmény: a mennyiséget, a mennyiségérték tercilisekre bontott kvantilisét és a tercilisekre bontott mennyiségértékeket adja vissza. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L A kiválasztott adatelemek összegértékét adja vissza. A "distinct" alternatívaként használható kifejezés, és kompatibilis a termék korábbi változataival. Ez a függvény a GO adatraktár (elemzés) csomagban lévő Költségvetési terv/tény mintajelentésben található. total ( [ distinct ] kifejezés [ auto ] ) total ( [ distinct ] kifejezés for [ all|any ] kifejezés { ; kifejezés } ) total ( [ distinct ] kifejezés for report ) Példa: total ( Értékesítés ) Eredmény: az összes értékesítési érték összértéke. Statisztikai függvények Ez a lista előre meghatározott, statisztikai jellegű összegzőfüggvényeket tartalmaz. A kiválasztott adatelemek varianciáját adja vissza. variance (  kifejezés [ auto ] ) variance (  kifejezés for [ all|any ] kifejezés { ; kifejezés } ) variance (  kifejezés for report ) Példa: variance ( Termékköltség ) Eredmény: a termékköltségek átlagos termékköltséghez viszonyított eltérését adja vissza. A számhalmaz sokasági varianciáját adja vissza, a halmazba tartozó üres értékek figyelmen kívül hagyásával. variance-pop (  kifejezés [ auto ] ) variance-pop (  kifejezés for [ all|any ] kifejezés { ; kifejezés } ) variance-pop (  kifejezés for report ) Példa: variance-pop ( Mennyiség ) Eredmény: minden sorhoz a számhalmaz sokasági varianciáját - a halmaz üres értékeinek figyelmen kívül hagyásával - adja vissza. Egy számhalmaz mintavarianciát adja vissza a halmazba tartozó üres értékek (nullértékek) figyelmen kívül hagyásával. variance-samp (  kifejezés [ auto ] ) variance-samp (  kifejezés for [ all|any ] { ; kifejezés }  kifejezés) variance-samp (  kifejezés for report ) Példa: variance-samp ( Mennyiség ) Eredmény: Minden sor esetében egy számhalmaz mintavarianciáját adja vissza, az üres értékek (nullértékek) figyelmen kívül hagyásával. corr ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés  [ auto ] ) corr ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) corr ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Számpárokból álló halmaz korrelációs együtthatóját adja vissza. Ennek kiszámítási módja: COVAR_POP(1._numerikus_kifejezés, 2._numerikus_kifejezés) / (STDDEV_POP(1._numerikus_kifejezés) * STDDEV_POP(2._numerikus_kifejezés)) Példa: corr ( Ár ;  Árrés  for report) Eredmény: Az Ár és az Árrés közötti összefüggést megadó korrelációs együttható. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) covariance-pop ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) covariance-pop ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Számpárokból álló halmaz sokasági kovarianciáját adja vissza. Példa: covariance-pop ( Ár ;  Árrés  for report) Eredmény: Az Ár és az Árrés közti sokasági kovariancia. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) covariance-samp ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) covariance-samp ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Számpárokból álló halmaz mintakovarianciáját adja vissza. Példa: covariance-samp ( Ár ;  Árrés  for report) Eredmény: Az Ár és az Árrés közti mintakovariancia. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-average-x ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-average-x ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) A regressziós egyenes független változójának (2._numerikus_kifejezés) átlagértékét adja vissza. Példa: regression-average-x ( Ár ;  Árrés  for report) Eredmény: Az Árrés átlagértéke az Ár - Árrés regressziós egyenesen. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-average-y ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-average-y ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) A regressziós egyenes függő változójának (1._numerikus_kifejezés) átlagértékét adja vissza. Példa: regression-average-y ( Ár ;  Árrés  for report) Eredmény: Az Ár átlagértéke az Ár - Árrés regressziós egyenesen. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-count ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-count ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) A regressziós egyenesre illeszkedő nem nullértékű számok számát adja vissza. Példa: regression-count ( Ár ;  Árrés  for report) Eredmény: Az Ár - Árrés regressziós egyenesre illeszkedő nem nullértékű számok száma. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-intercept ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-intercept ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Azt adja meg, hogy hol metszi a regressziós egyenes az y tengelyt. Ennek kiszámítási módja: AVG(1._numerikus_kifejezés) - REGR_SLOPE(1._numerikus_kifejezés, 2._numerikus_kifejezés) * AVG(2._numerikus_kifejezés) Példa: regression-intercept ( Ár ;  Árrés  for report) Eredmény: Az a pont, ahol az Ár - Árrés regressziós egyenes metszi az y tengelyt (ordinátametszet). 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-r2 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-r2 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) A regressziós egyenes determinációs együtthatóját (más néven "R-négyzet" vagy "az illesztés jósága") adja vissza. Az érték kiszámításának feltételei: IF VAR_POP(2._numerikus_kifejezés) = 0 THEN NULLA IF VAR_POP(1._numerikus_kifejezés) = 0 AND VAR_POP(2._numerikus_kifejezés) <> 0 THEN 1 IF VAR_POP(1._numerikus_kifejezés) > 0 AND VAR_POP(2._numerikus_kifejezés) <> 0 THEN POWER(CORR (1._numerikus_kifejezés, 2._numerikus_kifejezés)) Példa: regression-r2 ( Ár ;  Árrés  for report) Eredmény: Az Ár - Árrés regressziós egyenes determinációs együtthatója. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-slope ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-slope ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) A regressziós egyenes meredekségét adja vissza. Ennek kiszámítási módja: COVAR_POP(1._numerikus_kifejezés,2._numerikus_kifejezés) / VAR_POP(2._numerikus_kifejezés) Példa: regression-slope ( Ár ; Árrés ) Eredmény: Az Ár - Árrés regressziós egyenes meredeksége. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-sxx ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-sxx ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Az alábbi számítás eredményét adja vissza a NULLÉRTÉK-párok kizárása után: REGR_COUNT(1._numerikus_kifejezés, 2._numerikus_kifejezés) * VAR_POP(2._numerikus_kifejezés) Példa: regression-sxx ( Ár ;  Árrés  for report) Eredmény: Az Ár - Árrés regressziós egyeneshez tartozó sxx-számítás eredménye. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-sxy ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-sxy ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) Az alábbi számítás eredményét adja vissza a NULLÉRTÉK-párok kizárása után: REGR_COUNT(1._numerikus_kifejezés, 2._numerikus_kifejezés) * COVAR_POP(1._numerikus_kifejezés, 2._numerikus_kifejezés) Példa: regression-sxy ( Ár ;  Árrés  for report) Eredmény: Az Ár - Árrés regressziós egyeneshez tartozó sxy-számítás eredménye. 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 ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés ) regression-syy ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for [ all|any ] { ; kifejezés }  kifejezés) regression-syy ( 1._numerikus_kifejezés ;  2._numerikus_kifejezés for report ) 1Az alábbi számítás eredményét adja vissza a NULLÉRTÉK-párok kizárása után: REGR_COUNT(1._numerikus_kifejezés, 2._numerikus_kifejezés) * VAR_POP(1._numerikus_kifejezés) Példa: regression-syy ( Ár ;  Árrés  for report) Eredmény: Az Ár - Árrés regressziós egyeneshez tartozó syy-számítás eredménye. 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 Tagok összegzései Ez a lista azokat az előre meghatározott függvényeket tartalmazza, amelyek vagy tagok halmazának egyetlen összegzési értékét, vagy a taghalmaz tagjainak eltérő összegzési értékét adják vissza.
Hiba A kifejezés hibát tartalmaz a kijelölt kulcsszónál.
Szerkezetek Ez a lista a kifejezések létrehozásához használható szerkezeteket és sablonokat tartalmazza. A sablonok több függvényt kombinálnak egyetlen csoportba. A "search case" sablon például a "case", "when", "else" és "then" függvényeket tartalmazza. search case Ez a szerkezet keresési esetekhez való sablon, beleértve a CASE, WHEN, ELSE és END függvényeket. CASE WHEN [ország] = 'Kanada' THEN ([listaár] * 0,60) WHEN [országkód] > 100 THEN [listaár] * 0,80 ELSE [listaár] END simple case Ez a szerkezet egyszerű esetekhez való sablon, beleértve a CASE, WHEN, ELSE és END függvényeket. CASE [ország] WHEN 'Kanada' THEN ([listaár] * 0,60) WHEN 'Ausztrália' THEN [listaár] * 0,80 ELSE [listaár] END if then else A következő szerkezet az "if...then...else" kifejezés sablonja. Ez a szerkezet a GO adatraktár (elemzés) csomagban lévő 2005. első tíz viszonteladója mintajelentésben található. IF ([Ország] = 'Kanada') THEN ([Listaár] * 0.60) ELSE ([Listaár]) in_range Az "in_range" kifejezés sablonja a következő. [kód] IN_RANGE { :30 ; 40; 50; 999: } Példa: [kód] IN_RANGE { 5 } Eredmény: a [kód] = 5 kifejezéssel egyenértékű. Példa: [kód] IN_RANGE { 5: } Eredmény: ez a [kód] >= 5 kifejezéssel egyenértékű. Példa: [kód] IN_RANGE { :5 } Eredmény: ez a [kód] <= 5 kifejezéssel egyenértékű. Példa: [kód] IN_RANGE { 5:10 } Eredmény: ez a ( [kód] >= 5 és [kód] <= 10 ) kifejezéssel egyenértékű. Példa: [kód] IN_RANGE { :5;10;20: } Eredmény: ez a ( [kód] <= 5 vagy [kód] = 10 vagy [kód] >= 20 ) kifejezéssel egyenértékű.
Időszak predikátumok Ez a lista időszak-kifejezések összehasonlításához használható predikátumokat tartalmaz. tartalmazza a következőt: "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" tartalmazza az "időszak-kifejezés2" kifejezést; vagyis ha az első időszak tartalmazza a második időszakban szereplő dátum és idő értéket vagy összes értéket. az időszak-kifejezés1 tartalmazza a következőt: ( időszak-kifejezés2 | dátum_és_idő-kifejezés ) az ( 1989-11-01, 1991-05-19 ) időszak tartalmazza az ( 1991-05-19, 1991-06-04 ) időszakot Eredmény: hamis az ( 1989-11-01, 1991-05-19 ) időszak tartalmazza az ( 1990-05-19, 1991-04-04 ) időszakot Eredmény: igaz az ( 1989-11-01, 1991-05-19 ) időszak tartalmazza az 1991-04-04 dátumot Eredmény: igaz egyenlő "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" és az "időszak-kifejezés2" kezdő- és záróértékei egyeznek. az időszak-kifejezés1 egyenlő az időszak-kifejezés2 értékkel az ( 1989-11-01, 1991-05-19 ) időszak egyenlő az ( 1989-11-01, 1991-05-19 ) időszakkal Eredmény: igaz közvetlenül megelőzi "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" közvetlenül megelőzi az "időszak-kifejezés2" értéket; vagyis, ha az első időszak záróértéke megegyezik a második időszak kezdőértékével. az időszak-kifejezés1 közvetlenül megelőzi az időszak-kifejezés2 értéket az ( 1989-11-01, 1991-05-19 ) időszak közvetlenül megelőzi az ( 1991-05-19, 1991-06-04 ) időszakot Eredmény: igaz az ( 1989-11-01, 1991-05-18 ) időszak közvetlenül megelőzi az ( 1991-05-19, 1991-06-04 ) időszakot Eredmény: hamis közvetlenül követi "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" közvetlenül követi az "időszak-kifejezés2" értéket; vagyis, ha az első időszak kezdőértéke megegyezik a második időszak záróértékével. az időszak-kifejezés1 közvetlenül követi az időszak-kifejezés2 értékét az ( 1991-05-19, 1994-01-10 ) időszak közvetlenül követi az ( 1991-01-19, 1991-05-19 ) időszakot Eredmény: igaz az ( 1991-05-19, 1994-01-10 ) időszak közvetlenül követi az ( 1991-01-20, 1991-05-18 ) időszakot Eredmény: hamis fedi "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" fedi az "időszak-kifejezés2" értékét; vagyis legalább egy értékük közös. az időszak-kifejezés1 fedi az időszak-kifejezés2 értéket az ( 1991-05-19, 1994-01-10 ) időszak fedi az ( 1993-01-19, 1995-05-19 ) időszakot Eredmény: igaz megelőzi "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" megelőzi az "időszak-kifejezés2" értéket; vagyis, ha az első időszakban lévő összes érték kisebb vagy egyenlő a második időszak kezdőértékével. az időszak-kifejezés1 megelőzi az időszak-kifejezés2 értéket az ( 1989-11-01, 1991-05-19 ) időszak megelőzi az ( 1991-05-19, 1991-06-04 ) időszakot Eredmény: igaz az ( 1989-11-01, 1991-05-18 ) időszak megelőzi az ( 1991-05-19, 1991-06-04 ) időszakot Eredmény: igaz követi "Igaz" értéket ad vissza, ha az "időszak-kifejezés1" követi az "időszak-kifejezés2" értéket; vagyis, ha az első időszakban lévő összes érték nagyobb vagy egyenlő a második időszak záróértékével. az időszak-kifejezés1 követi az időszak-kifejezés2 értékét az ( 1991-05-19, 1994-01-10 ) időszak követi az ( 1991-01-19, 1991-05-19 ) időszakot Eredmény: igaz az ( 1991-05-20, 1994-01-10 ) időszak követi az ( 1991-01-20, 1991-05-19 ) időszakot Eredmény: igaz
Dátumokkal és idővel kapcsolatos függvények Ez a lista a dátumokkal és idővel kapcsolatos függvényeket tartalmazza. _add_seconds ( időkifejezés, egészszám-kifejezés ) Az időt vagy a dátumot és időt adja vissza, az „időkifejezés” formátumától függően; az eredmény az „egészszám-kifejezés” számú másodperc „időkifejezés” értékhez adásával jön létre. Példa: _add_seconds ( 13:04:59 , 1 ) Eredmény: 13:05:00 Példa: _add_seconds ( 2002-04-30 12:10:10.000, 1 ) Eredmény: 2002-04-30 12:10:11.000 Példa: _add_seconds ( 2002-04-30 00:00:00.000, 1/100 ) Figyelje meg, hogy a második argumentum nem egész szám. Bizonyos adatbázis-technológiák támogatják ezt a megoldást, amely az időpont-összetevőt növeli. Eredmény: 2002-04-30 00:00:00.010 _add_minutes ( időkifejezés, egészszám-kifejezés ) Az időt vagy a dátumot és időt adja vissza, az „időkifejezés” formátumától függően; az eredmény az „egészszám-kifejezés” számú perc „időkifejezés” értékhez adásával jön létre. Példa: _add_minutes ( 13:59:00 , 1 ) Eredmény: 14:00:00 Példa: _add_minutes ( 2002-04-30 12:59:10.000, 1 ) Eredmény: 2002-04-30 13:00:10.000 Példa: _add_minutes ( 2002-04-30 00:00:00.000, 1/60 ) Figyelje meg, hogy a második argumentum nem egész szám. Bizonyos adatbázis-technológiák támogatják ezt a megoldást, amely az időpont-összetevőt növeli. Eredmény: 2002-04-30 00:00:01.000 _add_hours ( időkifejezés, egészszám-kifejezés ) Az időt vagy a dátumot és időt adja vissza, az „időkifejezés” formátumától függően; az eredmény az „egészszám-kifejezés” számú óra az „időkifejezés” értékhez adásával jön létre. Példa: _add_hours ( 13:59:00 , 1 ) Eredmény: 14:59:00 Példa: _add_hours ( 2002-04-30 12:10:10.000, 1 ) Eredmény: 2002-04-30 13:10:10.000, Példa: _add_hours ( 2002-04-30 00:00:00.000, 1/60 ) Figyelje meg, hogy a második argumentum nem egész szám. Bizonyos adatbázis-technológiák támogatják ezt a megoldást, amely az időpont-összetevőt növeli. Eredmény: 2002.04.30. 00:01:00.000 _add_days ( dátumkifejezés; egészszám-kifejezés ) A „dátumkifejezés” formátumától függően a „dátumkifejezés” értékhez hozzáadott „egészszám-kifejezés” számú nap eredményezte dátumot vagy az időpontot adja vissza. Példa: _add_days ( 2002-04-30 ; 1 ) Eredmény: 2002.05.01. Példa: _add_days ( 2002-04-30 12:10:10.000; 1 ) Eredmény: 2002.05.01. 12:10:10.000 Példa: _add_days ( 2002-04-30 00:00:00.000; 1/24 ) Figyelje meg, hogy a második argumentum nem egész szám. Bizonyos adatbázis-technológiák támogatják ezt a megoldást, amely az időpont-összetevőt növeli. Eredmény: 2002.04.30. 01:00:00.000 _add_months ( dátumkifejezés; egészszám-kifejezés ) "Egészszám-kifejezés" számú hónapot ad a "dátumkifejezés" értékéhez. Ha az eredményezett hónapnak kevesebb napja lesz, mint a hónap napja összetevő értéke, akkor az eredményül kapott hónap utolsó napját adja vissza. Minden más esetben a visszaadott értékben lévő hónap napja összetevő azonos lesz a "dátumkifejezés" értékével. Példa: _add_months ( 2012-04-15 , 3 ) Eredmény: 2012-07-15 Az eredmény nem az eredményül kapott hónap utolsó napja. Példa: _add_months ( 2012-02-29 , 1 ) Eredmény: 2012-03-29 A hónap utolsó napjának visszaadásához használja a _last_of_month függvényt. Példa: _last_of_month ( _add_months ( 2012-02-29 , 1 ) ) Eredmény: 2012-03-31 A nap az eredményül kapott hónap utolsó napjához van igazítva. Példa: _add_months ( 2012-01-31 , 1 ) Eredmény: 2012-02-29 Hozzáadás időbélyeghez. Példa: _add_months ( 2002-04-30 12:10:10.000 , 1 ) Eredmény: 2002-05-30 12:10:10.000 _add_years ( dátumkifejezés; egészszám-kifejezés ) "Egészszám-kifejezés" számú évet ad a "dátumkifejezés" értékéhez. Ha a "dátumkifejezés" értéke február 29., és az eredményül kapott év nem szökőév, akkor az eredményül kapott nap február 28. lesz. Minden más esetben a visszaadott értékben lévő hónap és nap azonos lesz a "dátumkifejezés" értékével. Példa: _add_years ( 2012-04-15 , 1 ) Eredmény: 2013-04-15 A február 29-ét hozzáigazítja a függvény a nem szökőévekhez. Példa: _add_years ( 2012-02-29 , 1 ) Eredmény: 2013-02-28 Hozzáadás időbélyeghez. Példa: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Eredmény: 2003.04.30. 12:10:10.000 _age ( dátumkifejezés ) A "dátumkifejezés" értékének az aktuális nap dátumértékből való kivonásával kapott számot adja vissza. A visszaadott érték ÉÉÉÉHHNN formátumú, ahol ÉÉÉÉ az év, HH a hónap, míg NN a nap számát jelöli. Példa: _age ( 1990-04-30 ) (ha a mai dátum 2003-02-05) Eredmény: 120906, vagyis 12 év, 9 hónap és 6 nap. _date_to_int ( dátumkifejezés ) A "dátumkifejezés" egész szám ábrázolását adja vissza. A visszaadott érték ÉÉÉÉHHNN formátumú, ahol ÉÉÉÉ az év, HH a hónap, míg NN a nap számát jelöli. Példa: _date_to_int ( 2003-01-01 ) Eredmény: 20030101 _day_of_week ( dátumkifejezés; egész_szám ) A hét napját adja vissza (1 és 7 között), ahol az 1 a hét első napja; a hét napját a második paraméter jelzi (értéke 1 és 7 között lehet, az 1 hétfőnek, a 7 pedig vasárnapnak felel meg). Az ISO 8601 szabvány szerint a hét hétfővel kezdődik, és az az 1. nap. Példa: _day_of_week ( 2003-01-01 ; 1 ) Eredmény: 3 _day_of_year ( dátumkifejezés ) A "dátumkifejezés" paraméterben megadott év napját (1 és 366 között) adja vissza. Ez Julián-napként is ismert. Példa: _day_of_year ( 2003-03-01 ) Eredmény: 61 _days_between ( dátumkifejezés1 ; dátumkifejezés2 ) A "dátumkifejezés1" és a "dátumkifejezés2" közötti napok számának megfelelő pozitív vagy negatív számot adja vissza. Ha a dátumkifejezés1 < dátumkifejezés2, akkor az eredmény negatív szám lesz. Példa: _days_between ( 2002-06-21 , 2002-04-30 ) Eredmény: 52 Példa: _days_between ( 2002-04-30 ; 2002-06-21 ) Példa: -52 _days_to_end_of_month ( dátumkifejezés ) A hónapból a "dátumkifejezés" által meghatározott hátralévő napok számát adja vissza. Példa: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Eredmény: 10 _first_of_month ( dátumkifejezés ) Az argumentumtól függően úgy ad vissza dátumot vagy időpontot, hogy a "dátumkifejezés" értékét átalakítja: az év és a hónap azonos marad, a napot azonban 1-re állítja. Példa: _first_of_month ( 2002-04-20 ) Eredmény: 2002.04.01. Példa: _first_of_month ( 2002-04-20 12:10:10.000 ) Eredmény: 2002.04.01. 12:10:10.000 _last_of_month ( dátumkifejezés ) Az argumentumtól függően a "dátumkifejezés" szerinti hónap utolsó napjának megfelelő dátumot vagy időpont értékét adja vissza. Példa: _last_of_month ( 2002-01-14 ) Eredmény: 2002.01.31. Példa: _last_of_month ( 2002-01-14 12:10:10.000 ) Eredmény: 2002.01.31. 12:10:10.000 _make_timestamp ( egészszám-kifejezés1; egészszám-kifejezés2; egészszám-kifejezés3 ) Az "egészszám-kifejezés1" (év), az "egészszám-kifejezés2" (hónap) és az "egészszám-kifejezés3" (nap) paraméterből képzett időbélyegzőt adja vissza. Az időrész értéke 00:00:00.000 lesz. Példa: _make_timestamp ( 2002 ; 01 ; 14 ) Eredmény: 2002.01.14. 00:00:00.000 _months_between ( dátumkifejezés1; dátumkifejezés2 ) A "dátumkifejezés1" és a "dátumkifejezés2" közötti hónapok számának megfelelő pozitív vagy negatív egész számot adja vissza. Ha a "dátumkifejezés1" korábbi, mint a "dátumkifejezés2", akkor az eredmény negatív szám. Példa: _months_between ( 2002-04-03 ; 2002-01-30 ) Eredmény: 2 Példa: _months_between ( 2002-01-30 , 2002-04-03 ) Eredmény: -2 _shift_timezone ( időbélyegérték , kiinduló_időzóna , cél_időzóna ) _shift_timezone ( időbélyeg_időzónaértékkel , cél_időzóna ) Eltolja egy időbélyeg értékét az egyik időzónából egy másik időzónába. A függvény a nyári időszámítást részesíti előnyben, amikor alkalmazható. Ha az első argumentum "időbélyeg" típusú, akkor a második és a harmadik argumentum a "kiinduló" és a "cél" időzónákat jelenti. Ha az első argumentum "időbélyeg időzónával" típusú, akkor a "kiinduló" időzóna már bele van foglalva az első argumentumba, ezért a második argumentum jelenti a "cél" időzónát. Az első argumentum adattípusa a visszaadott érték adattípusát is meghatározza. A második és harmadik argumentumok "karakterlánc" típusúak és időzóna-azonosítókat képviselnek. Ezen azonosítók listája lentebb található. Megjegyzés: a függvény használata helyi feldolgozást eredményez. Például: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) Eredmény: 2013-06-30 16:00:00 Például: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) Eredmény: 2013-11-30 09:00:00-08:00 Időzóna-azonosítók: 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 Testreszabott időzóna azonosító is használható a következő formátumban: GMT(+|-)HH:MM. Például, GMT-06:30 vagy GMT+02:00. _week_of_year ( dátumkifejezés ) A "dátumkifejezés" szerinti év hetének ISO 8601 szabvány szerinti számát adja vissza. Az év 1. hete az első, csütörtököt is tartalmazó hét, ez a január 4-ét tartalmazó hétnek felel meg. A hét hétfőn (1. nap) kezdődik, és vasárnap (7. nap) végződik. példa: _week_of_year ( 2003-01-01 ) Eredmény: 1 _years_between ( dátumkifejezés1; dátumkifejezés2 ) A "dátumkifejezés1" és a "dátumkifejezés2" közötti évek számának megfelelő pozitív vagy negatív egész számot adja vissza. Ha a "dátumkifejezés1" < "dátumkifejezés2", akkor a visszaadott érték negatív. Példa: _years_between ( 2003-01-30 ; 2001-04-03 ) Eredmény: 1 Példa: _years_between ( 2001-04-03 , 2003-01-30 ) Eredmény: -1 _ymdint_between ( dátumkifejezés1 ; dátumkifejezés2 ) A "dátumkifejezés1" és a "dátumkifejezés2" közötti különbségnek megfelelő számot adja vissza. A visszaadott érték ÉÉÉÉHHNN formátumú, ahol ÉÉÉÉ az év, HH a hónap, míg NN a nap számát jelöli. Példa: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Eredmény: 120905, ami 12 évet, 9 hónapot és 5 napot jelent. _year ( dátumkifejezés ) A „dátumkifejezés” év mezőjének értékét adja vissza. Példa: _year ( 2003-03-01 ) Eredmény: 2003 _month ( dátumkifejezés ) A „dátumkifejezés” hónap mezőjének értékét adja vissza. Példa: _month ( 2003-03-01 ) Eredmény: 3 _day ( dátumkifejezés ) A „dátumkifejezés” nap mezőjének értékét adja vissza. Példa: _day ( 2003-03-01 ) Eredmény: 1 _hour ( dátumkifejezés ) A „dátumkifejezés” óra mezőjének értékét adja vissza. Példa: _hour ( 2002-01-31 12:10:10.254 ) Eredmény: 12 _minute ( dátumkifejezés ) A „dátumkifejezés” perc mezőjének értékét adja vissza. Példa: _minute ( 2002-01-31 12:10:10.254 ) Eredmény: 10 _second ( dátumkifejezés ) A „dátumkifejezés” másodperc mezőjének értékét adja vissza. Példa: _second ( 2002-01-31 12:10:10.254 ) Eredmény: 10.254 _timezone_hour ( időpecsét_időzóna_értékkel ) _timezone_hour ( időpont_időzóna_értékkel ) A kifejezés időzónaóra mezőjének értékét adja vissza. A kifejezésnek "időpecsét időzónával" vagy "időpont időzónával" típusúnak kell lennie. Példa: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Eredmény: -5 _timezone_minute ( időpecsét_időzóna_értékkel ) _timezone_minute ( időpont_időzóna_értékkel ) A kifejezés időzónaperc mezőjének értékét adja vissza. A kifejezésnek "időpecsét időzónával" vagy "időpont időzónával" típusúnak kell lennie. Példa: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Eredmény: -30 _start_of_day ([ date_expression ]) A "date_expression" vagy az adott nap kezdetét adja vissza időbélyegként. Például: _start_of_day ( 2014-11-23 12:10:10.254 ) Eredmény: 2014-11-23 00:00:00 Például: _start_of_day () Eredmény: 2016-01-01 00:00:00 _end_of_day ([ date_expression ]) A "date_expression" vagy az adott nap végét adja vissza időbélyegként. Például: _end_of_day ( 2014-11-23 12:10:10.254 ) Eredmény: 2014-11-23 23:59:59 Például: _end_of_day () Eredmény: 2016-01-01 23:59:59 _unix_időbélyeg ( dátumkifejezés ) Az adott "dátumkifejezés" értékhez adja vissza az 1970-01-01 00:00:00-00 óta eltelt másodpercek számát. Például: _unix_időbélyeg ( 2014-11-23 ) Eredmény: 1416718800 _from_unixtime ( egész_szám-kifejezés ) Az "egész_szám-kifejezés" által meghatározott unix időt adja vissza időbélyegként időzónával. Például: _from_unixtime (1417807335) Eredmény: 2014-12-05 19:22:15+00:00
Makrófüggvények Ez a lista a makróknál használható függvényeket tartalmazza. A makrók egy vagy több makrófüggvényt tartalmazhatnak. A makrók kettős kereszt (#) közé vannak zárva. A kettős keresztek között minden kifejezés futásidőben végrehajtandó makrókifejezésnek számít. Az argumentumként "időbélyegző időzónával" típusú adatkifejezéseket fogadó makrófüggvényeknél az elfogadott formátum "éééé-hh-nn óó:pp:mm[.tt]+óó:pp", ahol a másodpercek tört része (tt) opcionális, és 1-9 közötti számjegyekkel adható meg. A dátumrészt az időrésztől elválasztó szóköz helyett a "T" karakter is használható. Az időzóna "+óó:pp" helyett pedig a "Z" karakter is megadható, amelyet a program "+00:00" értékként dolgoz fel. Az "időbélyegző időzónával" adattípusú kifejezéseket visszaadó makrófüggvények alapértelmezés szerint 9 számjeggyel adják vissza a másodpercek tört részét. Szükség esetén a timestampMask() makrófüggvénnyel vágható le a kimenet felesleges része. Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú másodpercnek a „karakterlánc-kifejezés” értékhez történő hozzáadásával jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. _add_seconds ( karakterlánc-kifejezés , egészszám-kifejezés ) Példa: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' , -1 ) # Eredmény: 2005-11-01 11:59:59.000-05:00 Példa: # _add_seconds ( $current_timestamp , 1 ) # Eredmény: 2005-11-01 12:00:01.000000000-05:00 Példa: # timestampMask ( _add_seconds ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # Eredmény: 12:00:01 Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú percnek a „karakterlánc-kifejezés” értékhez való hozzáadásával jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. _add_minutes ( karakterlánc-kifejezés , egészszám-kifejezés ) Példa: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' , -1 ) # Eredmény: 2005-11-01 11:59:00.000-05:00 Példa: # _add_minutes ( $current_timestamp , 1 ) # Eredmény: 2005-11-01 12:01:00.000000000-05:00 Példa: # timestampMask ( _add_minutes ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # Eredmény: 12:01:00 Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú órának a „karakterlánc-kifejezés” értékhez való hozzáadásával jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. _add_hours ( karakterlánc-kifejezés , egészszám-kifejezés ) Példa: # _add_hours ( '2005-11-01 12:00:00.000-05:00' , -1 ) # Eredmény: 2005-11-01 13:00:00.000-05:00 Példa: # _add_hours ( $current_timestamp , 1 ) # Eredmény: 2005-11-01 13:00:00.000000000-05:00 Példa: # timestampMask ( _add_hours ( $current_timestamp , 1 ) , 'hh:mm:ss' ) # Eredmény: 13:00:00 Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú napnak a „karakterlánc-kifejezés” értékhez történő hozzáadásával jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. Ha az első argumentum éééé-hh-nn karaktersorozat formátumban megadott dátum, akkor a visszaadott érték dátumként formázott karaktersorozat. _add_days ( karakterlánc-kifejezés ; egészszám-kifejezés ) Példa: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Eredmény: 2005.10.31. 12:00:00.000000000-05:00 Példa: # _add_days ( $current_timestamp ; 1 ) # Eredmény: 2005.11.02. 12:00:00.000000000-05:00 Példa: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'éééé-hh-nn' ) # Eredmény: 2005.11.02. Példa: # _add_days( '2019-11-14' , 3 ) # Eredmény: 2019-11-17 Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú hónapot a „karakterlánc-kifejezés” értékhez hozzáadva jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. Ha az első argumentum éééé-hh-nn karaktersorozat formátumban megadott dátum, akkor a visszaadott érték dátumként formázott karaktersorozat. _add_months ( karakterlánc-kifejezés ; egészszám-kifejezés ) Példa: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Eredmény: 2005.10.01. 12:00:00.000000000-05:00 Példa: # _add_months ( $current_timestamp ; 1 ) # Eredmény: 2005.12.01. 12:00:00.000000000-05:00 Példa: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'éééé-hh-nn' ) # Eredmény: 2005.12.01. Példa: # _add_months( '2019-11-14' , -1 ) # Eredmény: 2019-10-14 Olyan időzónás időbélyegzőt ad vissza (karakterláncként), amely az „egészszám-kifejezés” számú évet a „karakterlánc-kifejezés” értékhez hozzáadva jön létre, ahol a „karakterlánc-kifejezés” időzónás időbélyegzőt jelöl. Ha az első argumentum éééé-hh-nn karaktersorozat formátumban megadott dátum, akkor a visszaadott érték dátumként formázott karaktersorozat. _add_years ( karakterlánc-kifejezés ; egészszám-kifejezés ) Példa: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Eredmény: 2004.11.01. 12:00:00.000000000-05:00 Példa: # _add_years ( $current_timestamp ; 1 ) # Eredmény: 2006-11-01 12:00:00.000000000-05:00 Példa: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'éééé-hh-nn' ) # Eredmény: 2006.11.01. Példa: # _add_years( '2019-11-14' , -2 ) # Eredmény: 2017-11-14 _first_of_month ( karakterlánc-kifejezés ) Időzónás időbélyegzőt ad vissza (karakterláncként) úgy, hogy a "karakterlánc-kifejezés" napját 1-re konvertálja; a "karakterlánc-kifejezés" időzónás időbélyegzőt jelöl. Példa: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Eredmény: 2005-11-01 12:00:00.000000000-05:00 Példa: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'ééééhhnn' ) # Eredmény: 20051101 _last_of_month ( karakterlánc-kifejezés ) A "karakterlánc-kifejezés" hónap utolsó napjának megfelelő időbélyegzőt és időzónát adja vissza (karakterláncként), ahol a "karakterlánc-kifejezés" időzónával rendelkező időbélyegzőt jelöl. Példa: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Eredmény: 2005.11.30. 12:00:00.000000000-05:00 Példa: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'éééé-hh-nn' ) # Eredmény: 2005-11-30 modelj ( 'identifier' [ , 'model_search_path' [ , 'options' ] ] ) A metaadatmodell egy részét adja vissza json formátumban. Ha a 'model_search_path' nincs megadva, akkor az aktuális modell kerül alkalmazásra. Az 'options' argumentum beállítható 'cleanup' értékre, ami az eredmény egyes részeit rögzített értékre módosítja (tesztelés esetén hasznos). sq ( modelj ( '[gosales].[country].[country]' ) Szögletes zárójelet tesz a "karakterlánc-kifejezés" köré. sb ( karakterlánc-kifejezés ) Példa: # sb ( 'abc' ) # Eredmény: [abc] Aposztrófot tesz a "karakterlánc-kifejezés" köré. sq ( karakterlánc-kifejezés ) Példa: # sq ( 'nulla' ) # Eredmény: 'nulla' Idézőjelet tesz a "karakterlánc-kifejezés" köré. dq ( karakterlánc-kifejezés ) Példa: # dq ( 'nulla' ) # Eredmény: "nulla" Az aktuális hitelesített felhasználó azonosítási adatai alapján kikeresi az értékeket a megadott paraméterleképezésből. A felhasználó azonosságának minden egyes eleme (fióknév, csoportnevek, szerepnevek) kulcsként szolgál a leképezéshez. A paraméterleképezésből kinyert egyedi értéklistát olyan karakterláncként adja vissza, amelyben minden érték aposztrófok közé van zárva, a többszörös értékek pedig vesszővel vannak elválasztva. CSVIdentityName ( %parameter_map_name [ ; elválasztó_karakterlánc ] ) Példa: # CSVIdentityName ( %security_clearance_level_map ) # Eredmény: '500-as szint' , '501-es szint' , '700-as szint' A felhasználó azonosságának összetevőelemeit (fióknév, csoportnevek, szerepnevek) adja vissza karakterláncként. Az egyedi értéklistát adja vissza olyan karakterláncként, amelyben minden érték aposztrófok közé van zárva, a többszörös értékek pedig vesszővel vannak elválasztva. CSVIdentityNameList ( [ elválasztó_karakterlánc ] ) Példa: # CSVIdentityNameList ( ) # Eredmény: 'Mindenki' , 'Jelentésadminisztrátorok' , 'Lekérdezésfelhasználó' A Cognos® Access Manager igazolványt adja vissza. CAMPassport ( ) Példa: # CAMPassport ( ) # Eredmény: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 A felhasználó Cognos® Access Manager azonosítójának (CAMID) részeit (fióknév, csoportnevek, szerepnevek) adja vissza vesszővel elválasztott értéklistaként. CAMIDList ( [ elválasztó_karakterlánc ] ) Példa: #CAMIDList ( ) # Eredmény: CAMID ( "::Mindenki" ) , CAMID ( ":Jelentéskészítők" ) , CAMID ( ":Lekérdezésfelhasználók" ) , CAMID ( ":Végfelhasználók" ) , CAMID ( ":Metrikakészítők" ) A felhasználó Cognos® Access Manager azonosítójából (CAMID) az azonosságtípus (fiók, csoport vagy szerep) alapján képzett tömböt adja vissza. A CAMIDListForType a "csv" és a "join" makrófüggvénnyel használható. CAMIDListForType ( azonosítótípus ) Példa: [qs].[felhasználószerep] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Eredmény: [qs].[felhasználószerep] in ( 'CAMID ( "::Rendszeradminisztrátorok" ) ' ; 'CAMID ( ":Jelentéskészítők" )' ) Két karakterláncot fűz össze. érték1 + érték2 Példa: # '{ ' + $runLocale + ' }' # Eredmény: {en-us} Eltávolítja az első argumentum kezdő karaktereit A választható második argumentum határozza meg az eltávolítandó karakterek halmazát. Alapértelmezés szerint ez a funkció eltávolítja az üres helyeket (azaz a szóközöket, behúzásokat, soremeléseket és új sorokat). lstrip ( karakterlánc-kifejezés [ ; karakterkészlet ] ) Példa: # sq( lstrip ( ' abc ' ) ) # Eredmény: 'abc ' Példa: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Eredmény: 53.2100 A "parameterName" paraméterértékét adja vissza, ha az meg van határozva. A "defaultText" érték kerül visszaadásra, ha a "parameterName" nem létezik. Ha a "datatype" beállítása "string", akkor az eredmény értéke egyedülálló idézőjelek közé kerül. Ennek a függvénynek a használata nem okoz hiányzó paraméter kivételt. ParamValue ( parameterName [ , defaultText [, datatype ] ] ) Példa: # ParamValue ( 'p_country' ) # Eredmény: 'Canada' - a p_country be van állítva Eredmény: null - a p_country nem ismert paraméter Eredmény: null - a p_country nem kötelező adatbevitelben kerül felhasználásra és nincs beállítva Példa: # ParamValue ( 'p_country' , 'Netherlands' ) # Eredmény: 'Canada' - a p_country be van állítva Eredmény: 'Netherlands' - a p_country nem ismert paraméter Eredmény: 'Netherlands' - a p_country nem kötelező adatbevitelben kerül felhasználásra és nincs beállítva Példa: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Eredmény: 'Canada' - a p_country be van állítva Eredmény: cast ( null as varchar(20)) - a p_country nem ismert paraméter Eredmény: cast ( null as varchar(20)) - a p_country nem kötelező adatbevitelben kerül felhasználásra és nincs beállítva Egy érték vagy tag megadását kéri a felhasználótól. Csak az "adatkérésnév" kötelező. Ha nincs megadva adattípus, a 'string' (karakterlánc) az alapértelmezett típus. Ha az "alapértelmezett_szöveg" meg van adva, az adatkérés opcionális. Ha a "szöveg" meg van adva, az megelőzi az értéket. A "lekérdezéselem" megadásával felhasználhatók a "lekérdezéselem" adatkérés-tulajdonságai. Ha a "záró_szöveg" meg van adva, az hozzá lesz fűzve az értékhez. Ha az adattípus 'memberuniquename' (egyedi tagnév), egyetlen tagkiválasztás-kérést hoz létre a program. Jó megoldás valamilyen alapértelmezett nevet megadni 3. argumentumként. Az alapértelmezett értéknek érvényes egyedi tagnévnek kell lennie. Ez lehet egyedi tagnévre hivatkozó álnév is, ahogy a Report Studio programban. prompt ( adatkérés_neve ; adattípus ; alapértelmezett_szöveg ; szöveg ; lekérdezéselem ; zárószöveg ) Példa: select . . . where ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD > #prompt ( 'kezdő_országkód' ; 'integer' ; '10' ) # Eredmény: select . . . where ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD > 10 Példa: [gosales].[ORSZÁG].[ORSZÁG] = # prompt ( 'ország_adatkérés' ; 'string' ; '''Kanada''' ) # Eredmény: [gosales].[ORSZÁG].[ORSZÁG] = 'Kanada' Példa: set ( #prompt ('myProduct', 'memberuniquename', '[Táborozási felszerelés]', '', '[Értékesítés].[Termék].[Termék].[Termékcsoport]')#) Eredmény: set([Értékesítés].[Termék].[Termék].[Termékcsoport]->[mind].[1]) Az "alapértelmezett_szöveg" paramétert úgy kell megadni, hogy az szó szerint érvényes legyen a makró kontextusában, mert a rendszer nem formázza ezt az értéket. A 2. példában szereplő '''Kanada''' alapértelmezett karakterlánc olyan, aposztrófot használó karakterláncként van megadva, amelyben a beágyazott aposztrófok meg vannak duplázva, ezért van hármas aposztrófok közé zárva. Ennek eredménye olyan karakterlánc, amely egy-egy aposztróf között, helyesen fog megjelenni a kifejezésben. Általános szabályként a karakterlánc adattípusánál az "alapértelmezett_szöveg" paramétert - a tárolt eljárás paraméterének kivételével - mindig így kell megadni. A "date" és a "datetime" típusú "alapértelmezett_szöveg" esetén SQL-kontextusban speciális formázást kell használni. Ilyen formázás lehet például a 'DATE ''2001-12-25''' és a 'DATETIME ''2001-12-25 12:00:00'''. Minden más kontextusban a kulcsszó és az escape-karakter nélküli aposztrófokkal kell megadni a "date" és a "datetime" értékét (például: '2001-12-25'). Egy vagy több érték vagy tag megadását kéri a felhasználótól. Csak az "adatkérésnév" kötelező. Ha nincs megadva adattípus, a 'string' (karakterlánc) az alapértelmezett típus. Ha az "alapértelmezett_szöveg" meg van adva, az adatkérés opcionális. A "szöveg" megadása esetén az megelőzi az értéklistát. A "lekérdezéselem" megadásával felhasználhatók a "lekérdezéselem" adatkérés-tulajdonságai. Ha a "záró szöveg" meg van adva, az hozzá lesz fűzve az értéklistához. Ha az adattípus 'memberuniquename' (egyedi tagnév), több tagkiválasztás-kérést hoz létre a program. Jó megoldás valamilyen alapértelmezett nevet megadni 3. argumentumként. Az alapértelmezett értéknek érvényes egyedi tagnévnek kell lennie. Ez lehet egyedi tagnévre hivatkozó álnév is, ahogy a Report Studio programban. promptmany ( adatkérés_neve ; adattípus ; alapértelmezett_szöveg ; szöveg ; lekérdezéselem ; zárószöveg ) Példa: select . . . where ORSZÁG_TÖBBNYELVŰ.ORSZÁG in ( # promptmany ( 'országnév' ) # ) Eredmény: select . . . where ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD in ( 'Kanada' ; 'Hollandia' ; 'Oroszország' ) Példa: select . . . from gosales.gosales.dbo.ORSZÁG_TÖBBNYELVŰ.ORSZÁG_TÖBBNYELVŰ ; gosales.gosales.dbo.ORSZÁG XX where ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD = XX.ORSZÁGKÓD # promptmany ( 'Kiválasztott országkódok' ; 'integer' ; ' ' ; ' and ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD in ( ' ; '' ; ' ) ' ) # Eredmény: select . . . from gosales.gosales.dbo.ORSZÁG_TÖBBNYELVŰ.ORSZÁG_TÖBBNYELVŰ ; gosales.gosales.dbo.ORSZÁG XX where ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD = XX.ORSZÁGKÓD and ORSZÁG_TÖBBNYELVŰ.ORSZÁGKÓD in ( 'Kanada' ; 'Hollandia' ; 'Oroszország' ) Példa: set ( #promptmany ('myProduct', 'memberuniquename', '[Táborozási felszerelés]', '', '[Értékesítés].[Termék].[Termék].[Termékcsoport]')#) Eredmény: set([Értékesítés].[Termék].[Termék].[Termékcsoport]->[mind].[1]; [Értékesítés].[Termék].[Termék].[Termékcsoport]->[mind].[2]) Lekérdezés futtatása egyetlen oszlopra és (csak) az első sorban található érték visszaadása. Az eredmény nincs formázva, szükség estén tegye a hívást sq ( ) közé. queryValue ( value_expression [ , filter_expression ] ) Példa: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Eredmény: 'Wednesday' Tömböt alkot a paraméterek listájából. array ( karakterlánc-kifejezés|tömbkifejezés { ; karakterlánc-kifejezés|tömbkifejezés } ) Példa: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Eredmény: 'a1' , 'x1' , 'x2' , 'a2' A tömb elemeiből karakterláncot képez, amelyben az értékek vesszővel vannak elválasztva. Elválasztó és idézőjel karakterláncok is megadhatók. Az alapértelmezett elválasztójel a vessző ( , ) és az alapértelmezett idézőjel-karakter az aposztróf (egyszeres idézőjel,  ' ). csv ( tömbkifejezés [ ; elválasztó_karakterlánc [ ; idézőjel-karakterlánc ] ] ) Például: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Eredmény: 'a1', 'a2' Bejegyzést olvas be az IBM® Cognos konfigurációs fájljából. A force_decode_flag opcionális, és a következő értékek valamelyikét veheti fel: "true", "1", 1, "false", "0", 0. A paraméter alapértelmezés szerint hamisra van állítva. Kivételes esetekben a force_decode_flag elemnek true értékűnek kell lennie. Amikor a force_decode_flag true értékű, az IBM® Cognos® konfiguráció a részletes tulajdonságok segítségével konfigurált bejegyzései esetében a rendszer a konfigurációs bejegyzés egyszerű szöveges értékét adja vissza. A részletes tulajdonságokban nem azonosított bejegyzések esetén a rendszer üres karakterláncot ad vissza, függetlenül attól, hogy a titkosított információk jelen vannak-e. A részletes tulajdonságokban lévő bejegyzés a qs.getConfigurationEntry.1 és nevek pontosvesszővel tagolt listája. Alapértelmezés szerint a nevek ezen listája üres, és a true értékű jelző mellett ezen függvénynek küldött hívások üres karakterláncot adnak vissza. getConfigurationEntry ( bejegyzés-karakterlánc ; kényszerítettdekódolás-jelölő ) Példa: # getConfigurationEntry ( 'serverLocale'  ) # Eredmény: en Egy erőforrásfáljból ad vissza egy bejegyzést. Az első argumentum az erőforrásfájlban található erőforrás azonosítója. Az elhagyható második argumentum az erőforrásfájl neve a területi beállítás utótag nélkül (például 'mfwa4j', 'mfwa4j_en.properties' üzenetfájl esetén). Az alapértelmezett erőforrásfájl az 'xqejavamsgs'. Az elhagyható harmadik argumentum a területi beállítás, ami alapértelmezésben 'en'. getResourceString ( erőforrás_azon_karakterlánc [, erőforrásfájl_karakterlánc [ , területi_beáll_karakterlánc ] ] ) Példa: # getResourceString ( 'XQE_BIN_binLow' ) # Eredmény: XQE-BIN-0001 kisebb, mint %1 Példa: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Eredmény: MFW-UT-1002 Belső hiba lépett fel. Forduljon a rendszeradminisztrátorhoz. A tömb azon elemeit adja vissza, amelyek a "minta-karakterlánc" paraméterben megadott mintával megegyeznek. Csak a következő metakarakterek támogatottak: ^ (szókezdet), $ (szóvégződés), ! (tagadás - csak első karakterként támogatott). grep ( mintakarakterlánc ; tömbkifejezés ) Példa: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Eredmény: 'as', 'arts' Példa: # sq ( csv ( grep ( '^g' , array ( 'csoport', 'golf' ) ) ) ) # Eredmény: 'csoport', 'golf' Példa: # sq ( csv ( grep ( 's$' , array ( 'narancsok', 'mangók' ) ) ) ) # Eredmény: 'narancsok', 'mangók' Példa: # sq ( csv ( grep ( '!o' , array ( 'narancsok', 'almák' ) ) ) ) # Eredmény: 'almák' Eltolás megkeresése a 'str' karakterláncban, ahol 'substr' található. -1 érték kerül visszaadásra, ha nem található 'substr'. Opcionális 'eltolást' is megadhat, amelynél a keresés kezdődhet. Az első 'str' argumentum lehet array_expression, ebben az esetben a függvény a tömb minden elemén alkalmazásra kerül, és a függvény eredménye egy értéktömb. index ( str , substr [ , offset ] ) # index ( 'The black horse jumped over the black sheep.', 'black' ) # Eredmény: 4 # index ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Eredmény: 32 # index ( 'The black horse jumped over the black sheep.', 'green' ) # Eredmény: -1 # sq ( join ( ' | ', index ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Eredmény: -1 | 1 | 2 Az "elválasztó_karakterlánc" segítségével összekapcsolja a tömb elemeit. join ( elválasztó_karakterlánc ; tömbkifejezés ) Példa: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Result: 'as | | an | | arts' A "karakterlánc-kifejezés" karaktereinek számát számítja ki. Ha az argumentum egy array_expression, akkor az eredmény egy értéktömb lesz, ahol az egyes bejegyzések az egyes tömbkifejezés-elemek karaktereinek számát jelentik. length ( karakterlánc_kifejezés | tömb_kifejezés ) length ( 'abcdef' ) Eredmény: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Eredmény: 6--3 Legutolsó eltolás megkeresése a 'str' karakterláncban, ahol 'substr' található. Ezt a függvényt fordított indexnek hívják, úgy láthatja, ahogy a karakterlánc végétől végzi a vizsgálatot. -1 érték kerül visszaadásra, ha nem található 'substr'. Opcionális 'eltolást' is megadhat, amelynél a keresés végződhet. Az első 'str' argumentum lehet array_expression, ebben az esetben a függvény a tömb minden elemén alkalmazásra kerül, és a függvény eredménye egy értéktömb. rindex ( str , substr [ , offset ] ) # rindex ( 'The black horse jumped over the black sheep.', 'black' ) # Eredmény: 32 # rindex ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Eredmény: 4 # rindex ( 'The black horse jumped over the black sheep.', 'green' ) # Eredmény: -1 # sq ( join ( ' | ', rindex ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Eredmény: -1 | 1 | 3 Eltávolítja a záró karaktereket az első argumentumból. A választható második argumentum határozza meg az eltávolítandó karakterek halmazát. Alapértelmezés szerint ez a funkció eltávolítja az üres helyeket (azaz a szóközöket, behúzásokat, soremeléseket és új sorokat). rstrip ( karakterlánc-kifejezés [ ; karakterkészlet ] ) Példa: # sq( rstrip ( ' abc ' ) ) # Eredmény: ' abc' Példa: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Eredmény: 0053.21 Betűrendbe rendezi a tömb elemeit. Az ismétlődéseket megtartja. sort ( tömbkifejezés ) Példa: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Eredmény: 'a', 's3', 'x' Külön elemekre osztja a karakterláncot vagy a tömb karakterlánc-elemeit. split ( mintakarakterlánc; karakterlánc-kifejezés|tömbkifejezés ) Például: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Eredmény: 'ab=c', 'de=f', 'gh=i' Például: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Eredmény: 'ab', 'c', 'de', 'f', 'gh', 'i' Eltávolítja a záró és a sorvégi karaktereket az első argumentumból. A választható második argumentum határozza meg az eltávolítandó karakterek halmazát. Alapértelmezés szerint ez a funkció eltávolítja az üres helyeket (azaz a szóközöket, behúzásokat, soremeléseket és új sorokat). strip ( karakterlánc-kifejezés [ ; karakterkészlet ] ) Példa: # sq( strip ( ' abc ' ) ) # Eredmény: 'abc' Példa: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Eredmény: 53.21 Megkeresi a karakterláncban vagy a tömb karakterlánc-elemeiben a "minta-karakterlánc" első előfordulását, és a "csere-karakterláncra" cseréli azt. Csak a következő metakarakterek támogatottak: ^ (szókezdet), $ (szóvégződés) substitute ( mintakarakterlánc; cserekarakterlánc; karakterlánc-kifejezés|tömbkifejezés ) Példa: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Eredmény: '***súgó' Példa: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Eredmény: '***súgó', 'acn=5' Példa: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Eredmény: 'súgó', 'a5' Példa: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Eredmény: 'cn=***' Kibontja a 'karakterlánc_kifejezés' egy részét a 'start_offset' ponttól kezdődően. Megadhatja a kibontandó karakterek számát: 'length'. Ha nincs megadva 'length', akkor a 'karakterlánc_kifejezés' a végéig visszaadásra kerül. Az első argumentum lehet tömbkifejezés is, ebben az esetben a függvény a tömb minden elemén alkalmazásra kerül, és a függvény eredménye egy karakterlánc tömb. substr ( karakterlánc_kifejezés , eltolás_kezdete [ , hossz ] ) substr ( 'The horse is black.', 0, 3 ) Eredmény: The substr ( 'The horse is black.', 4 ) Eredmény: horse is black. substr ( 'The horse is black', index ('The horse is black.' , 'green' ) ) Eredmény: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) Eredmény: ac | d | en substr ('over the moon', -2, 4) Az eredmény hibás: A 'substr' függvény második argumentumának nagyobbnak vagy egyenlőnek kell lennie, mint -1.' . Az időzónás időbélyegzőt jelölő "karakterlánc_kifejezés1" értékét adja vissza a "karakterlánc_kifejezés2" paraméterben meghatározott formátumra igazítva. A "karakterlánc_kifejezés2" formátuma a következők egyike lehet: 'éééé', 'hh', 'nn', 'éééé-hh', 'ééééhh', 'éééé-hh-nn', 'ééééhhnn', 'éééé-hh-nn óó:pp:mm', 'éééé-hh-nn óó:pp:mm+óó:pp', 'éééé-hh-nn óó:pp:mm.tt3', 'éééé-hh-nn óó:pp:mm.tt3+óó:pp', 'éééé-hh-nnTóó:pp:mm', 'éééé-hh-nnTóó:pp:mm+óó:pp', 'éééé-hh-nnTóó:pp:mm.tt3+óó:pp' és 'éééé-hh-nnTóó:pp:mm.tt3+óó:pp'. Az időzónával rendelkező időbélyegző karakterlánc-megfelelőjét visszaadó makrófüggvények alapértelmezés szerint 9 számjegy pontossággal jelzik a másodpercek törtrészét. A formátumbeállítások segítségével a törtrész 3 vagy 0 számjegy pontosságúra igazítható. timestampMask ( karakterlánc-kifejezés1 ; karakterlánc-kifejezés2 ) Example: # timestampMask ( $aktuális_időbélyegző ; 'éééé-hh-nn' ) # Eredmény: 2005-11-01 Példa: # timestampMask (  '2005-11-01 12:00:00.000-05:00' ; 'éééé-hh-nn óó:pp:mm+óó:pp' ) # Eredmény: 2005-11-01 12:00:00-05:00 Példa: # timestampMask (  '2005-11-01 12:00:00.123456789-05:00' ; 'éééé-hh-nnTóó:pp:mm+óó:pp.ff3+óó:pp' ) # Eredmény: 2005-11-01T12:00:00.123-05:00 A "karakterlánc_kifejezés" értékének az operációs rendszer időzónájához való igazításával kapott időzónás időbélyegzőt adja vissza. A kimenet szükség esetén a timestampMask() makrófüggvénnyel igazítható. toLocal ( karakterlánc-kifejezés ) Példa: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) # ahol az operációs rendszer helyi időzónája -05:00 Eredmény: 2005-11-01 12:00:00.000000000-05:00 Példa: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) ; 'éééé-hh-nn óó:pp:mm+óó:pp' ) # ahol az operációs rendszer helyi időzónája -05:00 Eredmény: 2005-11-01 12:00:00-05:00 Példa: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # ahol az operációs rendszer helyi időzónája -05:00 Eredmény: 2005-11-01 12:00:00.000000000-05:00 A "karakterlánc-kifejezés" karakterláncot adja vissza minden karaktert kisbetűsre konvertálva a "területi-beállítás-karakterlánc" területi beállítás szabályainak alkalmazásával. Ha nincs megadva a területi beállítás, akkor a rendszer az 'en' területi beállítást használja. tolower ( karakterlánc-kifejezés [ ; területi-beállítás-karakterlánc ] ) Példa: # tolower ( 'ABC' ) # Eredmény: abc Példa: # tolower ( 'ABC' ; 'fr' ) # Eredmény: abc A "karakterlánc-kifejezés" karakterláncot adja vissza minden karaktert nagybetűsre konvertálva a "területi-beállítás-karakterlánc" által meghatározott területi beállítás szabályainak alkalmazásával. Ha nincs megadva a "területi-beállítás-karakterlánc", akkor a rendszer az 'en' területi beállítást használja. toupper ( karakterlánc-kifejezés [ ; területi-beállítás-karakterlánc ] ) Példa: # toupper ( 'abc' ) # Eredmény: ABC Példa: # toupper ( 'abc' ; 'fr' ) # Eredmény: ABC A "karakterlánc_kifejezés" értékének az UTC hivatkozási időzónához (greenwichi középidőhöz) való igazításával kapott időzónás időbélyegzőt adja vissza. A kimenet szükség esetén a timestampMask() makrófüggvénnyel igazítható. toUTC ( karakterlánc-kifejezés ) Példa: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Eredmény: 2005-11-01 17:00:00.000000000-00:00 Példa: # timestampMask( toUTC ( '2005-11-01 12:00:00.000-05:00' ) ; 'éééé-pp-mm óó:pp:mm.ff3+óó:pp' ) # Eredmény: 2005-11-01 17:00:00.000-00:00 Példa: # toUTC ( $aktuális_időbélyegző ) # Eredmény: 2005-11-01 17:00:00.000000000-00:00 A tömb dupla bejegyzéseit távolítja el. Az elemek sorrendjét változatlanul hagyja. unique ( tömbkifejezés ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Eredmény: 's3', 'a', 'x' URL-kódolásúvá alakítja az átadott argumentumot. Ez a függvény az XML-kapcsolódási karakterláncok megadásakor hasznos. urlencode ( prompt ( 'felhasználói_érték' ) ) urlencode ( prompt ( 'valamilyen_érték' ) ) %27tesztérték%27 simple case A következő makrószerkezet egy egyszerű feltétel sablonja, amely a "case", "when", "then", "else" és "end" függvényeket tartalmazza. Ne feledje, hogy ezen makrószerkezet használata csak DQM módban támogatott. CASE <kifejezés> WHEN <literál> THEN <kifejezés> [ELSE <kifejezés>] END Példa: #CASE prompt('pDateRange','token') WHEN 'aktuális hét' THEN '[PR aktuális hét]' ELSE '[PR előző hét]' END# Eredmény: [PR aktuális hét]
Tömbfüggvények Ez a lista a halmazok tagjainak - elsősorban Analysis Studio alakalmazással kapcsolatos - elérésére szolgáló függvényeit tartalmazza. A halmaz első tagjait adja vissza a "maximális_számot_meghatározó_numerikus_kifejezés" és a "túlcsordulást_meghatározó_numerikus_kifejezés" maximális értékéig. A "maximális_számot_meghatározó_numerikus_kifejezés" és a "túlcsordulást_meghatározó_numerikus_kifejezés" értékének túllépése esetén csak a tagok maximális számát adja vissza. Olyan halmaz esetén, ahol alig van több tag, mint a "maximális_számot_meghatározó_numerikus_kifejezés", "túlcsordulást_meghatározó_numerikus_kifejezés" a további néhány tag befoglalását is engedélyezi. Ha a halmaz elemeinek száma nagyobb, mint amennyit a túlcsordulás engedélyez, a program csak a "maximális_számot_meghatározó_numerikus_kifejezés" tagjait adja vissza. _firstFromSet ( halmazkifejezés ; a_legnagyobb_számot_meghatározó_numerikus_kifejezés ; numerikus_kifejezés_túlcsordulása ) _firstFromSet ( [great_outdoors_company].[Termékek].[Termékek].[Termékcsoport] , 2 , 8 ) Eredmény: a Termékcsoport halmaz öt tagját adja vissza. Az első két tagot a maximális számként, a többi hármat pedig túlcsordulásként adja vissza. Táborozási felszerelés Golffelszerelés Hegymászó felszerelés Kültéri védőfelszerelés Személyes kiegészítők _firstFromSet ( [great_outdoors_company].[Termékek].[Termékek].[Termékcsoport] , 2 , 2 ) Eredmény: Táborozási felszerelés, Golffelszerelés A "tagkifejezés" kifejezést tartalmazó halmazt adja vissza, ha a "halmazkifejezés" nagyobb, mint a "numerikus_kifejezés"; azaz ha a "halmazkifejezés" tagjainak száma nagyobb, mint a megadott "numerikus_kifejezés", új tagot generál. _remainderSet ( tagkifejezés; halmazkifejezés ; numerikus_kifejezés ) _remainderSet ( member ( aggregate ( currentMeasure within set [great_outdoors_company].[Termékek].[Termékek].[Termékcsoport] ) , 'Termék összesítés' , 'Termék összesítés' , [great_outdoors_company].[Termékek].[Termékek] ) , [great_outdoors_company].[Termékek].[Termékek].[Termékcsoport] , 1 ) Eredmény: a Termékösszesítés eladott mennyisége