Funktiot

Lausekkeissa voi käyttää erityyppisiä funktioita.

Aiheet:

Analytics-funktiot

Analytiikkafunktioiden avulla voi tutkia tietoja käyttämällä malleja, kuten ennustetta, suuntaviivoja ja klustereita. Voit myös vetää ja pudottaa analytiikkafunktioita työkirjaeditoriin.

Voit myös lisätä ennusteita, suuntaviivoja ja klustereita työkirjaan valitsemalla ne tietopaneelin Analytiikka-välilehdeltä työkirjaeditorissa. Katso kohta Tilastollisen analytiikan funktioiden lisääminen visualisointeihin.

Funktio Esimerkki Kuvaus Syntaksi

CLUSTER

CLUSTER((tuote, yritys), (laskutettu_määrä, tuotto), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

Kerää tietuejoukon ryhmiksi yhden tai useamman syötelausekkeen perusteella käyttämällä K-Means-menetelmää tai hierarkkista ryvästystä.

CLUSTER((dimensio_lauseke1, ... dimensio_lausekeN), (lauseke1, ... lausekeN), tulostesarakkeen_nimi, valinnat, [ajonaikaiset_sidotut_valinnat])

FORECAST

Esimerkki päiväkohtaisesta tuottoennusteesta

Tässä esimerkissä valitaan päiväkohtainen tuottoennuste.

FORECAST("A - Mallimyynti"."Perustiedot"."1- Tuotto" Target,
("A - Mallimyynti"."Aika"."T00 kalenteripäivämäärä"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Esimerkki vuosi- ja vuosineljänneskohtaisesta tuottoennusteesta

Tässä esimerkissä valitaan vuosi- ja vuosineljänneskohtainen tuottoennuste.

FORECAST("A - Mallimyynti"."Perustiedot"."1- Tuotto", 
("A - Mallimyynti"."Aika"."T01 vuosi" timeYear, "A - Mallimyynti"."Aika"."T02 vuosineljännes" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Luo aikasarjamallin määritetystä mittarista sarjan ajalta käyttämällä joko eksponentiaalista tasoitusta (ETS), kausittaista ARIMA-mallia tai ARIMA-mallia. Tämä toiminto tulostaa ennusteen numPeriods-määrityksen mukaiselle jaksojoukolle.

Katso myös alla olevat FORECAST-funktion lisävalinnat.

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

Jossa:

  • measure on ennustettava mittari, kuten ennustettavat tuottotiedot.

  • series on ajan tarkkuus, jota käytetään ennustemallin luomiseen. Sarja on yhden tai useamman aikadimensiosarakkeen lista. Jos jätät sarjan pois, ajan tarkkuus määritetään kyselyn perusteella.

  • output_column_name on sallitut sarakkeen nimet forecast, low, high ja predictionInterval.

  • options on merkkijonolista nimen ja arvon pareja, jotka on eroteltu toisistaan puolipisteellä (;). Arvo voi sisältää %1 ... %N, jotka on määritetty kohdassa ajonaikaiset_sidotut_valinnat.

  • runtime_binded_options on pilkuilla eroteltu lista sarakkeista ja valinnoista. Näiden sarakkeiden arvot ja valinnat arvioidaan ja ratkaistaan yksittäisten kyselyjen suorituksen aikana.

Katso myös alla olevat FORECAST-funktion lisävalinnat.

OUTLIER

OUTLIER((tuote, yritys), (laskutettu_määrä, tuotto), 'isOutlier', 'algorithm=kmeans')

Luokittelee tietueen poikkeavaksi yhden tai useamman syötelausekkeen perusteella käyttämällä K-Means-menetelmää tai hierarkkista ryvästystä tai monimuuttujaisia poikkeavien havaintojen tunnistusalgoritmeja.

OUTLIER((dimensio_lauseke1, ... dimensio_lausekeN), (lauseke1, ... lausekeN), tulostesarakkeen_nimi, valinnat, [ajonaikaiset_sidotut_valinnat])

REGR

REGR(tuotto, (alennussumma), (tuotetyyppi, brändi), fitted, ")

Sovittaa lineaarisen mallin ja palauttaa sovitetut arvot tai mallin. Tällä funktiolla voidaan sovittaa lineaarinen käyrä kahteen mittariin.

REGR(y_akseli_mittari_lauseke, (x_akseli_lauseke), (luokka_lauseke1, ..., luokka_lausekeN), tulostesarakkeen_nimi, valinnat, [ajonaikaiset_sidotut_valinnat])

TRENDLINE

TRENDLINE(tuotto, (kalenterivuosi, kalenterineljännes, kalenterikuukausi) BY (tuote), 'LINEAR', 'VALUE')

Oracle suosittelee visualisoinnin tarkasteluun suuntaviivaa Lisää tilastotiedot-ominaisuuden avulla. Katso kohta Visualisoinnin ominaisuuksien muuttaminen.

Sovittaa lineaarisen, polynomiaalisen tai eksponentiaalisen mallin ja palauttaa sovitetut arvot tai mallin. numeerinen_lauseke edustaa trendin Y-arvoa ja sarja (aikasarakkeet) edustaa X-arvoa.

TRENDLINE(numeerinen_lauseke, ([sarja]) BY ([partitionBy]), mallin_tyyppi, tuloksen_tyyppi)

FORECAST-funktion valinnat Seuraavassa taulukossa luetellaan valinnat, jotka ovat käytettävissä FORECAST-funktion kanssa.

Valinnan nimi Arvot Kuvaus
numPeriods Kokonaisluku Ennustettavien jaksojen määrä.
predictionInterval 0–100, korkeammat arvot merkitsevät suurempaa luotettavuutta Ennusteen luotettavuustaso.
modelType

ETS (eksponentiaalinen tasoitus)

SeasonalArima

ARIMA

Ennusteissa käytetty malli.
useBoxCox

TRUE

FALSE

Jos arvo on TRUE, käytä Box-Cox-muunnosta.
lambdaValue Ei käytössä

Box-Cox-muunnoksen parametri.

Ohita, jos arvo on NULL tai jos useBoxCox-arvo on FALSE.

Muussa tapauksessa tiedot muunnetaan ennen mallin arviointia.

trendDamp

TRUE

FALSE

Käytössä vain eksponentiaalisen tasoituksen mallissa.

Jos arvo on TRUE, käytä vaimentunutta trendiä. Jos arvo on FALSE tai NULL, käytä vaimentamatonta trendiä.

errorType

Ei käytössä

Käytössä vain eksponentiaalisen tasoituksen mallissa.
trendType

N (ei mitään)

A (lisäävä)

M (moninkertaistuva)

Z (automaattisesti valittu)

Käytössä vain eksponentiaalisen tasoituksen mallissa
seasonType

N (ei mitään)

A (lisäävä)

M (moninkertaistuva)

Z (automaattisesti valittu)

Käytössä vain eksponentiaalisen tasoituksen mallissa
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (tämä on oletusarvo)

Mallin valinnassa käytetty tietoehto (IC).

Muunnosfunktiot

Muunnosfunktiot muuntavat arvon yhdestä muodosta toiseen.

Funktio Esimerkki Kuvaus Syntaksi

CAST

CAST(hiredate AS CHAR(40)) FROM työntekijä

Muuttaa lausekkeen tietotyypin tai null-literaalin toiseksi tietotyypiksi. Voit esimerkiksi muuttaa muuttujan customer_name (tietotyyppiä CHAR tai VARCHAR) tai muuttujan birthdate (datetime-literaali).

Käytä CAST-funktiota Date-tietotyypiksi muuttamiseen.

Älä käytä TODATE-funktiota.

CAST(lauseke AS tyyppi)

IFNULL

IFNULL(Myynti, 0)

Tarkistaa, antaako lauseke null-arvon ja jos antaa, sijoittaa määritetyn arvon lausekkeeseen.

IFNULL(lauseke, arvo)

INDEXCOL

SELECT INDEXCOL(VALUEOF ("NQ_SESSION"."GEOGRAPHY_LEVEL"), Country, State, City), Revenue FROM Sales

Käyttää ulkoisia tietoja sopivan sarakkeen palautukseen sisäänkirjautuneen käyttäjän nähtäväksi.

INDEXCOL([kokonaisluvun literaali], [lauseke1] [, [lauseke2], ?-])

NULLIF

SELECT e.sukunimi, NULLIF(e.työn_tunnus, j.työn_tunnus) "Vanha työn tunnus" FROM työntekijät e, työhistoria j WHERE e.työntekijän_tunnus = j.työntekijän_tunnus ORDER BY sukunimi, "Vanha työn tunnus";

Vertailee kahta lauseketta. Jos ne ovat samanarvoisia, funktio palauttaa tyhjän. Jos ne eivät ole samanarvoisia, funktio palauttaa ensimmäisen lausekkeen. NULL-literaalia ei voi määrittää ensimmäiselle lausekkeelle.

NULLIF([lauseke], [lauseke])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM myynti

Muuntaa DateTime-muodon merkkijonoliteraalit DateTime-tietotyypiksi.

To_DateTime([lauseke], [literaali])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Alueen turvallisuus"."ALUE")

Viittaa semanttisen mallin muuttujan arvoon suodattimessa.

Käytä expr-muuttujia VALUEOF-funktion argumentteina. Viittaa staattisiin semanttisen mallin muuttujiin nimellä.

VALUEOF(lauseke)

Päivämäärän poiminnan funktiot

Näillä funktioilla lasketaan aikaleima-arvoja tai pyöristetään niitä lähimpään määritettyyn ajanjaksoon, kuten tuntiin, päivään, viikkoon, kuukauteen ja neljännesvuoteen.

Laskettujen aikaleimojen avulla tiedot voidaan koota eri tarkkuuksia käyttäen. Esimerkiksi funktiotaEXTRACTDAY() voidaan käyttää myyntitilausten päivämäärissä siten, että sillä lasketaan aikaleima tilauspäivän keskiyölle, jolloin tiedot voidaan koota vuorokausittain.

Funktio Esimerkki Kuvaus Syntaksi

Poimi päivä

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM palauttaa arvon 2/22/1967 12:00:00 AM.
  • 9/2/2022 10:38:21 AM palauttaa arvon 9/2/2022 12:00:00 AM.

Palauttaa aikaleiman sen vuorokauden keskiyölle (12 AM), jolloin syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi 3:02:01 AM 22. helmikuuta, funktio palauttaa päivälle 22.2. aikaleiman 12:00:00 AM.

EXTRACTDAY(expr)

Poimi tunti

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM palauttaa arvon 2/22/1967 3:00:00 AM.
  • 6/17/1999 11:18:30 PM palauttaa arvon 6/17/1999 11:00:00 PM.

Palauttaa aikaleiman sen tunnin alulle, jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi 11:18:30 PM, funktio palauttaa aikaleiman kellonajalle 11:00:00 PM.

EXTRACTHOUR (lauseke)

Poimi päivän tunti

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 palauttaa arvon 2000/01/01 10:00:00.
  • 2014/08/13 11:10:00 palauttaa arvon 2000/01/01 11:00:00

Palauttaa aikaleiman, jossa tunnit vastaavat syöttöarvon tuntia ja jossa on oletusarvot vuodelle, kuukaudelle, päivälle, minuuteille ja sekunneille.

EXTRACTHOUROFDAY(expr)

Poimi millisekunti

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 palauttaa arvon 1997/01/07 15:32:02.150.
  • 1997/01/07 18:42:01.265 palauttaa arvon 1997/01/07 18:42:01.265.
Palauttaa aikaleiman, joka sisältää syöttöarvon millisekunnit. Jos syötteen aikaleima on esimerkiksi 15:32:02.150, funktio palauttaa aikaleiman kellonajalle 15:32:02.150.

EXTRACTMILLISECOND(expr)

Poimi minuutti

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM palauttaa arvon 6/17/1999 11:18:00 PM.
  • 9/2/2022 10:38:21 AM palauttaa arvon 9/2/2022 10:38:00 AM.

Palauttaa aikaleiman sen minuutin alulle, jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi 11:38:21 AM, funktio palauttaa aikaleiman kellonajalle 11:38:00 AM.

EXTRACTMINUTE (expr)

Poimi kuukausi

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM palauttaa arvon 2/1/1967 12:00:00 AM.
  • 6/17/1999 11:18:00 PM palauttaa arvon 6/1/1999 12:00:00 AM.

Palauttaa aikaleiman sen kuukauden ensimmäiselle päivälle, jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi helmikuun 22. päivälle, funktio palauttaa aikaleiman helmikuun ensimmäiselle päivälle.

EXTRACTMONTH(expr)

Poimi vuosineljännes

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM palauttaa arvon 1/1/1967 12:00:00 AM, ensimmäisen vuosineljänneksen ensimmäisen päivän.
  • 6/17/1999 11:18:00 PM palauttaa arvon 4/1/1999 12:00:00 AM,toisen vuosineljänneksen ensimmäisen päivän.

  • 9/2/2022 10:38:21 AM palauttaa arvon 7/1/2022 12:00:00 AM, kolmannen vuosineljänneksen ensimmäisen päivän.

    Vihje: Funktiolla QUARTER (expr) voit laskea vuosineljänneksen järjestysluvun palautetusta aikaleimasta.

Palauttaa aikaleiman sen vuosineljänneksen ensimmäiselle päivälle, jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi kolmannelle vuosineljännekselle, funktio palauttaa aikaleiman heinäkuun ensimmäiselle päivälle.

EXTRACTQUARTER(expr)

Poimi sekunti

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 palauttaa arvon 1997/01/07 15:32:02.
  • 1997/01/07 20:44:18.163 palauttaa arvon 1997/01/07 20:44:18.

Palauttaa syöttöarvon aikaleiman. Jos syötteen aikaleima on esimerkiksi 15:32:02.150, funktio palauttaa aikaleiman kellonajalle 15:32:02.

EXTRACTSECOND(expr)

Poimi viikko

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 palauttaa arvon 2014/09/21.

  • 2014/08/13 11:10:00 palauttaa arvon 2014/08/10.

Palauttaa sen viikon ensimmäisen päivän (sunnuntain), jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi keskiviikolle, syyskuun 24. päivälle, funktio palauttaa aikaleiman sunnuntaille, syyskuun 21. päivälle.

Huomautus: Jos viikon ensimmäinen päivä (eli sunnuntai) osuu edellisen vuoden puolelle, mikä vaikuttaisi negatiivisesti koostamiseen, toiminto palauttaa viikon 7. päivän (eli lauantain) kuluna vuonna eikä viikon ensimmäistä päivää edellisenä vuonna. Esimerkiksi 1/1/24, 1/2/24 ja 1/3/24 käyttävät koosteessa lauantaita 1/6/24, eivätkä sunnuntaita 12/29/23.

EXTRACTWEEK(expr)

Poimi vuosi

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 palauttaa arvon 1967/01/01 00:00:00.
  • 1999/06/17 23:18:00 palauttaa arvon 1999/01/01 00:00:00.

Palauttaa aikaleiman sen vuoden tammikuun ensimmäiselle päivälle, jonka aikana syöttöarvo esiintyy. Jos syötteen aikaleima on esimerkiksi vuodelle 1967, funktio palauttaa aikaleiman vuoden 1967 tammikuun ensimmäiselle päivälle.

EXTRACTYEAR (expr)

Vihjeitä päivämäärädimension käyttöön aihealueissa

Tässä on joitakin vihjeitä parhaiden tulosten saavuttamiseksi, kun laskutoimituksissa käytetään aihealueen päivämääriä.

Aihealueen päivämäärän lisääminen laskutoimitukseen

Jos vedät päivämäärän aihealueesta suoraan laskutoimitukseen ja käsittelet sitä merkkijonona tai kokonaislukuna, saat virhesanoman. Tämä johtuu siitä, että perustana oleva päivämääräarvo on aikaleima.

Käytä päivämäärän tulkinnassa sen sijaan jotakin näistä: Päivämäärän poiminnan funktiot.

Käytössäsi saattaa olla esimerkiksi seuraavat aihealueen päivämäärät.
Kohteen GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png kuvaus seuraa
.png kuvaus

Poimi kuukausia näistä aihealueen päivämääristä ExtractMonthOfYear-funktiolla:

case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') 
THEN 'Q1' 
ELSE 'Rest of the year' END

Näyttöfunktiot

Näyttöfunktioita käytetään kyselyn tulosjoukkoon.

Funktio Esimerkki Kuvaus Syntaksi

BottomN

BottomN(Myynti, 10)

Palauttaa lausekkeen n alinta arvoa alimmasta ylimpään.

BottomN([NumeerinenLauseke], [kokonaisluku])

FILTER

FILTER(Myynti USING Tuote = 'widget')

Laskee lausekkeen käyttämällä annettua koostetta edeltävää suodatinta.

FILTER(mittari USING suodatin_lauseke)

MAVG

MAVG(Myynti, 10)

Laskee tulosjoukon viimeisten n rivin muuttuvan keskiarvon, kyseinen rivi mukaan luettuna.

MAVG([NumeerinenLauseke], [kokonaisluku])

MSUM

SELECT Kuukausi, Tuotto, MSUM(Tuotto, 3) as 3_MO_SUM FROM Myynti

Laskee tietojen viimeisten n rivin muuttuvan summan, nykyinen rivi mukaan luettuna.

Ensimmäisen rivin summa on yhtä suuri kuin ensimmäisen rivin numerolauseke. Toisen rivin summa lasketaan ottamalla kahden ensimmäisen rivin tietojen summa, ja niin edelleen. Kun päästään n:nnelle riville, summa lasketaan viimeisten n rivin tietojen perusteella.

MSUM([NumeerinenLauseke], [kokonaisluku])

NTILE

NTILE(Myynti, 100)

Määrittää arvon järjestyksen käyttäjän määrittämällä alueella. Se palauttaa kokonaislukuja, jotka vastaavat mitä tahansa järjestysten aluetta. Esimerkissä on alue 1 - 100, jossa alhaisin myynti = 1 ja korkein myynti = 100.

NTILE([NumeerinenLauseke], [kokonaisluku])

PERCENTILE

PERCENTILE(Myynti)

Laskee kullekin arvolle numerolausekkeen ehdot täyttävän prosenttiosuusjärjestyksen. Prosenttipistejärjestys vaihtelee välillä 0 (1. prosenttipiste) ja 1 (100. prosenttipiste) sisältäen nämä arvot.

PERCENTILE([NumeerinenLauseke])

RANK

RANK(Myynti)

Laskee kullekin arvolle numerolausekkeen ehdot täyttävän järjestyksen. Suurin arvo saa sijan 1 ja kukin seuraava määritetään seuraavalle kokonaisluvulle (2, 3, 4...). Jos tietyt arvot ovat samansuuruisia, ne määritetään samalle sijalle (esimerkiksi 1, 1, 1, 4, 5, 5, 7...).

RANK([NumeerinenLauseke])

RCOUNT

SELECT kuukausi, voitto, RCOUNT(voitto) FROM myynti WHERE voitto > 200

Tarkastelee tietuejoukkoa syötteenä ja laskee tähänastisten tietueiden määrän.

RCOUNT([NumeerinenLauseke])

RMAX

SELECT kuukausi, voitto, RMAX(voitto) FROM myynti

Tarkastelee tietuejoukkoa syötteenä ja näyttää tähänastisten tietueiden enimmäisarvon. Määritetyn tietotyypin on oltava tyyppi, jonka voi järjestää.

RMAX([NumeerinenLauseke])

RMIN

SELECT kuukausi, voitto, RMIN(voitto) FROM myynti

Tarkastelee tietuejoukkoa syötteenä ja näyttää tähänastisten tietueiden vähimmäisarvon. Määritetyn tietotyypin on oltava tyyppi, jonka voi järjestää.

RMIN([NumeerinenLauseke])

RSUM

SELECT kuukausi, tuotto, RSUM(tuotto) as RUNNING_SUM FROM myynti

Laskee juoksevan summan tähänastisten tietueiden perusteella.

Ensimmäisen rivin summa on yhtä suuri kuin ensimmäisen rivin numerolauseke. Toisen rivin summa lasketaan ottamalla kahden ensimmäisen rivin tietojen summa, ja niin edelleen.

RSUM([NumeerinenLauseke])

TOPN

TOPN(Myynti, 10)

Palauttaa lausekkeen n ylintä arvoa ylimmästä alimpaan.

TOPN([NumeerinenLauseke], [kokonaisluku])

Vihjeitä näyttöfunktioiden käyttöön

  • FILTER - Jos olet luomassa raporttia aihealuetta käyttäen, käytä kyseisessä aihealueessa määritettyjä hierarkioita sen sijaan, että suodattaisit hierarkiasarakkeet suoraan laskutoimituksessa. Toisin sanoen, jos aihealueella on hierarkia ajalle\tilikaudelle\tilivuosineljännekselle, vältä näitä:

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

Evaluate-funktiot

Evaluate-funktiot ovat tietokantafunktioita, joiden avulla lausekkeiden kautta päästään lisälaskutoimituksiin.

Upotetut tietokantafunktiot voivat edellyttää yhtä tai useampaa saraketta. Näihin sarakkeisiin viittaavat %1 ... %N funktion sisällä. Varsinaiset sarakkeet on listattava funktion jälkeen.

Funktio Esimerkki Kuvaus Syntaksi

EVALUATE

SELECT EVALUATE('instr(%1, %2)', osoite, 'Foster City') FROM työntekijät

Siirtää valinnaisia viitesarakkeita parametreina sisältävän määritetyn tietokantafunktion tietokantaan arvioitavaksi.

EVALUATE([merkkijonolauseke], [pilkulla erotetut lausekkeet])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', myynti.määrä, markkinat.markkinatunnus)

Siirtää valinnaisia viitesarakkeita parametreina sisältävän määritetyn tietokantafunktion tietokantaan arvioitavaksi. Tämä funktio on tarkoitettu koostefunktioille, joilla on GROUP BY -lauseke.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS tietotyyppi] [, sarake1, sarakeN])

Matemaattiset funktiot

Tässä osassa kuvatuilla matemaattisilla funktioilla suoritetaan matemaattisia toimintoja.

Funktio Esimerkki Kuvaus Syntaksi

ABS

ABS(Voitto)

Laskee numeerisen lausekkeen absoluuttisen arvon.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

ABS(expr)

ACOS

ACOS(1)

Laskee numeerisen lausekkeen arkuskosinin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

ACOS(expr)

ASIN

ASIN(1)

Laskee numeerisen lausekkeen arkussinin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

ASIN(expr)

ATAN

ATAN(1)

Laskee numeerisen lausekkeen arkustangentin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

ATAN(expr)

ATAN2

ATAN2(1, 2)

Laskee y /x:n kaaren tangentin, kun y on ensimmäinen numeerinen lauseke ja x on toinen numeerinen lauseke.

ATAN2(expr1, expr2)

CEILING

CEILING(Voitto)

Pyöristää muun kuin kokonaislukumuotoisen numeerisen lausekkeen seuraavaan suurempaan kokonaislukuun. Jos numeerinen lauseke antaa kokonaisluvun, CEILING-funktio palauttaa kyseisen kokonaisluvun.

CEILING(expr)

COS

COS(1)

Laskee numeerisen lausekkeen kosinin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

COS(expr)

COT

COT(1)

Laskee numeerisen lausekkeen kotangentin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

COT(expr)

DEGREES

DEGREES(1)

Muuntaa lausekkeen radiaaneista asteiksi.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

DEGREES(expr)

EXP

EXP(4)

Korottaa arvon määritettyyn potenssiin. Laskee e:n korotettuna n:nteen potenssiin, jossa e on luonnollisen logaritmin kanta.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Noutaa bitin kokonaisluvun tietyssä kohdassa. Se palauttaa bitin kohtaa vastaavan kokonaisluvun, joko 0 tai 1.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Voitto)

Pyöristää muun kuin kokonaislukumuotoisen numeerisen lausekkeen seuraavaan pienempään kokonaislukuun. Jos numeerinen lauseke antaa kokonaisluvun, FLOOR-funktio palauttaa kyseisen kokonaisluvun.

FLOOR(expr)

LOG

LOG(1)

Laskee lausekkeen luonnollisen algoritmin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

LOG(expr)

LOG10

LOG10(1)

Laskee lausekkeen 10 peruslogaritmia.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

LOG10(expr)

MOD

MOD(10, 3)

Jakaa ensimmäisen numeerisen lausekkeen toisella numeerisella lausekkeella ja antaa tulokseksi osamäärän jakojäännösosan.

MOD(expr1, expr2)

PI

PI()

Palauttaa piin vakioarvon.

PI()

POWER

POWER(Voitto, 2)

Korottaa ensimmäisen numeerisen lausekkeen toisessa numeerisessa lausekkeessa määritettyyn potenssiin.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

Muuntaa lausekkeen asteista radiaaneiksi.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

RADIANS(expr)

RAND

RAND()

Palauttaa näennäissatunnaisen numeron väliltä 0 ja 1.

RAND()

RANDFromSeed

RAND(2)

Palauttaa siemenarvoon perustuvan näennäissatunnaisen luvun. Tietylle siemenarvolle luodaan sama satunnaisten numeroiden sarja.

RAND(expr)

ROUND

ROUND(2.166000, 2)

Pyöristää numerolausekkeen n:n numeron tarkkuuteen.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

integer on mikä tahansa positiivinen kokonaisluku, joka edustaa tarkkuuden numeroiden määrää.

ROUND(expr, integer)

SIGN

SIGN(Voitto)

Palauttaa seuraavan arvon:

  • 1, jos numeerisella lausekkeella arvioidaan positiivista lukua

  • -1, jos numeerisella lausekkeella arvioidaan negatiivista lukua

  • 0, jos numeerisella lausekkeella arvioidaan nollaa

SIGN(expr)

SIN

SIN(1)

Laskee numeerisen lausekkeen sinin.

SIN(expr)

SQRT

SQRT(7)

Laskee numeerisen lausekeargumentin neliöjuuren. Numeerisella lausekkeella on arvioitava ei-negatiivista lukua.

SQRT(expr)

TAN

TAN(1)

Laskee numeerisen lausekkeen tangentin.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Katkaisee desimaaliluvun ja palauttaa määritetyn määrän desimaaleja desimaalierottimesta lukien.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

integer on mikä tahansa positiivinen kokonaisluku, joka edustaa desimaalierottimen oikealla puolella olevien palautettavien merkkien määrää.

TRUNCATE(expr, integer)

Juoksevat koostefunktiot

Koostefunktioiden avulla suoritetaan toimintoja useille arvoille ja laaditaan yhteenvetoja.

Funktio Esimerkki Kuvaus Syntaksi

MAVG

 

Laskee tulosjoukon viimeisten n rivin muuttuvan keskiarvon, kyseinen rivi mukaan luettuna.

Kohtaan lauseke voi tulla mikä tahansa lauseke, joka antaa numeerisen arvon. Kohdassa kokonaisluku voi olla mikä tahansa positiivinen kokonaisluku. Näyttää tietojen n viimeisen rivin keskiarvon.

MAVG(lauseke, kokonaisluku)

MSUM

select kuukausi, tuotto, MSUM(tuotto, 3) as 3_MO_SUM from myynti_aihe_alue

Laskee tietojen viimeisten n rivin muuttuvan summan, nykyinen rivi mukaan luettuna.

Kohtaan lauseke voi tulla mikä tahansa lauseke, joka antaa numeerisen arvon. Kohdassa kokonaisluku voi olla mikä tahansa positiivinen kokonaisluku. Näyttää tietojen viimeisten n rivin summan.

MSUM(lauseke, kokonaisluku)

RSUM

SELECT kuukausi, tuotto, RSUM(tuotto) as RUNNING_SUM from myynti_aihe_alue

Laskee juoksevan summan tähänastisten tietueiden perusteella.

lauseke on mikä tahansa lauseke, jolla arvioidaan numeerista arvoa.

RSUM(lauseke)

RCOUNT

select kuukausi, voitto, RCOUNT(voitto) from myynti_aihe_alue where voitto > 200

Tarkastelee tietuejoukkoa syötteenä ja laskee tähänastisten tietueiden määrän.

Kohta lauseke on minkä tahansa tietotyypin lauseke.

RCOUNT(lauseke)

RMAX

SELECT kuukausi, voitto,RMAX(voitto) from myynti_aihe_alue

Tarkastelee tietuejoukkoa syötteenä ja näyttää tähänastisten tietueiden enimmäisarvon.

Kohta lauseke on minkä tahansa tietotyypin lauseke.

RMAX(lauseke)

RMIN

select kuukausi, voitto,RMIN(voitto) from myynti_aihe_alue

Tarkastelee tietuejoukkoa syötteenä ja näyttää tähänastisten tietueiden vähimmäisarvon.

Kohta lauseke on minkä tahansa tietotyypin lauseke.

RMIN(lauseke)

Tilafunktiot

Tilafunktioiden avulla voit suorittaa maantieteellisen analyysin, kun mallinnat tietoja. Voit esimerkiksi laskea kahden maantieteellisen alueen (joita kutsutaan muodoiksi tai monikulmioiksi) välisen etäisyyden.

Huomautus::

Et voi käyttää näitä tilafunktioita visualisointityökirjojen räätälöidyissä laskutoimituksissa.
Funktio Esimerkki Kuvaus Syntaksi
GeometryArea

GeometryArea(Shape)

Laskee alueen, josta muoto muodostuu.

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

Laskee kahden muodon välisen etäisyyden.

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

Laskee muodon ympärysmitan.

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

Määrittää, onko muoto toisen muodon sisällä. Palauttaa arvon TOSI tai EPÄTOSI merkkijonona (varchar).

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

Määrittää, ovatko kaksi muotoa tietyn välimatkan päässä toisistaan. Palauttaa arvon TOSI tai EPÄTOSI merkkijonona (varchar).

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

Merkkijonofunktiot

Merkkijonofunktiot suorittavat erilaisia merkinkäsittelytoimintoja. Ne toimivat merkkijonoissa.

Funktio Esimerkki Kuvaus Syntaksi

ASCII

ASCII('a')

Muuntaa yksittäisen merkkijonon vastaavaksi ASCII-koodiksi välillä 0 - 255. Jos merkkilausekkeella arvioidaan useita merkkejä, palautetaan lausekkeen ensimmäistä merkkiä vastaava ASCII-koodi.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Palauttaa tietyn merkkijonon pituuden bitteinä. Kukin Unicode-merkki on kaksi tavua pitkä (vastaa 16 bittiä).

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

BIT_LENGTH(expr)

CHAR

CHAR(35)

Muuntaa numeerisen arvon välillä 0 - 255 ASCII-koodin mukaiseksi merkkiarvoksi.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on numeerinen arvo väliltä 0 - 255.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Asiakkaan_nimi)

Palauttaa tietyn merkkijonon pituuden merkkien määränä. Merkkijonon alussa tai lopussa olevia välejä ei lasketa merkkijonon pituuteen.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM työntekijä

Ketjuttaa kaksi merkkijonoa.

expr-muuttujat ovat pilkulla eroteltuja lausekkeita, joiden arvioinnin tulos on merkkijono.

CONCAT-funktion kanssa on käytettävä raakatietoja muotoiltujen tietojen sijaan.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM taulu

Lisää määritetyn merkkijonon määritettyyn sijaintiin toisessa merkkijonossa.

expr1 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää kohdemerkkijonon.

integer1 on mikä tahansa positiivinen kokonaisluku, joka edustaa merkkimäärää kohdemerkkijonon alusta laskien. Toinen merkkijono lisätään näiden merkkien jälkeen.

integer2 on mikä tahansa positiivinen kokonaisluku, joka edustaa toisella merkkijonolla korvattavaa kohdemerkkijonon merkkimäärää.

expr2 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää kohdemerkkijonoon lisättävän merkkijonon.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM taulu

Palauttaa määritetyn merkkimäärän merkkijonon vasemmalta puolelta.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono

integer on mikä tahansa positiivinen kokonaisluku, joka edustaa merkkijonon vasemmalla puolella olevien merkkien määrää.

LEFT(expr, integer)

LENGTH

LENGTH(Asiakkaan_nimi)

Palauttaa tietyn merkkijonon pituuden merkkien määränä. Palautettu pituus ei sisällä merkkijonon lopussa olevia tyhjiä merkkejä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Palauttaa merkkijonon numeerisen paikan toisessa merkkijonossa. Jos merkkijonoa ei löydy haettavasta merkkijonosta, funktio palauttaa arvon 0.

expr1 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää haettavan merkkijonon.

expr2 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

Määrittää haettavan merkkijonon.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

Kuten LOCATE-funktio, palauttaa merkkijonon numeerisen paikan toisessa merkkijonossa. LOCATEN sisältää kokonaislukuargumentin, jonka avulla voit määrittää haun alkukohdan.

expr1 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää haettavan merkkijonon.

expr2 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää haettavan merkkijonon.

integer on mikä tahansa positiivinen kokonaisluku, joka ei ole nolla ja joka edustaa kohtaa, josta haettavaa merkkijonoa aletaan etsiä.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Asiakkaan_nimi)

Muuntaa merkkijonon pieniksi kirjaimiksi.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Palauttaa tietyn merkkijonon tavumäärän.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Palauttaa merkkilausekkeen kohdan strExpr1 numeerisen kohdan. Jos kohtaa strExpr1 ei löydy, funktio palauttaa arvon 0.

expr1 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää kohdemerkkijonosta haettavan merkkijonon. Esimerkiksi "d".

expr2 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Määrittää haettavan kohdemerkkijonon. Esimerkiksi "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Toistaa määritetyn lausekkeen n kertaa.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono

integer on mikä tahansa positiivinen merkkijono, joka edustaa merkkijonon toistojen määrää.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

Korvaa määritetyn merkkilausekkeen yhden merkin tai useampia merkkejä yhdellä tai useammalla muulla merkillä.

expr1 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Tämä on merkkijono, jossa merkit korvataan.

expr2 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Tämä toinen merkkijono määrittää ensimmäisen merkkijonon korvattavat merkit.

expr3 on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono. Tämä kolmas merkkijono määrittää ne merkit, joilla ensimmäisen merkkijonon nykyiset merkit korvataan.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM taulu

Palauttaa määritetyn merkkimäärän merkkijonon oikealta puolelta.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

integer on mikä tahansa positiivinen kokonaisluku, joka edustaa merkkijonon oikealla puolella olevien palautettavien merkkien määrää.

RIGHT(expr, integer)

SPACE

SPACE(2)

Lisää välilyöntejä.

kokonaisluku on mikä tahansa positiivinen kokonaisluku, joka määrittää lisättävien välilyöntien määrän.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Luo uuden merkkijonon alkuperäiseen merkkijonoon alkaen merkkien kiinteästä määrästä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

startPos on mikä tahansa positiivinen kokonaisluku, joka edustaa merkkijonon vasemmalla puolella olevaa merkkimäärää alusta laskien. Tulos alkaa siitä.

SUBSTRING([SourceString] FROM [StartPosition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

Kuten SUBSTRING-funktio, luo uuden merkkijonon alkuperäiseen merkkijonoon alkaen merkkien kiinteästä määrästä.

SUBSTRINGN sisältää kokonaislukuargumentin, jonka avulla voit määrittää uuden merkkijonon pituuden merkkien määränä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

startPos on mikä tahansa positiivinen kokonaisluku, joka edustaa merkkijonon vasemmalla puolella olevaa merkkimäärää alusta laskien. Tulos alkaa siitä.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Poistaa määritetyt etu- ja jälkimerkit merkkijonosta.

char on mikä tahansa yksittäinen merkki. Jos jätät tämän määrityksen (ja pakolliset yksinkertaiset lainausmerkit) pois, oletusarvona käytetään tyhjämerkkiä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Poistaa määritetyt etumerkit merkkijonosta.

char on mikä tahansa yksittäinen merkki. Jos jätät tämän määrityksen (ja pakolliset yksinkertaiset lainausmerkit) pois, oletusarvona käytetään tyhjämerkkiä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Poistaa määritetyt jälkimerkit merkkijonosta.

char on mikä tahansa yksittäinen merkki. Jos jätät tämän määrityksen (ja pakolliset yksinkertaiset lainausmerkit) pois, oletusarvona käytetään tyhjämerkkiä.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Asiakkaan_nimi)

Muuntaa merkkijonon isoiksi kirjaimiksi.

expr on mikä tahansa lauseke, jonka arvioinnin tulos on merkkijono.

UPPER(expr)

Vihjeitä merkkijonofunktioiden käyttöön

Tässä on joitakin vihjeitä merkkijonofunktioiden hyödyntämiseen työkirjoissa.

Usean arvon yhdistäminen:

LISTAGG-funktiolla voit yhdistää useita arvoja yhteen soluun ja yhdelle riville.

listagg(<column to concatenate> by <grouping column>)

Lisää on overflow truncate, jos tuloksena oleva merkkijono on liian pitkä, ja lisää distinct, jos arvot eivät ole yksilöiviä.

Esimerkki:

listagg(distinct City_ID by STATE on overflow truncate)

Järjestelmäfunktiot

USER-järjestelmäfunktio palauttaa istuntoon liittyviä arvoja. Esimerkiksi käyttäjätunnuksen, jolla kirjauduit sisään.

Funktio Esimerkki Kuvaus Syntaksi

DATABASE

 

Palauttaa sen aihealueen nimen, johon olet kirjautunut.

DATABASE()

USER

 

Palauttaa sen semanttisen mallin käyttäjätunnuksen, johon olet kirjautuneena.

USER()

Aikasarjafunktiot

Aikasarjafunktioilla voit koostaa ja ennustaa tietoja aikadimensioiden perusteella. Esimerkiksi AGO-funktiolla voit laskea tuoton vuosi sitten.

Aikadimension jäsenten on oltava funktion tasolla tai sen alapuolella. Tästä syystä kyselyssä on projisoitava yksi tai useampi sarake, joka tunnistaa jäsenet yksilöivästi annetulla tasolla tai sen alapuolella.

Funktio Esimerkki Kuvaus Syntaksi

AGO

SELECT Vuoden_tunnus, AGO(myynti, vuosi, 1)

Laskee mittarin koostearvon määritettynä aikajaksona menneisyydessä. Esimerkiksi kuukausituotto vuosi sitten lasketaan funktiolla AGO(Revenue, Year, 1, SHIP_MONTH). Edellisen vuosineljänneksen tuotot lasketaan funktiolla AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Jossa:

  • MEASURE on mittari, jolla lasketaan esimerkiksi tuotto.
  • TIME_LEVEL on aikaväli, jonka arvon on oltava vuosi (Year), vuosineljännes (Quarter), kuukausi (Month), viikko (Week) tai päivä (Day).
  • OFFSET on taaksepäin laskettavien aikavälien määrä, esim. 1 = yksi vuosi.

PERIODROLLING

SELECT Kuukauden_tunnus, PERIODROLLING (kuukauden_myynti, -1, 1)

Laskee mittarin koosteen ajanjaksolle, joka alkaa x aikayksikköä ja päättyy y aikayksikköä nykyhetkestä. PERIODROLLING voi esimerkiksi laskea myynnin jaksolle, joka alkaa nykyistä neljännestä edeltävästä neljänneksestä ja päättyy nykyisen neljänneksen jälkeiseen neljännekseen.

PERIODROLLING(mittari, x [,y])

Jossa:

  • MEASURE on mittarisarakkeen nimi.
  • X on kokonaisluku, joka ilmaisee siirtymän nykyhetkestä.
  • Y on kokonaisluku, joka ilmaisee aikayksiköiden määrän, jonka funktio ottaa huomioon laskennassa.
  • HIERARCHY on valinnainen argumentti, joka ilmaisee aikadimension (esim. YR, MON tai DAY) hierarkian, jota haluat käyttää aikavälin laskemiseen.

TODATE

SELECT Vuoden_tunnus, Kuukauden_tunnus, TODATE (myynti, vuosi)

Laskee mittarin koostearvon ajanjakson alusta viimeisimpään ajanjaksoon, esimerkiksi laskennoissa vuoden alusta.

Esimerkiksi myynti vuoden alusta lasketaan funktiolla TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

Jossa:

  • MEASURE on lauseke, joka viittaa vähintään yhteen mittarisarakkeeseen, kuten myyntiin.
  • TIME_LEVEL on aikaväli, jonka arvon on oltava vuosi (Year), vuosineljännes (Quarter), kuukausi (Month), viikko (Week) tai päivä (Day).