Ohjelmakohtaiset funktiot Vakiot Vakio on kiinteä arvo, jota voi käyttää lausekkeessa. Operaattorit Operaattorit määrittävät, mitä tapahtuu arvoille, jotka ovat operaattorin jommallakummalla puolella. Funktioiden tavoin operaattoritkin käsittelevät tietoalkioita ja palauttavat tuloksen. date Lisää järjestelmän nykyisen päivämäärän. date-time Lisää järjestelmän nykyisen päivämäärän ja ajan. aika ja aikavyöhyke Lisää nolla-ajan ja aikavyöhykkeen. aikaleima ja aikavyöhyke Lisää aikaleimaesimerkin ja aikavyöhykkeen. Lisää epätosi-arvon. interval Lisää nolliin välin: 000 00:00:00.000. välivuosi Lisää nollavuoteen välin: 0 vuotta. välikuukausi Lisää nollakuukauteen välin: 0 kuukautta. välivuosi kuukauteen Lisää nollavuoden kuukausiväliin: 0000-00 vuotta kuukauteen. välipäivä Lisää nollapäivään välin: 0 päivää. välitunti Lisää nollatuntiin välin: 0 tuntia. väliminuutti Lisää nollaminuuttiin välin: 0 minuuttia. välisekunti Lisää nollasekuntiin välin: 0 sekuntia. välipäivä tuntiin Lisää nollapäivän tuntiväliin: 0 00 päivää tuntiin. välipäivä minuuttiin Lisää nollapäivän minuuttiväliin: 0 00:00 päivää minuuttiin. välipäivä sekuntiin Lisää nollapäivän sekuntiväliin: 0 00:00:00.000000000 päivää sekuntiin. välitunti minuuttiin Lisää nollatunnin minuuttiväliin: 00:00 tuntia minuuttiin. välitunti sekuntiin Lisää nollatunnin sekuntiväliin: 00:00:00.000000000 tuntia sekuntiin. väliminuutti sekuntiin Lisää nollaminuutin sekuntiväliin: 00:00.000000000 minuuttia sekuntiin. Lisää tyhjäarvon, jos lausekkeen ehdot eivät täyty. number Lisää luvun 0, joka voidaan korvata toisella numeerisella arvolla. string Lisää tyhjän, kahdesta yksittäisestä lainausmerkistä koostuvan jonon, joiden väliin merkkijonon voi kirjoittaa. time Lisää järjestelmän nykyisen kellonajan. Lisää tosi-arvon.
Osoittaa lausekkeen alun. ( lauseke ) Osoittaa lausekkeen lopun. ( lauseke ) Kertoo kaksi numeraalista arvoa. arvo1 * arvo2 , Erottaa lausekkeen komponentit. lauseke ( parametri1; parametri2 ) Jakaa kaksi numeraalista arvoa. arvo1 / arvo2 Lyhentää tai liittää merkkijonoja. merkkijono1 || merkkijono2 Lisää kaksi numeerista arvoa. arvo1 + arvo2 Vähentää kaksi numeraalista arvoa tai näyttää numeraalisen arvon negatiivisena arvona. arvo1 - arvo2 tai - arvo Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka ovat pienempiä kuin arvo2. arvo1 < arvo2 Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka ovat pienempiä tai yhtä suuria kuin arvo2. arvo1 <= arvo2 Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka eivät ole yhtä suuria kuin arvo2. arvo1 <> arvo2 Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka ovat yhtä suuria kuin arvo2. arvo1 = arvo2 Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka ovat suurempia kuin arvo2. arvo1 > arvo2 Erottaa komponentit literaalissa jäsennimessä. [nimitila].ulottuvuus].[hierarkia].[taso]->[L1] Vertaa arvo1:n edustamia arvoja arvo2:een ja hakee arvot, jotka ovat suurempia tai yhtä suuria kuin arvo2. arvo1 >= arvo2 Palauttaa arvon tosi, jos lausekkeen molemmilla puolilla olevat ehdot ovat tosia. argumentti1 and argumentti2 Yhdessä yhdistämislausekkeiden kanssa määrittää alueen mukautettavaksi kyselyn ryhmittelysarakkeiden mukaan. Alue määräytyy kontekstin mukaan. yhdistämisfunktio ( lauseke AUTO ) Määrittää, onko arvo annetulla alueella. lauseke between arvo1 and arvo2 Esimerkki: [Tuotto] between 200 and 300 Tulos: Palauttaa sellaisten tulosten määrän, joissa tuotto on lukujen 200 ja 300 välillä. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Toimii yhdessä operaattoreiden when, then, else ja end kanssa. Case ilmoittaa kulloisenkin tilanteen alkukohdan, jossa when-, then- ja else-toiminto määritetään. case lauseke { when lauseke then lauseke } [ else lauseke ] end Määrittää, sisältyykö merkkijono2 merkkijono1:een. Tämä syntaksi tukee molempia metamerkkejä: prosentin merkki (%) edustaa nollaa tai yhtä merkkiä taiuseita merkkejä, ja alaviiva (_) edustaa mitä tahansa merkkiä. Valinnainen LITERAL-avainsana ilmaisee, miten "%" ja "_" tulkitaan. Kun LITERAL-avainsana on läsnä, merkkejä "%" ja "_" ei käsitellä metamerkkeinä (katso esimerkit 3 ja 5). Muussa tapauksessa, jos LITERAL-avainsanaa ei ole, "%" ja "_" käsitellään metamerkkeinä (katso esimerkit 1, 2 ja 4). merkkijono1 contains [LITERAL] merkkijono2 Esimerkki 1: [TUOTERYHMÄ] contains 'door' Tulos 1:Outdoor Equipment Esimerkki 2: [TUOTERYHMÄ contains 'Golf%' Tulos 2: Golf Equipment Esimerkki 3: [TUOTERYHMÄ] contains literal 'Golf%' Tulos 3: Golf% Esimerkki 4: [TUOTERYHMÄ] contains 'Current_Year%' Tulos 4: Current Year Price, Current Year Price%, Current_Year Price%. Esimerkki 5: [TUOTERYHMÄ] contains literal 'Current_Year%' Tulos 5: Current_Year%. Avainsana, jota voidaan käyttää ensimmäisenä argumenttina jäsenen summafunktioissa. Tämä funktio esiintyy Kokonaistuotto maittain -malliraportissa GO Data Warehouse (kysely) -paketissa. yhdistämisfunktio ( currentMeasure within set lauseke ) current_date Palauttaa tietokannan nykyisen päivämäärän. current_date Toimii lookup-hakurakenteessa. lookup (....) in (....) default (....) Yhdistämislausekkeessa käytetty avainsana, sisältää vain arvojen erilliset esiintymät. Katso myös yksilöllinen funktio. distinct tietoalkio Esimerkki: count ( distinct [OrderDetailQuantity] ) Tulos: 1704 Operaattori toimii yhdessä if- tai case-rakenteen kanssa. Jos if-ehto tai case-lauseke ei ole tosi, silloin käytetään else-lauseketta. Tämä funktio esiintyy Top 10 vähittäismyyjää 2005 -malliraportissa GO Data Warehouse (analyysi) -paketissa. if ( ehto ) then .... else ( lauseke ) , tai case .... else ( lauseke ) end Osoittaa case- tai when-rakenteen lopun. case .... end Määrittää, onko merkkijono1:n lopussa merkkijono2. Tämä syntaksi tukee molempia metamerkkejä: prosentin merkki (%) edustaa nollaa tai yhtä merkkiä tai useita merkkejä, ja alaviiva (_) edustaa mitä tahansa merkkiä. Valinnainen LITERAL-avainsana ilmaisee, miten '%' ja '_' tulkitaan. Kun LITERAL-avainsana on läsnä, merkkejä '%' ja '_' ei käsitellä metamerkkeinä (katso esimerkit 3 ja 5). Muussa tapauksessa, jos LITERAL-avainsanaa ei ole, '%' ja '_' käsitellään metamerkkeinä (katso esimerkit 1, 2 ja 4). merkkijono1 ends with [LITERAL] merkkijono2 Esimerkki 1: [TUOTERYHMÄ] ends with 'Equipment' Tulos 1: Camping Equipment, Golf Equipment Esimerkki 2: [TUOTERYHMÄ] ends with '%Equipment' Tulos 2: Golf Equipment, Camping Equipment Esimerkki 3: [TUOTERYHMÄ] ends with literal 'Equipment%' Tulos 3: Equipment% Esimerkki 4: [TUOTERYHMÄ] ends with '%Price' Tulos 4: Product Price, Current_Year Price Esimerkki 5: [TUOTERYHMÄ] ends with literal '%Price' Tulos 5: %Price Määrittää, vastaako merkkijono1 merkkijono2:n mallia. Merkkiä merkki voidaan käyttää valinnaisesti koodinvaihtomerkkinä mallimerkkijonossa. merkkijono1 LIKE merkkijono2 [ ESCAPE merkki ] Esimerkki: [TUOTERYHMÄ] like 'G%' Tulos: kaikki merkillä G alkavat tuoteryhmät. Esimerkki: [TUOTERYHMÄ] like '%Ga%' escape 'a' Tulos: kaikki merkkiin G päättyvät tuoteryhmät. Operaattori toimii yhdessä yhdistämislausekkeiden kanssa ja sen avulla voi määrittää kyselyn yhdistämisfunktion alueen. yhdistämisfunktio ( lauseke for lauseke { ; lauseke } ) Tämän operaattorin ja yhdistämislausekkeiden avulla voit määrittää alueen niin, että sitä mukautetaan kyselyn ryhmittelysarakkeiden osajoukon mukaan. Vastaa for-lausetta. yhdistämisfunktio ( lauseke for ANY lauseke { ; lauseke } ) Yhdessä yhdistämislausekkeiden kanssa määrittää, että alue on kyselyn kaikki määritellyt ryhmittelysarakkeet. Katso myös for-lausetta. yhdistämisfunktio ( lauseke for ALL lauseke { ; lauseke } ) Operaattori toimii yhdessä yhdistämislausekkeiden kanssa ja sen avulla voi asettaa alueeksi koko kyselyn. Katso myös for-lausetta. Tämä funktio esiintyy Asiakaspalautukset ja -tyytyväisyys -malliraportissa GO Data Warehouse (analyysi) -paketissa. yhdistämisfunktio ( lauseke for report ) Toimii yhdessä then- ja else-rakenteiden kanssa. Se määrittää ehdon; kun if-ehto on tosi, silloin käytetään then-lauseketta. Kun if-ehto ei ole tosi, silloin käytetään else-lauseketta. Tämä funktio esiintyy Top 10 vähittäismyyjää 2005 -malliraportissa GO Data Warehouse (analyysi) -paketissa. if ( ehto ) then ( lauseke ) else ( lauseke ) Määrittää, onko lauseke1 annetussa lausekeluettelossa. lauseke1 in ( lausekeluettelo ) Määrittää, onko lauseke1 annetussa vakioarvojen tai alueiden luettelossa. lauseke1 in_range { vakio : vakio [ ; vakio : vakio ] } Esimerkki: [koodi] in_range { 5 } Tulos: Tämä vastaa merkkijonoa [koodi] = 5. Esimerkki: [koodi] in_range { 5: } Tulos: Tämä vastaa merkkijonoa [koodi] >= 5. Esimerkki: [koodi] in_range { :5 } Tulos: Tämä vastaa merkkijonoa [koodi] <= 5. Esimerkki: [koodi] in_range { 5:10 } Tulos: Tämä vastaa merkkijonoja ( [koodi] >= 5 ja [koodi] <= 10 ). Esimerkki: [koodi] in_range { :5,10,20: } Tulos: Tämä vastaa merkkijonoa ( [koodi] <= 5 tai [koodi] = 10 tai [koodi] >= 20 ). Määrittää, onko arvo määrittämättä tiedoissa. arvo is missing Määrittää, onko arvo määrittämättä tiedoissa. arvo is null Määrittää, onko arvo määritetty tiedoissa. arvo is not missing Määrittää, onko arvo määritetty tiedoissa. arvo is not null Määrittää, vastaako merkkijono1 merkkijono2:n mallia. Merkkiä merkki voidaan käyttää valinnaisesti koodinvaihtomerkkinä mallimerkkijonossa. Tämä syntaksi tukee molempia metamerkkejä: prosentin merkki (%) edustaa nollaa tai yhtä merkkiä tai useita merkkejä, ja alaviiva (_) edustaa mitä tahansa merkkiä. merkkijono1 LIKE merkkijono2 [ ESCAPE merkki ] Esimerkki 1: [TUOTERYHMÄ] like 'G%' Tulos: Kaikki merkillä 'G' alkavat tuoteryhmät. Esimerkki 2: [TUOTERYHMÄ] like '%Ga%' escape 'a' Tulos: Kaikki merkkiin 'G%' päättyvät tuoteryhmät. Esimerkki 3: [TUOTERYHMÄ] like 'C_R_' Tulos 3: Kaikki CARS- tai CARD-nimiset tuoteryhmät. Esimerkki: lookup ( [Maa]) in ( 'Kanada'--> ( [Luettelohinta] * 0.60); 'Australia'--> ( [Luettelohinta] * 0.80 ) ) default ( [Luettelohinta] ) Hakee ja korvaa tiedot, jotka saavat määritetyn arvon. On suositeltavaa käyttää case-rakennetta. lookup ( nimi ) in ( arvo1 --> arvo2 ) default ( lauseke ) Palauttaa arvon tosi, jos argumentti on epätosi tai palauttaa arvon epätosi, jos argumentti on tosi. NOT argumentti Palauttaa arvon tosi, jos joko argumentti1 tai argumentti2 on tosi. argumentti1 or argumentti2 Suorittaa summalaskutoimituksen ennen summasuodattimen käyttöönottoa. summary_function ([lauseke] prefilter) Esimerkki: total ( [Määrä] for report prefilter ) summaryFilter: total( [Määrä] for [Tuotenro] ) > 50000 Tulos: laskee raportin määrät yhteen ennen summasuodattimen käyttöä. 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 Laskee kyselyn tuloksen rivimäärän. Käytetään yhdessä Count()-funktion kanssa. count ( ROWS ) Laskee kyselyn tuloksen rivimäärän. Käytetään yhdessä Count()-funktion kanssa. count ( ROWS  [ lauseke ]) Määrittää, alkaako merkkijono1 merkkijono2:lla. Tämä syntaksi tukee molempia metamerkkejä: prosentin merkki (%) on nolla, yksi tai useita merkkejä, ja alaviiva (_) edustaa mitä tahansa merkkiä. Valinnainen LITERAL-avainsana ilmaisee, miten '%' ja '_' tulkitaan. Kun LITERAL-avainsana on läsnä, merkkejä '%' ja '_' ei käsitellä metamerkkeinä (katso esimerkit 3 ja 5). Muussa tapauksessa, jos LITERAL-avainsanaa ei ole, '%' ja '_' käsitellään metamerkkeinä (katso esimerkit 1, 2 ja 4). merkkijono1 starts with [LITERAL] merkkijono2 Esimerkki 1: [TUOTERYHMÄ] starts with 'Golf' Tulos 1: Golf Equipment Esimerkki 2: [TUOTERYHMÄ] starts with 'Outdoor%' Tulos 2: Outdoor Equipment Esimerkki 3: [TUOTERYHMÄ] starts with literal 'Golf%' Tulos 3: Golf% Esimerkki 4: [TUOTERYHMÄ] starts with 'Current_Year%' Tulos 4: Current Year Price, Current Year Price%, Current_Year Price% Esimerkki 5: [TUOTERYHMÄ] starts with literal 'Current_Year%' Tulos 5: Current_Year% Operaattori toimii yhdessä if- tai case-rakenteen kanssa. Kun if-ehto tai when-lauseke on tosi, silloin käytetään then-lauseketta. Tämä funktio esiintyy Top 10 vähittäismyyjää 2005 -malliraportissa GO Data Warehouse (analyysi) -paketissa. if ( ehto ) then ..., tai case-lauseke when-lauseke then .... end Toimii case-rakenteessa. Voit määrittää ehtojen toteutuvan silloin, kun WHEN-lauseke on tosi. case [lauseke] when ... end
Kokonaissummat Tämä luettelo sisältää ennalta määritettyjä funktioita, jotka palauttavat joko yksittäisen kokonaissumma-arvon liittyvien arvojen ryhmälle tai erillisen kokonaissumma-arvon kullekin liittyvien arvojen ryhmän ilmentymälle. Palauttaa lasketun arvon käyttämällä asianmukaista yhdistämisfunktiota lausekkeen yhdistämistyyppiin perustuen. Tämä funktio esiintyy Budjetoitu vs. toteutunut -malliraportissa GO Data Warehouse (analyysi) -paketissa. aggregate ( lauseke [ auto ] ) aggregate ( lauseke for [ all|any ] lauseke { ; lauseke } ) aggregate ( lauseke for report ) Palauttaa valittujen tietoalkioiden keskiarvon. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. average ( [ distinct ] lauseke [ auto ] ) average ( [ distinct ] lauseke for [ all|any ] lauseke { ; lauseke } ) average ( [ distinct ] lauseke for report ) Esimerkki: average ( Myynti ) Tulos: Palauttaa kaikkien Myynti-arvojen keskiarvon. Palauttaa valittujen tietoalkioiden lukumäärän lukuun ottamatta tyhjäarvoja. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. All on tuettu vain DQM-tilassa, ja sen avulla voi estää ulottuvuustaulukon tietoalkion kaksinkertaisen laskennan. count ( [ all | distinct ] lauseke [ auto ] ) count ( [ all | distinct ] lauseke for [ all|any ] lauseke { ; lauseke } ) count ( [ all | distinct ] lauseke for report ) Esimerkki: count ( Myynti ) Tulos: Palauttaa Myynti-otsikon alla olevien merkintöjen kokonaismäärän. Palauttaa valittujen tietoalkioiden suurimman arvon. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. maximum ( [ distinct ] lauseke [ auto ] ) maximum ( [ distinct ] lauseke for [ all|any ] lauseke { ; lauseke } ) maximum ( [ distinct ] lauseke for report ) Esimerkki: maximum ( Myynti ) Tulos: Palauttaa kaikkien Myynti-arvojen suurimman arvon. Palauttaa valittujen tietoalkioiden mediaaniarvon. median ( lauseke [ auto ] ) median ( lauseke for [ all|any ] lauseke { ; lauseke } ) median ( lauseke for report ) Palauttaa valittujen tietoalkioiden pienimmän arvon. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. minimum ( [ distinct ] lauseke [ auto ] ) minimum ( [ distinct ] lauseke for [ all|any ] lauseke { ; lauseke } ) minimum ( [ distinct ] lauseke for report ) Esimerkki: minimum ( Myynti ) Tulos: Palauttaa kaikkien Myynti-arvojen pienimmän arvon. Palauttaa määritetyn rivimäärän kattavan määritetyn arvojoukon liukuvan keskiarvon riveittäin. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. moving-average ( numeerinen_lauseke ; numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) moving-average (  numeerinen_lauseke ; numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: moving-average ( Määrä ; 3 ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien kahden rivin määrän ja liukuvan keskiarvon. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Palauttaa määritetyn rivimäärän kattavan määritetyn arvojoukon liukuvan summan riveittäin. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. moving-total ( numeerinen_lauseke ; numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) moving-total (  numeerinen_lauseke ; numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: moving-total ( Määrä ; 3 ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien kahden rivin määrän ja liukuvan summan. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Palauttaa valittujen tietoalkioiden prosenttiosuuden kokonaisarvosta. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. Tämä funktio esiintyy interaktiivisessa Prosenttiosuuden laskutoimitus (vuosittain) -malliraportissa. percentage ( numeerinen_lauseke [ at lauseke  { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) percentage (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: percentage ( Myynti 98 ) Tulos: Palauttaa kunkin myyntiedustajan prosenttiosuuden vuoden 1998 kokonaismyynnistä. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Palauttaa sata-asteikolle sijoittuvan arvon, joka ilmaisee, mikä prosentti jakaumasta on yhtä suuri tai alempi kuin valitut tietoalkiot. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. percentile ( numeerinen_lauseke [ at lauseke ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) percentile (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: percentile ( Myynti 98 ) Tulos: Palauttaa kunkin rivin osalta prosenttiosuuden riveistä, joiden arvo on yhtä suuri tai pienempi kuin kyseisen rivin määrän arvo. 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 Palauttaa arvon luokituksen valitulla alueella. Palauttaa kokonaislukuja, jotka kuvaavat mitä tahansa järjestyslukujen asteikkoa, esimerkiksi sellaista, jossa 1 on ylin ja 100 matalin arvo. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. quantile ( numeerinen_lauseke ; numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) quantile (  numeerinen_lauseke ; numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: quantile ( Määrä ; 4 ) Tulos: Palauttaa määrän, määrän arvon järjestysluvun sekä määrän arvot jaettuina neljään kvantiiliryhmään (kvartiileihin). 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 Palauttaa arvon järjestysluvun, jota kuvaavat kokonaisluvut 1 - 4 (1 on korkein järjestysluku), suhteessa arvoryhmään. "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. quartile ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) quartile (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: quartile ( Määrä ) Tulos: Palauttaa määrän ja määrän arvon kvartiilin, joka ilmaistaan kokonaislukuina 1-4 (1 on suurin, 4 pienin). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Palauttaa valittujen tietoalkioiden järjestysluvun. Lajittelujärjestyksen voi valita vapaasti. Oletusasetus on DESC (laskeva). Jos yhdelle tai useammalle riville annetaan sama järjestysluku, numerojärjestyksessä hypätään kyseistä järjestyslukua seuraavan numeron yli (menetelmään viitataan myös nimellä olympialaisjärjestys). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. Tyhjäarvot ovat viimeisenä. Tämä funktio esiintyy Top 10 vähittäismyyjää 2005 -malliraportissa GO Data Warehouse (analyysi) -paketissa. rank ( lauseke [ ASC|DESC ] { ; lauseke [ ASC|DESC ] } [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) rank ( [ distinct ] lauseke [ ASC|DESC ] { ; lauseke [ ASC|DESC ] } [ <for-vaihtoehto>] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: rank ( Myynti 98 ) Tulos: Palauttaa jokaisen rivin osalta kunkin myyntiedustajan vuoden 1998 myynnin arvon järjestysluvun. Jotkin arvot ohitetaan, kun riveillä on sama järjestysluku. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Palauttaa arvojoukon juoksevan keskiarvon riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-average ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-average (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: running-average ( Määrä ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien rivien määrän ja juoksevan keskiarvon. 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 Palauttaa arvojoukon juoksevan numeron riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-count ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-count (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: running-count ( Määrä ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin sijainnin määrän ja juoksevan määrän. 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 Palauttaa juoksevan erotuksen, jossa lasketaan arvojoukolle nykyisen rivin ja sitä edeltävän rivin arvon erotus riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-difference ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-difference (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: running-difference ( Määrä ) Tulos: Palauttaa kunkin rivin osalta määrän sekä nykyisen rivin ja sitä edeltävän rivin arvon juoksevan erotuksen. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Palauttaa arvojoukon juoksevan enimmäismäärän riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-maximum (  numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-maximum (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke ; lauseke }|for report|auto Esimerkki: running-maximum ( Määrä ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien rivien määrän ja juoksevan enimmäismäärän. 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 Palauttaa arvojoukon juoksevan vähimmäismäärän riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-minimum ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-minimum (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: running-minimum ( Määrä ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien rivien määrän ja juoksevan vähimmäismäärän. 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 Palauttaa arvojoukon juoksevan summan riveittäin (nykyinen rivi mukaan luettuna). "<For-vaihtoehto>" määrittää funktion alueen. At-vaihtoehto määrittää yhdistämistason, ja sitä voidaan käyttää ainoastaan relaatiotietolähteiden yhteydessä. running-total ( numeerinen_lauseke [ at lauseke { ; lauseke } ] [ <for-vaihtoehto> ] [ prefilter ] ) running-total (  numeerinen_lauseke [ <for-vaihtoehto> ] [ prefilter ] ) <for-vaihtoehto> ::= for lauseke { ; lauseke }|for report|auto Esimerkki: running-total ( Määrä ) Tulos: Palauttaa kunkin rivin osalta nykyisen rivin ja sitä edeltävien rivien määrän ja juoksevan summan. 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 Palauttaa valittujen tietoalkioiden keskihajonnan. standard-deviation (  lauseke [ auto ] ) standard-deviation (  lauseke for [ all|any ] lauseke { ; lauseke } ) standard-deviation (  lauseke for report ) Esimerkki: standard-deviation ( Tuotteen kustannukset ) Tulos: Palauttaa arvon, joka ilmoittaa tuotteen kustannusten ja tuotteen keskimääräisten kustannusten hajonnan. Laskee arvojen keskihajonnan ja palauttaa niiden varianssin neliöjuuren. standard-deviation-pop (  lauseke [ auto ] ) standard-deviation-pop (  lauseke for [ all|any ] lauseke { ; lauseke } ) standard-deviation-pop (  lauseke for report ) Esimerkki: standard-deviation-pop ( Tuotteen kustannukset ) Tulos: Palauttaa arvojen varianssin neliöjuuren. Laskee otoksen arvojen keskihajonnan ja palauttaa niiden varianssin neliöjuuren. standard-deviation-samp (  lauseke [ auto ] ) standard-deviation-samp (  lauseke for [ all|any ] lauseke { ; lauseke } ) standard-deviation-samp (  lauseke for report ) Esimerkki: standard-deviation-samp ( Tuotteen kustannukset ) Tulos: Palauttaa otoksen arvojen varianssin neliöjuuren. Palauttaa arvon järjestysmääritteen (korkea, keskitaso tai matala) suhteessa arvoryhmään. tertile (  lauseke [ auto ] ) tertile (  lauseke for [ all|any ] lauseke { ; lauseke } ) tertile (  lauseke for report ) Esimerkki: tertile ( Määrä ) Tulos: Palauttaa määrän, määrän arvon kvantiili tertiileiksi jaettuna sekä määrän arvot tertiileiksi jaettuina. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L Palauttaa valittujen tietoalkioiden kokonaisarvon. Distinct on vaihtoehtoinen lauseke, joka on yhteensopiva tuotteen aiempien versioiden kanssa. Tämä funktio esiintyy Budjetoitu vs. toteutunut -malliraportissa GO Data Warehouse (analyysi) -paketissa. total ( [ distinct ] lauseke [ auto ] ) total ( [ distinct ] lauseke for [ all|any ] lauseke { ; lauseke } ) total ( [ distinct ] lauseke for report ) Esimerkki: total ( Myynti ) Tulos: Palauttaa kaikkien Myynti-arvojen kokonaisarvon. Tilastofunktiot Tämä luettelo sisältää ennalta määritettyjä tilastollisia summafunktioita. Palauttaa valittujen tietoalkioiden varianssin. variance (  lauseke [ auto ] ) variance (  lauseke for [ all|any ] lauseke { ; lauseke } ) variance (  lauseke for report ) Esimerkki: variance ( Tuotteen kustannukset ) Tulos: Palauttaa arvon, joka ilmoittaa, miten paljon tuotteen kustannukset poikkeavat tuotteen keskimääräisistä kustannuksista. Palauttaa lukujoukon arvojen varianssin, kun joukon tyhjäarvot on jätetty huomiotta. variance-pop (  lauseke [ auto ] ) variance-pop (  lauseke for [ all|any ] lauseke { ; lauseke } ) variance-pop (  lauseke for report ) Esimerkki: variance-pop ( Määrä ) Tulos: Palauttaa jokaisen rivin osalta lukujoukon arvojen varianssin, kun joukon tyhjäarvot on jätetty huomiotta. Palauttaa lukujoukon otoksen arvojen varianssin, kun joukon tyhjäarvot on jätetty huomiotta. variance-samp (  lauseke [ auto ] ) variance-samp (  lauseke for [ all|any ] lauseke { ; lauseke } ) variance-samp (  lauseke for report ) Esimerkki: variance-samp ( Määrä ) Tulos: Palauttaa jokaisen rivin osalta lukujoukon otoksen arvojen varianssin, kun joukon tyhjäarvot on jätetty huomiotta. corr ( numeerinen_lauseke1 ;  numeerinen_lauseke2  [ auto ] ) corr ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) corr ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa lukuparijoukon korrelaatiokertoimen. Tämä lasketaan seuraavasti: COVAR_POP(numeerinen_lauseke1; numeerinen_lauseke2) / (STDDEV_POP(numeerinen_lauseke1) * STDDEV_POP(numeerinen_lauseke2)) Esimerkki: corr ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen korrelaatiokerroin. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) covariance-pop ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) covariance-pop ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa lukuparijoukon arvojen kovarianssin. Esimerkki: covariance-pop ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen kovarianssi. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) covariance-samp ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) covariance-samp ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa otoksen lukuparijoukon arvojen kovarianssin. Esimerkki: covariance-samp ( Kustannukset ;  Kateprosentti  for report) Tulos: otoksen Kustannukset- ja Kateprosentti-arvojen kovarianssi. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-average-x ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-average-x ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa regressioviivan itsenäisen muuttujan (numeerinen_lauseke2) keskiarvon. Esimerkki: regression-average-x ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan Kateprosentti-keskiarvo. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-average-y ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-average-y ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa regressioviivan riippuvaisen muuttujan (numeerinen_lauseke1) keskiarvon. Esimerkki: regression-average-y ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan Kustannukset-keskiarvo. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-count ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-count ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa niiden ei-tyhjien lukujen lukumäärän, joiden perusteella regressioviiva on sovitettu. Esimerkki: regression-count ( Kustannukset ;  Kateprosentti  for report) Tulos: niiden ei-tyhjien lukujen lukumäärä, joiden perusteella Kustannukset- ja Kateprosentti-arvojen regressioviiva on sovitettu. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-intercept ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-intercept ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa regressioviivan y-leikkauspisteen. Tämä lasketaan seuraavasti: AVG(numeerinen_lauseke1) - REGR_SLOPE(numeerinen_lauseke1; numeerinen_lauseke2) * AVG(numeerinen_lauseke2) Esimerkki: regression-intercept ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan y-leikkauspiste. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-r2 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-r2 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa regressioviivan determinaatiokertoimen (eli yhteensopivuuskertoimen, "goodness of fit" -arvon). Tämä arvo lasketaan seuraavien ehtojen perusteella: IF VAR_POP(numeerinen_lauseke2) = 0 THEN NULL IF VAR_POP(numeerinen_lauseke1) = 0 AND VAR_POP(numeerinen_lauseke2) <> 0 THEN 1 IF VAR_POP(numeerinen_lauseke1) > 0 and VAR_POP(numeerinen_lauseke2) <> 0 THEN POWER(CORR (numeerinen_lauseke1; numeerinen_lauseke2)) Esimerkki: regression-r2 ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan determinaatiokerroin. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-slope ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-slope ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa regressioviivan kulmakertoimen. Tämä lasketaan seuraavasti: COVAR_POP(numeerinen_lauseke1;numeerinen_lauseke2) / VAR_POP(numeerinen_lauseke2) Esimerkki: regression-slope ( Kustannukset ;  Kateprosentti ) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan kulmakerroin. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-sxx ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-sxx ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa seuraavan laskennan NULL-parien poiston jälkeen: REGR_COUNT(numeerinen_lauseke1; numeerinen_lauseke2) * VAR_POP(numeerinen_lauseke2) Esimerkki: regression-sxx ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan sxx-laskenta. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-sxy ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-sxy ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa seuraavan laskennan NULL-parien poiston jälkeen: REGR_COUNT(numeerinen_lauseke1; numeerinen_lauseke2) * COVAR_POP(numeerinen_lauseke1; numeerinen_lauseke2) Esimerkki: regression-sxy ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan sxy-laskenta. 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 ( numeerinen_lauseke1 ;  numeerinen_lauseke2 ) regression-syy ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for [ all|any ] lauseke { ; lauseke } ) regression-syy ( numeerinen_lauseke1 ;  numeerinen_lauseke2 for report ) Palauttaa seuraavan laskennan NULL-parien poiston jälkeen: REGR_COUNT(numeerinen_lauseke1; numeerinen_lauseke2) * VAR_POP(numeerinen_lauseke1) Esimerkki: regression-syy ( Kustannukset ;  Kateprosentti  for report) Tulos: Kustannukset- ja Kateprosentti-arvojen regressioviivan syy-laskenta. 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 Jäsenyhteenvedot Tämä luettelo sisältää ennalta määritettyjä funktioita, jotka palauttavat joko yksittäisen kokonaissumma-arvon jäsenjoukolle tai erillisen kokonaissumma-arvon jokaiselle jäsenjoukon jäsenelle.
Virhe Lausekkeessa on virhe korostetun merkin kohdalla.
Rakenteet Tämä luettelo sisältää rakenteet ja mallit, joiden avulla lauseke voidaan luoda. Malleissa on yhdistelty useita funktioita ryhmiksi. Esimerkiksi haun case-malli sisältää funktiot case, when, else ja end. Haku case-rakenteella Tämä rakenne on malli case-haulle, ja se sisältää funktiot CASE, WHEN, ELSE ja END. CASE WHEN [Maa] = 'Kanada' THEN ([Luettelohinta] * 0.60) WHEN [Maakoodi] > 100 THEN [Luettelohinta] * 0.80 ELSE [Luettelohinta] END Yksinkertainen case-rakenne Tämä rakenne on malli yksinkertaiselle case-rakenteelle, ja se sisältää funktiot CASE, WHEN, ELSE ja END. CASE [Maa] WHEN 'Kanada' THEN ([Luettelohinta] * 0.60) WHEN 'Australia' THEN [Luettelohinta] * 0.80 ELSE [Luettelohinta] END if then else Tämä rakenne on malli if...then...else -lauseelle. Tämä rakenne esiintyy Top 10 vähittäismyyjää 2005 -malliraportissa GO Data Warehouse (analyysi) -paketissa. IF ([Maa] = 'Kanada') THEN ([Luettelohinta] * 0,60) ELSE ([Luettelohinta]) in_range Tämä on malli, jota käytetään lausekkeen in_range-lausekkeessa. [koodi] IN_RANGE { :30 , 40, 50, 999: } Esimerkki: [koodi] IN_RANGE { 5 } Tulos: Tämä vastaa merkkijonoa [koodi] = 5. Esimerkki: [koodi] IN_RANGE { 5: } Tulos: Tämä vastaa merkkijonoa [koodi] >= 5. Esimerkki: [koodi] IN_RANGE { :5 } Tulos: Tämä vastaa merkkijonoa [koodi] <= 5. Esimerkki: [koodi] IN_RANGE { 5:10 } Tulos: Tämä vastaa merkkijonoja ( [koodi] >= 5 ja [koodi] <= 10 ). Esimerkki: [koodi] IN_RANGE { :5,10,20: } Tulos: Tämä vastaa merkkijonoa ( [koodi] <= 5 tai [koodi] = 10 tai [koodi] >= 20 ).
Jaksopredikaatit Luettelo sisältää predikaatteja, joita voi käyttää jakson lausekkeiden vertailussa. contains Palauttaa arvon true (tosi), jos jaksolauseke1 sisältää (contains) jaksolausekkeen2 eli jos ensimmäinen jakso sisältää päivämäärän ja ajan arvon tai kaikki arvot, jotka sisältyvät toiseen jaksoon. jaksolauseke1 contains ( jaksolauseke2 | päivämäärä_ja_aika -lauseke ) period( 1989-11-01; 1991-05-19 ) contains period( 1991-05-19; 1991-06-04 ) Tulos: false (epätosi) period( 1989-11-01; 1991-05-19 ) contains period( 1990-05-19; 1991-04-04 ) Tulos: true (tosi) period( 1989-11-01; 1991-05-19 ) contains 1991-04-04 Tulos: true (tosi) equals Palauttaa arvon true (tosi), jos jaksolausekkeella1 ja jaksolausekkeella2 on sama jakson alku- ja jakson loppu -arvot. jaksolauseke1 equals jaksolauseke2 period( 1989-11-01; 1991-05-19 ) equals period( 1989-11-01; 1991-05-19 ) Tulos: true (tosi) immediately precedes Palauttaa arvon true (tosi), jos jaksolauseke1 edeltää välittömästi (immediately precedes) jaksolauseketta2; eli, jos ensimmäisen jakson loppuarvo on sama kuin toisen jakson alkuarvo. jaksolauseke1 immediately precedes jaksolauseke2 period( 1989-11-01; 1991-05-19 ) immediately precedes period( 1991-05-19; 1991-06-04 ) Tulos: true (tosi) period( 1989-11-01; 1991-05-18 ) immediately precedes period( 1991-05-19; 1991-06-04 ) Tulos: false (epätosi) immediately succeeds Palauttaa arvon true (tosi), jos jaksolauseke1 seuraa välittömästi (immediately succeeds) jaksolauseketta2; eli, jos ensimmäisen jakson alkuarvo on sama kuin toisen jakson loppuarvo. jaksolauseke1 immediately succeeds jaksolauseke2 period( 1991-05-19; 1994-01-10 ) immediately succeeds period( 1991-01-19; 1991-05-19 ) Tulos: true (tosi) period( 1991-05-19; 1994-01-10 ) immediately succeeds period( 1991-01-20; 1991-05-18 ) Tulos: false (epätosi) overlaps Palauttaa arvon true (tosi), jos jaksolauseke1 ja jaksolauseke2 ovat päällekkäin (overlaps), eli niillä on vähintään yksi yhteinen arvo. jaksolauseke1 overlaps jaksolauseke2 period( 1991-05-19; 1994-01-10 ) overlaps period( 1993-01-19; 1995-05-19 ) Tulos: true (tosi) precedes Palauttaa arvon true (tosi), jos jaksolauseke1 edeltää (precedes) jaksolauseketta2; eli, jos kaikki ensimmäiseen jaksoon sisältyvät arvot ovat pienempiä tai yhtä suuria kuin toisen jakson alkuarvo. jaksolauseke1 precedes jaksolauseke2 period( 1989-11-01; 1991-05-19 ) precedes period( 1991-05-19; 1991-06-04 ) Tulos: true (tosi) period( 1989-11-01; 1991-05-18 ) precedes period( 1991-05-19; 1991-06-04 ) Tulos: true (tosi) succeeds Palauttaa arvon true (tosi), jos jaksolauseke1 seuraa (succeeds) jaksolauseketta2; eli, jos kaikki ensimmäiseen jaksoon sisältyvät arvot ovat suurempia tai yhtä suuria kuin toisen jakson loppuarvo. jaksolauseke1 succeeds jaksolauseke2 period( 1991-05-19; 1994-01-10 ) succeeds period( 1991-01-19; 1991-05-19 ) Tulos: true (tosi) period( 1991-05-20; 1994-01-10 ) succeeds period( 1991-01-20; 1991-05-19 ) Tulos: true (tosi)
Työelämän päivämäärä- ja aikafunktiot Tämä luettelo sisältää työelämän funktioita, joita käytetään päivämäärien ja aikojen laskutoimituksissa. _add_seconds ( kellonaikalauseke; kokonaislukulauseke ) Palauttaa kellonajan tai päivämäärän ja ajan riippuen kellonaikalausekkeen muodosta, joka saadaan lisäämällä kokonaislukulausekkeen ilmoittama määrä sekunteja kellonaikalausekkeeseen. Esimerkki: _add_seconds ( 13:04:59 ; 1 ) Tulos: 13:05:00 Esimerkki: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Tulos: 2002-04-30 12:10:11.000 Esimerkki: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ) Huomaa, että toinen argumentti ei ole kokonaisluku. Tietyt tietokantaohjelmat tukevat tätä toimintoa, joka jakaa ajan pienempiin osiin. Tulos: 2002-04-30 00:00:00.010 _add_minutes ( kellonaikalauseke; kokonaislukulauseke ) Palauttaa kellonajan tai päivämäärän ja ajan riippuen kellonaikalausekkeen muodosta, joka saadaan lisäämällä kokonaislukulausekkeen ilmoittama määrä minuutteja kellonaikalausekkeeseen. Esimerkki: _add_minutes ( 13:59:00 ; 1 ) Tulos: 14:00:00 Esimerkki: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Tulos: 2002-04-30 13:00:10.000 Esimerkki: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Huomaa, että toinen argumentti ei ole kokonaisluku. Tietyt tietokantaohjelmat tukevat tätä toimintoa, joka jakaa ajan pienempiin osiin. Tulos: 2002-04-30 00:00:01.000 _add_hours ( kellonaikalauseke; kokonaislukulauseke ) Palauttaa kellonajan tai päivämäärän ja ajan riippuen kellonaikalausekkeen muodosta, joka saadaan lisäämällä kokonaislukulausekkeen ilmoittama määrä tunteja kellonaikalausekkeeseen. Esimerkki: _add_hours ( 13:59:00 ; 1 ) Tulos: 14:59:00 Esimerkki: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Tulos: 2002-04-30 13:10:10.000 Esimerkki: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Huomaa, että toinen argumentti ei ole kokonaisluku. Tietyt tietokantaohjelmat tukevat tätä toimintoa, joka jakaa ajan pienempiin osiin. Tulos: 2002-04-30 00:01:00.000 _add_days ( päivämäärälauseke; kokonaislukulauseke ) Palauttaa päivämäärän tai päivämäärän ja ajan riippuen päivämäärälausekkeen muodosta, joka saadaan lisäämällä kokonaislukulausekkeen ilmoittama määrä päiviä päivämäärälausekkeeseen. Esimerkki: _add_days ( 2002-04-30 ; 1 ) Tulos: 2002-05-01 Esimerkki: _add_days ( 2002-04-30 12:10:10.000; 1 ) Tulos: 2002-05-01 12:10:10.000 Esimerkki: _add_days ( 2002-04-30 00:00:00.000; 1/24 ) Huomaa, että toinen argumentti ei ole kokonaisluku. Tietyt tietokantaohjelmat tukevat tätä toimintoa, joka jakaa ajan pienempiin osiin. Tulos: 2002-04-30 01:00:00.000 _add_months ( päivämäärälauseke; kokonaislukulauseke ) Lisää kokonaislukulausekkeen kuukaudet päivämäärälausekkeeseen. Jos tuloksena olevassa kuukaudessa on vähemmän päiviä kuin kuukauden päiväkomponentissa, järjestelmä palauttaa tuloksena olevan kuukauden viimeisen päivän. Kaikissa muissa tapauksissa palautetulla arvolla on sama kuukauden päiväkomponentti kuin päivämäärälausekkeella. Esimerkki: _add_months ( 2012-04-15 ; 3 ) Tulos: 2012-07-15 Tulos ei ole tuloksena saatavan kuukauden viimeinen päivä. Esimerkki: _add_months ( 2012-02-29 ; 1 ) Tulos: 2012-03-29 Palauta kuukauden viimeinen päivä käyttämällä funktiota _last_of_month. Esimerkki: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Tulos: 2012-03-31 Päiväksi korjataan tuloksena olevan kuukauden viimeinen päivä. Esimerkki: _add_months ( 2012-01-31 ; 1 ) Tulos: 2012-02-29 Lisäys aikaleimaan. Esimerkki: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Tulos: 2002-05-30 12:10:10.000 _add_years ( päivämäärälauseke; kokonaislukulauseke ) Lisää kokonaislukulausekkeen vuodet päivämäärälausekkeeseen. Jos päivämäärälausekkeena on helmikuun 29. päivä eikä tuloksena oleva vuosi ole karkausvuosi, tuloksena olevaksi päiväksi asetetaan helmikuun 28. päivä. Kaikissa muissa tapauksissa palautetulla arvolla on sama päivä ja kuukausi kuin päivämäärälausekkeella. Esimerkki: _add_years ( 2012-04-15 ; 1 ) Tulos: 2013-04-15 Helmikuun 29. päivä korjataan muina kuin karkausvuosina. Esimerkki: _add_years ( 2012-02-29 ; 1 ) Tulos: 2013-02-28 Lisäys aikaleimaan. Esimerkki: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Tulos: 2003-04-30 12:10:10.000 _age ( päivämäärälauseke ) Palauttaa luvun, joka saadaan vähentämällä päivämäärälauseke kuluvan päivän päivämäärästä. Palautettu arvo on muodossa VVVVKKPP, jossa VVVV edustaa vuosien lukumäärää, KK kuukausien lukumäärää ja PP päivien lukumäärää. Esimerkki: _age ( 1990-04-30 ) (jos nykyinen päivämäärä on 2003-02-05) Tulos: 120906, joka on 12 vuotta, 9 kuukautta ja 6 päivää. _date_to_int ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen kokonaislukuesitysmuodon. Palautettu arvo on muodossa VVVVKKPP, jossa VVVV edustaa vuosien lukumäärää, KK kuukausien lukumäärää ja PP päivien lukumäärää. Esimerkki: _date_to_int ( 2003-01-01 ) Tulos: 20030101 _day_of_week ( päivämäärälauseke; kokonaisluku ) Palauttaa viikonpäivän (1-7), jossa 1 on toisen parametrin ilmaisema viikon ensimmäinen päivä (1-7, 1 on maanantai ja 7 on sunnuntai). Huomaa, että ISO 8601 -standardin mukaan viikko alkaa maanantaista, joka on päivä numero 1. Esimerkki: _day_of_week ( 2003-01-01 ; 1 ) Tulos: 3 _day_of_year ( päivämäärälauseke ) Palauttaa vuoden päivän (1-366) päivämäärälausekkeesta. Sitä kutsutaan joskus myös juliaaniseksi päiväksi. Esimerkki: _day_of_year ( 2003-03-01 ) Tulos: 61 _days_between ( päivämäärälauseke1 ; päivämäärälauseke2 ) Palauttaa positiivisen tai negatiivisen luvun, joka ilmoittaa, miten monta päivää on päivämäärälauseke1:n ja päivämäärälauseke2:n välissä. Jos "päivämäärälauseke1" < "päivämäärälauseke2", tulos on negatiivinen luku. Esimerkki: _days_between ( 2002-06-21 , 2002-04-30 ) Tulos: 52 Esimerkki: _days_between ( 2002-04-30 ; 2002-06-21 ) Tulos: -52 _days_to_end_of_month ( päivämäärälauseke ) Palauttaa luvun, joka ilmoittaa, miten monta päivää päivämäärälausekkeen ilmoittamasta kuukaudesta on jäljellä. Esimerkki: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Tulos: 10 _first_of_month ( päivämäärälauseke ) Palauttaa argumentin mukaan päivämäärän tai päivämäärän ja ajan, joka saadaan muuntamalla päivämäärälauseke saman vuoden ja saman kuukauden päivämääräksi, jossa päivän numero on 1. Esimerkki: _first_of_month ( 2002-04-20 ) Tulos: 2002-04-01 Esimerkki: _first_of_month ( 2002-04-20 12:10:10.000 ) Tulos: 2002-04-01 12:10:10.000 _last_of_month ( päivämäärälauseke ) Palauttaa argumentin mukaan päivämäärän tai päivämäärän ja ajan, joka on päivämäärälausekkeessa ilmoitetun kuukauden viimeinen päivä. Esimerkki: _last_of_month ( 2002-01-14 ) Tulos: 2002-01-31 Esimerkki: _last_of_month ( 2002-01-14 12:10:10.000 ) Tulos: 2002-01-31 12:10:10.000 _make_timestamp ( kokonaislukulauseke1; kokonaislukulauseke2; kokonaislukulauseke3 ) Palauttaa aikaleiman, joka muodostuu kokonaislukulauseke1:stä (vuosi), kokonaislukulauseke2:sta (kuukausi) ja kokonaislukulauseke3:sta (päivä). Aikaosan oletusmuoto on 00:00:00.000 . Esimerkki: _make_timestamp ( 2002 ; 01 ; 14 ) Tulos: 2002-01-14 00:00:00.000 _months_between ( päivämäärälauseke1; päivämäärälauseke2 ) Palauttaa positiivisen tai negatiivisen kokonaisluvun, joka ilmoittaa, miten monta kuukautta on päivämäärälauseke1:n ja päivämäärälauseke2:n välissä. Jos päivämäärälauseke1 aikaisempi kuin päivämäärälauseke2, palautettava arvo on negatiivinen. Esimerkki: _months_between ( 2002-04-03 ; 2002-01-30 ) Tulos: 2 Esimerkki: _months_between ( 2002-01-30 , 2002-04-03 ) Tulos: -2 _shift_timezone ( aikaleiman_arvo ; lähdeaikavyöhyke ; kohdeaikavyöhyke ) _shift_timezone ( aikaleima_ja_aikavyöhykkeen_arvo ; kohdeaikavyöhyke ) Siirtää aikaleiman arvoa yhdeltä aikavyöhykkeeltä toiselle. Funktio noudattaa kesäaikaa tarvittaessa. Jos ensimmäinen argumentti on aikaleima-tyyppiä, toinen ja kolmas argumentti edustaa lähde- ja kohdeaikavyöhykettä. Jos ensimmäinen argumentti on aikaleima ja aikavyöhyke -tyyppiä, lähdeaikavyöhyke sisältyy jo ensimmäiseen argumenttiin, joten toinen argumentti edustaa kohdeaikavyöhykettä. Ensimmäisen argumentin tietolaji määrittää myös paluuarvon tietolajin. Toinen ja kolmas argumentti ovat merkkijono-tyyppiä ja edustavat aikavyöhykkeen tunnuksia. Luettelo tunnuksista on seuraavassa. Huomautus: Funktio käsitellään paikallisesti. Esimerkki: _shift_timezone( 2013-06-30 12:00:00 ; 'America/New_York' ; 'GMT' ) Tulos: 2013-06-30 16:00:00 Esimerkki: _shift_timezone( 2013-11-30 12:00:00-05:00 ; 'America/Vancouver' ) Tulos: 2013-11-30 09:00:00-08:00 Aikavyöhykkeiden tunnukset: 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 Voit myös käyttää mukautettua aikavyöhykkeen tunnusta käyttämällä muotoa GMT(+|-)TT:MM. Esimerkki: GMT-06:30 tai GMT+02:00. _week_of_year ( päivämäärälauseke ) Palauttaa viikon numeron päivämäärälausekkeessa ilmoitettuna vuonna ISO 8601 -standardin mukaisesti. Vuoden ensimmäinen viikko on viikko, jossa on torstai. Tämä vastaa ensimmäistä viikkoa, joka sisältää tammikuun neljännen päivän. Viikko alkaa maanantaista (päivä 1) ja loppuu sunnuntaihin (päivä 7). Esimerkki: _week_of_year ( 2003-01-01 ) Tulos: 1 _years_between ( päivämäärälauseke1; päivämäärälauseke2 ) Palauttaa positiivisen tai negatiivisen kokonaisluvun, joka ilmoittaa, miten monta vuotta on päivämäärälauseke1:n ja päivämäärälauseke2:n välissä. Jos "päivämäärälauseke1" < "päivämäärälauseke2", palautettava arvo on negatiivinen. Esimerkki: _years_between ( 2003-01-30 ; 2001-04-03 ) Tulos: 1 Esimerkki: _years_between ( 2001-04-03 , 2003-01-30 ) Tulos: -1 _ymdint_between ( päivämäärälauseke1 ; päivämäärälauseke2 ) Palauttaa luvun, joka ilmaisee päivämäärälauseke1:n ja päivämäärälauseke2:n erotuksen. Palautettu arvo on muodossa VVVVKKPP, jossa VVVV edustaa vuosien lukumäärää, KK kuukausien lukumäärää ja PP päivien lukumäärää. Esimerkki: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Tulos: 120905, joka on 12 vuotta, 9 kuukautta ja 5 päivää. _year ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen vuosikentän arvon. Esimerkki: _year ( 2003-03-01 ) Tulos: 2003 _month ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen kuukausikentän arvon. Esimerkki: _month ( 2003-03-01 ) Tulos: 3 _day ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen päiväkentän arvon. Esimerkki: _day ( 2003-03-01 ) Tulos: 1 _hour ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen tuntikentän arvon. Esimerkki: _hour ( 2002-01-31 12:10:10.254 ) Tulos: 12 _minute ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen minuuttikentän arvon. Esimerkki: _minute ( 2002-01-31 12:10:10.254 ) Tulos: 10 _second ( päivämäärälauseke ) Palauttaa päivämäärälausekkeen sekuntikentän arvon. Esimerkki: _second ( 2002-01-31 12:10:10.254 ) Tulos: 10,254 _timezone_hour ( aikaleima_aikavyöhykearvolla ) _timezone_hour ( aika_aikavyöhykearvolla ) Palauttaa lausekkeen aikavyöhykkeen tuntikentän arvon. Lausekkeen tyypin on oltava lajia "aikaleima aikavyöhykkeellä" tai "Aika aikavyöhykkeellä". Esimerkki: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Tulos: -5 _timezone_minute ( aikaleima_aikavyöhykearvolla ) _timezone_minute ( aika_aikavyöhykearvolla ) Palauttaa lausekkeen aikavyöhykkeen minuuttikentän arvon. Lausekkeen tyypin on oltava lajia "aikaleima aikavyöhykkeellä" tai "aika aikavyöhykkeellä". Esimerkki: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Tulos: -30 _start_of_day ([ päivämäärälauseke ]) Palauttaa päivämäärälausekkeen tai tämän vuorokauden alun aikaleimana. Esimerkki: _start_of_day ( 2014-11-23 12:10:10.254 ) Tulos: 2014-11-23 00:00:00 Esimerkki: _start_of_day () Tulos: 2016-01-01 00:00:00 _end_of_day ([ päivämäärälauseke ]) Palauttaa päivämäärälausekkeen tai tämän vuorokauden lopun aikaleimana. Esimerkki: _end_of_day ( 2014-11-23 12:10:10.254 ) Tulos: 2014-11-23 23:59:59 Esimerkki: _end_of_day () Tulos: 2016-01-01 23:59:59 _unix_timestamp ( päivämäärälauseke ) Palauttaa sekuntien määrän 1970-01-01 00:00:00-00 lähtien annetulle päivämäärälausekkeelle. Esimerkki: _unix_timestamp ( 2014-11-23 ) Tulos: 1416718800 _from_unixtime ( kokonaislukulauseke ) Palauttaa UNIX-ajan, jonka kokonaislukulauseke määrittää, aikaleimana aikavyöhykkeen kanssa. Esimerkki: _from_unixtime (1417807335) Tulos: 2014-12-05 19:22:15+00:00
Makrofunktiot Tämä luettelo sisältää makrossa käytettävissä olevat funktiot. Makro voi sisältää yhden tai useita makrofunktioita. Makron alussa ja lopussa on numeromerkki (#). Numeromerkkien välissä olevaa merkkijonoa käsitellään makrolausekkeena, ja se suoritetaan ajon aikana. Jos makrofunktio hyväksyy argumentit, joiden tietolaji on aikaleima ja aikavyöhyke, funktion sallittu muoto on vvvv-kk-pp hh:mm:ss[.ff]+hh:mm. Tällöin desimaalisekuntien osa on valinnainen, ja siinä voidaan käyttää lukuja 1–9. Päivämääräosan ja aikaosan erottavan tyhjämerkin sijaan voidaan käyttää myös T-merkkiä. Lisäksi aikavyöhykeosan +hh:mm sijaan voidaan käyttää myös Z-merkkiä, joka käsitellään sisäisesti merkkijonona +00:00. Makrofunktiot, joiden palauttamassa lausekkeessa tietolaji on aikaleima ja aikavyöhyke, palauttaa oletusarvon mukaan desimaalisekunnit yhdeksänä numerona. Tulosta voidaan tarvittaessa lyhentää makrofunktiolla timestampMask(). Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen sekuntien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. _add_seconds ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2005-11-01 11:59:59.000-05:00 Esimerkki: # _add_seconds ( $current_timestamp ; 1 ) # Tulos: 2005-11-01 12:00:01.000000000-05:00 Esimerkki: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Tulos: 12:00:01 Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen minuuttien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. _add_minutes ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2005-11-01 11:59:00.000-05:00 Esimerkki: # _add_minutes ( $current_timestamp ; 1 ) # Tulos: 2005-11-01 12:01:00.000000000-05:00 Esimerkki: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Tulos: 12:01:00 Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen tuntien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. _add_hours ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2005-11-01 13:00:00.000-05:00 Esimerkki: # _add_hours ( $current_timestamp ; 1 ) # Tulos: 2005-11-01 13:00:00.000000000-05:00 Esimerkki: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Tulos: 13:00:00 Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen päivien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. Jos ensimmäinen argumentti on vvvv-kk-pp-muotoisena merkkijonona määritetty päivämäärä, paluuarvo on päivämääräksi muotoiltu merkkijono. _add_days ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2005-10-31 12:00:00.000000000-05:00 Esimerkki: # _add_days ( $current_timestamp ; 1 ) # Tulos: 2005-11-02 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Tulos: 2005-11-02 Esimerkki: # _add_days( '2019-11-14' , 3 ) # Tulos: 2019-11-17 Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen kuukausien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. Jos ensimmäinen argumentti on vvvv-kk-pp-muotoisena merkkijonona määritetty päivämäärä, paluuarvo on päivämääräksi muotoiltu merkkijono. _add_months ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2005-10-01 12:00:00.000000000-05:00 Esimerkki: # _add_months ( $current_timestamp ; 1 ) # Tulos: 2005-12-01 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Tulos: 2005-12-01 Esimerkki: # _add_months( '2019-11-14' , -1 ) # Tulos: 2019-10-14 Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), joka muodostetaan lisäämällä kokonaislukulausekkeen vuosien lukumäärä merkkijonolausekkeeseen, jossa merkkijonolauseke vastaa aikaleimaa ja aikavyöhykettä. Jos ensimmäinen argumentti on vvvv-kk-pp-muotoisena merkkijonona määritetty päivämäärä, paluuarvo on päivämääräksi muotoiltu merkkijono. _add_years ( merkkijonolauseke ; kokonaislukulauseke ) Esimerkki: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Tulos: 2004-11-01 12:00:00.000000000-05:00 Esimerkki: # _add_years ( $current_timestamp ; 1 ) # Tulos: 2006-11-01 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Tulos: 2006-11-01 Esimerkki: # _add_years( '2019-11-14' , -2 ) # Tulos: 2017-11-14 _first_of_month ( merkkijonolauseke ) Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona). Merkkijonolausekkeen päivän arvo muunnetaan arvoksi 1, kun merkkijonolauseke edustaa aikaleimaa ja aikavyöhykettä. Esimerkki: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Tulos: 2005-11-01 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'vvvvkkpp' ) # Tulos: 20051101 _last_of_month ( merkkijonolauseke ) Palauttaa aikaleiman ja aikavyöhykkeen (merkkijonona), jossa kuukauden viimeistä päivää edustaa merkkijonolauseke ja jossa merkkijonolauseke on aikaleima ja aikavyöhyke. Esimerkki: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Tulos: 2005-11-30 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyy-mm-dd' ) # Tulos: 2005-11-30 modelj ( 'identifier' [ , 'model_search_path' [ , 'options' ] ] ) Palauttaa metatietomallin osan json-muodossa. Nykyistä mallia käytetään, jos argumenttia 'model_search_path' ei ole määritetty. 'Options'-argumentille voi määrittää arvon 'cleanup'. Tällöin tuloksen jotkin osat muuttuvat kiinteiksi arvoiksi (hyödyllistä testattaessa). sq ( modelj ( '[gosales].[country].[country]' ) Merkkijonolausekkeen ympärille tulee hakasulkeet. sb ( merkkijonolauseke ) Esimerkki: # sb ( 'abc' ) # Tulos: [abc] Merkkijonolausekkeen ympärille tulee puolilainausmerkit. sq ( merkkijonolauseke ) Esimerkki: # sq ( 'nolla' ) # Tulos: 'nolla' Merkkijonolausekkeen ympärille tulee lainausmerkit. dq ( merkkijonolauseke ) Esimerkki: # dq ( 'nolla' ) # Tulos: "nolla" Käyttää nykyisen todennetun käyttäjän tunnistetietoja määritettyjen parametrivastaavuuksien hakuun. Käyttäjän tunnuksen kaikkia osia (tilinimi, ryhmänimet, roolinimet) käytetään avaimena vastaavuuksissa. Parametrivastaavuudesta saatujen yksilöityjen arvojen luettelo palautetaan merkkijonona, jossa jokaista yksittäistä arvoa ympäröivät puolilainausmerkit ja arvot on eroteltu toisistaan pilkuin. CSVIdentityName ( %parameter_map_name [ ; erotinmerkkijono ] ) Esimerkki: # CSVIdentityName ( %security_clearance_level_map ) # Tulos: 'taso_500' , 'taso_501' , 'taso_700' Palauttaa käyttäjän tunnuksen osat (tilinimi, ryhmänimet, roolinimet) merkkijonojen luettelona. Yksilöllinen arvoluettelo palautetaan merkkijonona, jossa jokaista yksittäistä arvoa ympäröivät puolilainausmerkit ja arvot on eroteltu toisistaan pilkuin. CSVIdentityNameList ( [ erotinmerkkijono ] ) Esimerkki: # CSVIdentityNameList ( ) # Tulos: 'Kaikki' , 'Raportin pääkäyttäjät' , 'Kyselyn käyttäjä' Palauttaa Cognos Access Managerin todennustiedot. CAMPassport ( ) Esimerkki: # CAMPassport ( ) # Tulos: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Palauttaa käyttäjän Cognos Access Manager -tunnuksen (CAMID) osat, kuten tilinimen, ryhmänimet ja roolinimet pilkuin eroteltuna arvoluettelona. CAMIDList ( [ erotinmerkkijono ] ) Esimerkki: #CAMIDList ( ) # Tulos: CAMID ( "::Kaikki" ) ; CAMID ( ":Laatijat" ) ; CAMID ( ":Kyselyn käyttäjät" ) ; CAMID ( ":Kuluttajat" ) ; CAMID ( ":Mittatietojen laatijat" ) Palauttaa käyttäjän Cognos Access Manager -tunnusten (CAMID) taulukon tunnustyypin (tili, ryhmä tai rooli) mukaan. CAMIDListForType soveltuu käytettäväksi makrofunktioissa csv ja join. CAMIDListForType ( tunnustyyppi ) Esimerkki: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Tulos: [qs].[userRole] in ( 'CAMID ( "::Pääkäyttäjät" ) ' , 'CAMID ( ":Laatijat" )' ) Lisää kaksi merkkijonoa. arvo1 + arvo2 Esimerkki: # '{ ' + $runLocale + ' }' # Tulos: {en-us} Poistaa ensimmäisen argumentin etumerkit. Valinnainen toinen argumentti määrittää poistettavien merkkien joukon. Oletusarvon mukaan tämä toiminto poistaa tyhjämerkit (esim. välilyönnit, sarkaimet ja rivinvaihdot). lstrip ( merkkijonolauseke [ ; merkkijoukko ] ) Esimerkki: # sq( lstrip ( ' abc ' ) ) # Tulos: 'abc ' Esimerkki: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Tulos: 53.2100 Palauttaa parametrin arvon kohdasta parametrin_nimi, jos arvo on määritetty. Kohdan oletusteksti arvo palautuu, jos kohtaa parametrin_nimi ei ole. Jos tietolajiksi on asetettu string, tulosarvossa on puolilainausmerkit. Tämän funktion käyttö ei aiheuta puuttuvan parametrin poikkeusta. ParamValue ( parametrin_nimi [ , oletusteksti [, tietolaji ] ] ) Esimerkki: # ParamValue ( 'p_maa' ) # Tulos: 'Kanada' - p_maa on asetettu Tulos: null - p_maa ei ole tunnettu parametri Tulos: null - parametria p_maa käytetään valinnaisena kehotteena, eikä sitä ole asetettu Esimerkki: # ParamValue ( 'p_maa' , 'Alankomaat' ) # Tulos: 'Kanada' - p_maa on asetettu Tulos: 'Alankomaat' - p_maa ei ole tunnettu parametri Tulos: 'Alankomaat' - parametria p_maa käytetään valinnaisena kehotteena, eikä sitä ole asetettu Esimerkki: # ParamValue ( 'p_maa', ' cast ( null as varchar(20)) ' , 'token' ) # Tulos: 'Kanada' - p_maa on asetettu Tulos: cast ( null as varchar(20)) - p_maa ei ole tunnettu parametri Tulos: cast ( null as varchar(20)) - parametria p_maa käytetään valinnaisena kehotteena, eikä sitä ole asetettu Pyytää käyttäjältä yksittäistä arvoa tai jäsentä. Vain kehotteen_nimi-argumentti on pakollinen. Tietolajin oletusmuoto on merkkijono (string), jos sitä ei ole määritetty erikseen. Kehote on valinnainen, kun oletusteksti on määritetty. Jos teksti on määritetty, se edeltää arvoa. Kyselyalkion voi määrittää hyödyntämään kyselyalkion kyselytieto-ominaisuuksia. Jos lopussa_oleva_teksti on määritetty, se lisätään arvoon. Kun tietolaji on memberuniquename, järjestelmä luo yhden jäsenen valintakehotteen. Oletusarvo kannattaa antaa (kolmantena argumenttina). Oletusarvon on oltava kelvollinen jäsenen yksilöllinen nimi. Se voi myös olla valenimi, joka viittaa jäsenen yksilölliseen nimeen, kuten Report Studio -ohjelmassa tehdään. prompt ( kehotteen_nimi ; tietolaji ; oletusteksti ; teksti ; kyselyalkio ; lopputeksti ) Esimerkki: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Ensimmäinen maakoodi' , 'kokonaisluku' , '10' ) # Tulos: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Esimerkki: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'countryPrompt' , 'string' , '''Kanada''' ) # Tulos: [gosales].[COUNTRY].[COUNTRY] = 'Kanada' Esimerkki: set ( #prompt ('myProduct', 'memberuniquename', '[Leiriytymisvälineet]', '', '[Myynti].[Tuote].[Tuote].[Product line]')#) Tulos: set([Myynti].[Tuote].[Tuote].[Tuoteryhmä]->[kaikki].[1]) Oletusteksti-parametri on määritettävä niin, että se on kirjaimellisesti oikeassa muodossa makron kontekstissa, sillä tätä arvoa ei muotoilla. Esimerkin 2 oletusmerkkijono Kanada on määritetty merkkijonoksi puolilainausmerkeillä, joiden sisällä olevat puolilainausmerkit kahdentuvat kolmeksi merkiksi. Tällöin merkkijono näytetään lausekkeessa puolilainausmerkkien sisällä. Kun käytetään tietolajina merkkijonoa, oletusteksti on määritettävä edellä kuvatulla tavalla. Poikkeuksena ovat tilanteet, joissa käytetään tallennetun toimintosarjan parametria. Kun oletustekstin tyyppi on date (päivämäärä) tai datetime (päivämäärä ja aika), SQL-kontekstissa on käytettävä erityismuotoa. Muodon esimerkit: 'DATE ''2001-12-25''' ja 'DATETIME ''2001-12-25 12:00:00'''. Kaikissa muissa konteksteissa päivämäärää tai päivämäärää ja aikaa käytetään ilman avainsanaa ja puolilainausmerkeissä (esim. '2001-12-25'). Pyytää käyttäjältä vähintään yhtä arvoa tai jäsentä. Vain kehotteen_nimi-argumentti on pakollinen. Tietolajin oletusmuoto on merkkijono (string), jos sitä ei ole määritetty erikseen. Kehote on valinnainen, kun oletusteksti on määritetty. Jos teksti on määritetty, se edeltää arvoluetteloa. Kyselyalkion voi määrittää hyödyntämään kyselyalkion kyselytieto-ominaisuuksia. Jos lopussa_oleva_teksti on määritetty, se lisätään arvoluetteloon. Kun tietolaji on memberuniquename, järjestelmä luo usean jäsenen valintakehotteen. Oletusarvo kannattaa antaa (kolmantena argumenttina). Oletusarvon on oltava kelvollinen jäsenen yksilöllinen nimi. Se voi myös olla valenimi, joka viittaa jäsenen yksilölliseen nimeen, kuten Report Studio -ohjelmassa tehdään. promptmany ( kehotteen_nimi ; tietolaji ; oletusteksti ; teksti ; kyselyalkio ; lopputeksti ) Esimerkki: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'CountryName' ) # ) Tulos: valitse . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Kanada' , 'Alankomaat' , 'Venäjä' ) Esimerkki: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL , gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Valitut maakoodit' , 'kokonaisluku' , ' ' , ' ja COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( ' , '' , ' ) ' ) # Tulos: valitse . . . 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 ( 'Kanada' , 'Alankomaat' , 'Venäjä' ) Esimerkki: set ( #promptmany ('myProduct', 'memberuniquename', '[Leiriytymisvälineet]', '', '[Myynti].[Tuote].[Tuote].[Tuoteryhmä]')#) Tulos: set([Myynti].[Tuote].[Tuote].[Tuoteryhmä]->[kaikki].[1]; [Myynti].Tuote].[Tuote].[Tuoteryhmä]->[kaikki].[2]) Toteuta yhtä saraketta koskeva kysely ja palauta arvo ensimmäisellä (ainoalla) rivillä. Tulosta ei ole muotoiltu. Varmista, että lisäät kutsun ympärille tarpeen mukaan merkinnän sq ( ). queryValue ( arvolauseke [ , suodatuslauseke ] ) Esimerkki: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Tulos: 'Keskiviikko' Luo taulukon parametriluettelosta. array ( merkkijonolauseke|taulukkolauseke { ; merkkijonolauseke|taulukkolauseke } ) Esimerkki: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Tulos: 'a1' , 'x1' , 'x2' , 'a2' Luo taulukon elementeistä pilkuilla erotetun merkkijonon. Vaihtoehtoisesti käyttäjä voi määrittää erotin- ja lainausmerkkijonon. Oletuserotin on pilkku ( , ) ja oletuslainausmerkkinä käytetään yksinkertaista lainausmerkkiä ( ' ). csv ( taulukkolauseke [ ; erotinmerkkijono [ ; lainausmerkkijono ] ] ) Esimerkki: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Tulos: 'a1', 'a2' Hae merkintä IBM Cognos -kokoonpanotiedostosta. force_decode_flag on valinnainen, ja sen arvon on oltava jokin seuraavista: 'tosi' , '1', 1 , 'epätosi', '0', 0. Oletusarvona on epätosi (false). Poikkeustapauksissa force_decode_flag-arvoksi pitää asettaa true (tosi). Kun force_decode_flag-arvoksi on asetettu true (tosi), järjestelmä palauttaa kokoonpanomerkinnän pelkkä teksti -arvon IBM Cognos -kokoonpanossa Lisäominaisuudet-kohdassa määritetyille merkinnöille. Merkinnöille, joita ei ole yksilöity Lisäominaisuudet-kohdassa, järjestelmä palauttaa tyhjän merkkijonon salatuista tiedoista huolimatta. Lisäominaisuuksissa oleva merkintä on qs.getConfigurationEntry.1 ja se on puolipistein eroteltu nimiluettelo. Oletusarvon mukaan tämä nimiluettelo on tyhjä, ja tämän funktion kutsut palauttavat tyhjän merkkijonon, kun lipun arvona on true (tosi). getConfigurationEntry ( merkintäjono ; pakota_dekoodausmerkki ) Esimerkki: # getConfigurationEntry ( 'serverLocale'  ) # Tulos: en Palauttaa resurssitiedoston merkinnän. Ensimmäinen argumentti on resurssitiedostossa oleva resurssitunnus. Valinnainen toinen argumentti on resurssitiedoston nimi ilman paikallistunnuksen ilmaisevaa loppuliitettä (esimerkiksi sanomatiedostoa mfwa4j_en.properties varten argumentti on 'mfwa4j'). Oletusresurssitiedosto on 'xqejavamsgs'. Valinnainen kolmas argumentti on paikallistunnus, jonka oletusarvo on 'en'. getResourceString ( resurssitunnuksen_merkkijono [, resurssitiedoston_merkkijono [ , paikallistunnuksen_merkkijono] ] ) Esimerkki: # getResourceString ( 'XQE_BIN_binLow' ) # Tulos: XQE-BIN-0001 pienempi kuin %1 Esimerkki: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Tulos: MFW-UT-1002 Sisäinen ongelma. Ota yhteys pääkäyttäjään. Hakee taulukkoa ja palauttaa sen, jonka elementit vastaavat kuviomerkkijonolausekkeessa määritettyä kuviota. Ainoat tuetut metamerkit ovat: ^ (sanan alku), $ (sanan loppu), ! (estomerkki - tuetaan vain ensimmäisenä merkkinä). grep ( mallimerkkijono ; taulukkolauseke ) Esimerkki: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Tulos: 'as', 'arts' Esimerkki: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # Tulos: 'group', 'golf' Esimerkki: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # Tulos: 'oranges', 'mangoes' Esimerkki: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # Tulos: 'apples' Etsi poikkeama argumentissa "str", jos substr-arvo on löydetty. Arvo -1 palautetaan, jos substr-arvoa ei löydy. Voit aloittaa haun myös valinnaisen offset-arvon avulla. Ensimmäinen argumentti "str" voi olla myös taulukkolauseke, jolloin funktiota sovelletaan kuhunkin taulukkoelementtiin, ja funktion tuloksena on joukko arvoja. index ( str , substr [ , offset ] ) # index ( 'The black horse jumped over the black sheep.', 'black' ) # Tulos: 4 # index ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Tulos: 32 # index ( 'The black horse jumped over the black sheep.', 'green' ) # Tulos: -1 # sq ( join ( ' | ', index ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Tulos: -1 | 1 | 2 Liittää taulukon elementit erotinmerkkijonolla. join ( erotinmerkkijono ; taulukkolauseke ) Esimerkki: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Tulos: 'as | | an | | arts' Laskee merkkijonolausekkeen merkkien määrän. Jos argumentti on taulukkolauseke, tulos on arvotaulukko, ja kukin merkintä on kunkin taulukkolausekkeen elementeissä olevien merkkien määrä. length ( merkkijonolauseke | taulukkolauseke ) length ( 'abcdef' ) Tulos: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Tulos: 6--3 Etsi viimeinen poikkeama argumentissa str, jos substr-arvo on löydetty. Tämä funktio on nimeltään käänteinen indeksi, ja sen voi käsittää skannaukseksi, joka alkaa merkkijonon lopusta. Arvo -1 palautetaan, jos substr-arvoa ei löydy. Voit aloittaa haun myös valinnaisen offset-arvon avulla. Ensimmäinen argumentti "str" voi olla myös taulukkolauseke, jolloin funktiota sovelletaan kuhunkin taulukkoelementtiin, ja funktion tuloksena on joukko arvoja. rindex ( str , substr [ , offset ] ) # rindex ( 'The black horse jumped over the black sheep.', 'black' ) # Tulos: 32 # rindex ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Tulos: 4 # rindex ( 'The black horse jumped over the black sheep.', 'green' ) # Tulos: -1 # sq ( join ( ' | ', rindex ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Tulos: -1 | 1 | 3 Poistaa ensimmäisen argumentin jälkimerkit. Valinnainen toinen argumentti määrittää poistettavien merkkien joukon. Oletusarvon mukaan tämä toiminto poistaa tyhjämerkit (esim. välilyönnit, sarkaimet ja rivinvaihdot). rstrip ( merkkijonolauseke [ ; merkkijoukko ] ) Esimerkki: # sq( rstrip ( ' abc ' ) ) # Tulos: 'abc ' Esimerkki: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Tulos: 0053.21 Lajittelee taulukon elementit aakkosjärjestykseen. Kaksoiskappaleet säilytetään. sort ( taulukkolauseke ) Esimerkki: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Tulos: 'a'; 's3'; 'x' Jakaa taulukon merkkijonon tai merkkijonoelementit erillisiksi elementeiksi. split ( mallimerkkijono; merkkijonolauseke|taulukkolauseke ) Esimerkki: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Tulos: 'ab=c'; 'de=f'; 'gh=i' Esimerkki: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Tulos: 'ab', 'c', 'de', 'f', 'gh', 'i' Poistaa ensimmäisen argumentin etumerkit ja jälkimerkit. Valinnainen toinen argumentti määrittää poistettavien merkkien joukon. Oletusarvon mukaan tämä toiminto poistaa tyhjämerkit (esim. välilyönnit, sarkaimet ja rivinvaihdot). strip ( merkkijonolauseke [ ; merkkijoukko ] ) Esimerkki: # sq( strip ( ' abc ' ) ) # Tulos: 'abc' Esimerkki: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Tulos: 53.21 Hakee kuviota merkkijonosta tai merkkijonoelementeistä ja korvaa ensimmäisen löydetyn tekstin (kuviomerkkijonolauseke) toisella tekstillä (korvaava_lauseke). Ainoat tuetut metamerkit ovat: ^ (sanan alku), $ (sanan loppu) substitute ( mallimerkkijono; korvaava_merkkijono; merkkijonolauseke|taulukkolauseke ) Esimerkki: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Tulos: '***help' Esimerkki: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Tulos: '***help', 'acn=5' Esimerkki: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Tulos: 'help', 'a5' Esimerkki: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Tulos: 'cn=***' Poimii osan merkkijonolausekkeesta alkaen kohdasta 'poikkeaman_alku'. Voit määrittää, että merkkien määrä eli length-arvo poimitaan. Jos length-arvoa ei ole määritetty, järjestelmä palauttaa tiedot merkkijonolausekkeen loppuun asti. Ensimmäinen argumentti voi olla myös taulukkolauseke, jolloin funktiota sovelletaan kuhunkin taulukkoelementtiin ja funktion tuloksena on joukko arvoja. substr ( merkkijonolauseke , poikkeaman_alku [ , pituus ] ) substr ( 'The horse is black.', 0, 3 ) Tulos: The substr ( 'The horse is black.', 4 ) Tulos: horse is black. substr ( 'The horse is black', index ('The horse is black.' , 'green' ) ) Tulos: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) Tulos: ac | d | en substr ('over the moon', -2, 4) Aiheuttaa virheen. Substr-funktion toisen argumentin on oltava suurempi tai yhtä suuri kuin -1.' . Palauttaa merkkijonolauseke1:n, joka vastaa aikaleimaa ja aikavyöhykettä. Muoto lyhennetty merkkijonolauseke2:n mukaiseksi. Merkkijonolauseke_2:n muodon tulee olla yksi seuraavista arvoista: 'vvvv', 'kk', 'pp', 'vvvv-kk', 'vvvvkk', 'vvvv-kk-pp', 'vvvvkkpp', 'vvvv-kk-pp hh:mm:ss', 'vvvv-kk-pp hh:mm:ss+hh:mm' , 'vvvv-kk-pp hh:mm:ss.ff3', 'vvvv-kk-pp hh:mm:ss.ff3+hh:mm', 'vvvv-kk-ppThh:mm:ss', 'vvvv-kk-ppThh:mm:ss+hh:mm', 'vvvv-kk-ppThh:mm:ss.ff3+hh:mm' tai 'vvvv-kk-ppThh:mm:ss.ff3+hh:mm'. Kun makrofunktio palauttaa aikaleiman ja aikavyöhykkeen merkkijonoesityksen, oletusarvoinen sekuntidesimaaliosan tarkkuus on yhdeksän merkkiä. Muotoiluasetusten avulla tarkkuudeksi voidaan lyhentää 3 tai 0 merkkiä. timestampMask ( merkkijonolauseke1 ; merkkijonolauseke2 ) Esimerkki: # timestampMask ( $current_timestamp ; '´vvvv-pp-kk' ) # Tulos: 2005-11-01 Esimerkki: # timestampMask (  '2005-11-01 12:00:00.000-05:00' ; 'vvvv-kk-pp hh:mm:ss+hh:mm' ) # Tulos: 2005-11-01 12:00:00-05:00 Esimerkki: # timestampMask (  '2005-11-01 12:00:00.123456789-05:00' ; 'vvvv-kk-ppThh:mm:ss+hh:mm.ff3+hh:mm' ) # Tulos: 2005-11-01T12:00:00.123-05:00 Palauttaa merkkijonon, joka edustaa aikaleimaa ja aikavyöhykettä. Se saadaan mukauttamalla merkkijonolauseke käyttöjärjestelmän aikavyöhykkeeseen. Huomaa, että tulosta voidaan lyhentää makrofunktiolla timestampMask(). toLocal ( merkkijonolauseke ) Esimerkki: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) #, jossa käyttöjärjestelmän paikallinen aikavyöhyke on -05:00 Tulos: 2005-11-01 12:00:00.000000000-05:00 Esimerkki: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) ; 'vvvv-kk-pp hh:mm:ss+hh:mm' ) # jossa käyttöjärjestelmän paikallinen aikavyöhyke on -05:00 Tulos: 2005-11-01 12:00:00-05:00 Esimerkki: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # jossa käyttöjärjestelmän paikallinen aikavyöhyke on -05:00 Tulos: 2005-11-01 12:00:00.000000000-05:00 Palauttaa merkkijonon merkkijonolauseke, jossa kaikki merkit on muunnettu pieniksi kirjaimiksi paikallistunnuksen paikallistunnusmerkkijono sääntöjen mukaan. Jos paikallistunnusta ei ole määritetty, järjestelmä käyttää paikallistunnusta "en". tolower ( merkkijonolauseke [ ; paikallistunnusmerkkijono ] ) Esimerkki: # tolower ( 'ABC' ) # Tulos: abc Esimerkki: # tolower ( 'ABC' ; 'fr' ) # Tulos: abc Palauttaa merkkijonon merkkijonolauseke, jossa kaikki merkit on muunnettu isoiksi kirjaimiksi paikallistunnuksen paikallistunnusmerkkijono sääntöjen mukaan. Jos paikallistunnusmerkkijonoa ei ole määritetty, järjestelmä käyttää paikallistunnusta "en". toupper ( merkkijonolauseke [ ; paikallistunnusmerkkijono ] ) Esimerkki: # toupper ( 'abc' ) # Tulos: ABC Esimerkki: # toupper ( 'abc' ; 'fr' ) # Tulos: ABC Palauttaa merkkijonon, joka vastaa aikaleimaa ja aikavyöhykettä. Se saadaan mukauttamalla merkkijonolauseke UTC-nollapisteeseen, josta käytetään nimitystä GMT-aika. Huomaa, että tulosta voidaan lyhentää makrofunktiolla timestampMask(). toUTC ( merkkijonolauseke ) Esimerkki: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Tulos: 2005-11-01 17:00:00.000000000-00:00 Esimerkki: # timestampMask( toUTC ( '2005-11-01 12:00:00.000-05:00' ) ; 'vvvv-kk-pp hh:mm:ss.ff3+hh:mm' ) # Tulos: 2005-11-01 17:00:00.000-00:00 Esimerkki: # toUTC ( $current_timestamp ) # Tulos: 2005-11-01 17:00:00.000000000-00:00 Poistaa taulukosta kaksoiskappaleet. Elementtien järjestys säilytetään. unique ( taulukkolauseke ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Tulos: 's3', 'a', 'x' URL-osoite viittaa liitettyyn argumenttiin. Tämä funktion on käyttökelpoinen määritettäessä XML-yhteysmerkkijonoja. urlencode ( prompt ( 'käyttäjäarvo' ) ) urlencode ( prompt ( 'jokin_arvo' ) ) %27testiarvo%27 Yksinkertainen case-rakenne Tämä makrorakenne on yksinkertainen case-malli ja se sisältää funktiot case, when, then, else ja end. Huomaa, että tämä makrorakenne on tuettu vain DQM-tilassa. CASE <lauseke> WHEN <literaali> THEN <lauseke> [ELSE <lauseke>] END Esimerkki: #CASE prompt('pDateRange';'token') WHEN 'Nykyinen viikko' THEN '[PR Nykyinen viikko]' ELSE '[PR Edellinen viikko]' END# Tulos: [PR Nykyinen viikko]
Lohkofunktiot Tämä luettelo sisältää funktioita, joita käytetään joukon jäsenten käsittelyyn, yleensä Analysis Studio -ympäristössä. Palauttaa ensimmäiset joukosta löytyneet jäsenet alueella numeerinen_lauseke_enimmäismäärä + numeerinen_lauseke_ylivuoto. Jos numeerinen_lauseke_enimmäismäärä + numeerinen_lauseke_ylivuoto -määritys ylittyy, tulokseksi tulee vain enimmäismäärä jäseniä. Jos joukossa on vain muutama jäsen enemmän kuin minkä numeerinen_lauseke_enimmäismäärä määrittää, numeerinen_lauseke_ylivuoto sallii pienen joukon ylimääräisiä jäseniä. Jos joukossa on jäseniä enemmän kuin ylivuoto sallii, tulokseksi saatu jäsenmäärä on se, jonka numeerinen_lauseke_enimmäismäärä osoittaa. _firstFromSet ( joukkolauseke ; numeerinen_lauseke_enimmäismäärä ; numeerinen_lauseke_ylivuoto ) _firstFromSet ( [retkeily-yritys].[Tuotteet].Tuotteet].Tuoteryhmä] , 2 , 8 ) Tulos: Palauttaa viisi Tuoteryhmä-joukon jäsentä. Kaksi ensimmäistä jäsentä palautetaan enimmäismäärän puitteissa ja seuraavat kolme jäsentä ylivuotona. Leiriytymisvälineet Golfvarusteet Vuorikiipeilyvälineet Turvavarusteet Henkilökohtaiset varusteet _firstFromSet ( [retkeily-yritys].[Tuotteet].Tuotteet].Tuoteryhmä] , 2 , 2 ) Tulos: Leiriytymisvälineet, Golfvarusteet Palauttaa joukon, joka sisältää jäsenlausekkeen, kun joukkolausekkeen koko on suurempi kuin numeerinen_lauseke. Toisin sanoen uusi jäsen muodostetaan, jos joukkolausekkeen jäsenten määrä on suurempi kuin se, jonka numeerinen_lauseke määrittää. _remainderSet ( jäsenlauseke; joukkolauseke ; numeerinen_lauseke ) _remainderSet ( member ( aggregate ( currentMeasure within set [suuri_retkeilyalan_yritys].[Tuotteet].Tuotteet].Tuoteryhmä] ) , 'Tuotteet yhteensä' , 'Tuotteet yhteensä' , [suuri_retkeilyalan_yritys].[Tuotteet].Tuotteet] ) , [suuri_retkeilyalan_yritys].[Tuotteet].Tuotteet].Tuoteryhmä] , 1 ) Tulos: Kaikkien tuotteiden myyty määrä yhteensä