F A Kifejezésszerkesztő ismertetése

Ez a szakasz a Kifejezésszerkesztőben használható kifejezéselemeket ismerteti.

Témakörök:

SQL operátorok

SQL-operátorok használatával meghatározhat összehasonlításokat és számtani műveleteket a kifejezések között.

Az SQL műveleti jeleknek különböző típusai használhatók.

Műveleti jel Példa Leírás Szintaxis

BETWEEN

"COSTS"."UNIT_COST" BETWEEN 100.0 AND 5000.0

Meghatározza, hogy egy érték két nem inkluzív határérték között van-e.

A feltétel negációjához a BETWEEN előtt a NOT állhat.

BETWEEN [LowerBound] AND [UpperBound]

IN

"COSTS"."UNIT_COST" IN(200, 600, 'A')

Meghatározza, hogy egy érték szerepel-e egy értékkészletben.

IN ([Comma Separated List])

IS NULL

"PRODUCTS"."PROD_NAME" IS NULL

Meghatározza, hogy egy érték null-e.

IS NULL

LIKE

"PRODUCTS"."PROD_NAME" LIKE 'prod%'

Meghatározza, hogy egy érték egyezik-e egy karakterlánc egészével vagy egy részével. Gyakran helyettesítő karakterekkel használják tetszőleges karakterlánc egyezésének megadásához nulla vagy több karakterrel (%), illetve egyetlen karakterrel (_).

LIKE

+

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Pluszjel összeadáshoz.

+

-

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Mínusz jel kivonáshoz.

-

* vagy X

SUPPORT_SERVICES_EXPENDITURE * 1.5

Szorzás jel szorzáshoz.

*

X

/

CAPITAL_OUTLAY_EXPENDITURE/1.05

Osztás jel osztáshoz.

/

%

 

Százalék

%

||

STATE||CAST(YEAR AS CHAR(4))

Karakterláncok összefűzése.

||

(

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Nyitó zárójel.

(

)

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Záró zárójel.

)

>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

"Nagyobb, mint" jel, amely azt jelzi, hogy az értékek magasabbak az összehasonlított értékeknél.

>

<

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

"Kisebb, mint" jel, amely azt jelzi, hogy az értékek alacsonyabbak az összehasonlított értékeknél.

<

=

 

Egyenlőség jel, amely egyenlő értéket jelez.

=

>=

 

„Nagyobb vagy egyenlő” jel, amely azt jelzi, hogy az értékek megegyeznek az összehasonlított értékekkel vagy nagyobbak ezeknél.

>=

<=

 

"Kisebb vagy egyenlő" jel, amely azt jelzi, hogy az értékek megegyeznek az összehasonlított értékekkel vagy alacsonyabbak náluk.

<=

<>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

„Nem egyenlő” jel nagyobb vagy kisebb, de nem egyenlő értékek jelzéséhez.

<>

,

STATE in ('ALABAMA','CALIFORNIA')

Vessző, amely a listában lévő elemek elválasztásához használható.

,

Függvények

Különböző típusú függvények vannak, amelyek kifejezésekben használhatók.

Témakörök:

Összesítő függvények

Az összesítő függvények több értéken végzett műveletek segítségével összesítő eredményeket hoznak létre.

A következő lista az oszlopokhoz és a mérőszám oszlopokhoz elérhető összesítési szabályokat ismerteti. A lista tartalmazza a számított elemek elemzések részére történő létrehozásakor használható függvényeket is.

  • Alapértelmezett – A szemantikai modell vagy az elemzés eredeti szerzője által megadott alapértelmezett összesítési szabályt alkalmazza. Nem érhető el számított elemek esetén az elemzésekben.

  • Kiszolgálói összesítés – Az Oracle Analytics által meghatározott (például a szemantikai modellben definiált) összesítési szabályt alkalmazza. Az olyan egyszerű szabályok esetén, mint a Sum, a Min és a Max, az összesítést az Oracle Analytics végzi. Nem használható az Elrendezés panelen lévő mérőszámos oszlopokhoz, sem az elemzésekben a számított elemekhez.

  • Összeg – az eredményhalmazban lévő összes érték összeadásával kiszámítja az összeget. Numerikus értékkel rendelkező elemek esetében használható.

  • Minimum – az eredményhalmazban lévő sorok minimális (legalacsonyabb numerikus) értékét számítja ki. Numerikus értékkel rendelkező elemek esetében használható.

  • Maximum – az eredményhalmazban lévő sorok maximális (legmagasabb numerikus) értékét számítja ki. Numerikus értékkel rendelkező elemek esetében használható.

  • Átlag – az eredményhalmaz elemeinek átlagos (közép-) értékét számítja ki. Numerikus értékkel rendelkező elemek esetében használható. A táblákban és pivot táblákban lévő átlagokat a rendszer a következő egész számra kerekíti.

  • Első – mérőszámok esetén az eredményhalmazban kijelöli az elem első előfordulását. Számított elemek esetén a megjelenítés szerint kiválasztja a Kijelölt listán az első tagot. Nem érhető el az Oszlopképlet szerkesztése párbeszédpanelen.

  • Utolsó – mérőszámok esetén az eredményhalmazban kijelöli az elem utolsó előfordulását. Számított elemek esetén a megjelenítés szerint kiválasztja a Kijelölt listán az utolsó tagot. Nem érhető el az Oszlopképlet szerkesztése párbeszédpanelen.

  • Darabszám – kiszámítja az eredményhalmazban azoknak a soroknak a számát, amelyek nem null értékűek az elemnél. Az elem általában egy oszlopnév, így ebben az esetben az adott oszlophoz tartozó, nem null értékkel rendelkező sorok számát adja vissza.

  • Eltérőek számlálása – külön feldolgozást kapcsol a Darabszám funkcióhoz, ami azt jelenti, hogy az elem minden új előfordulását csak egyszer számítja.

  • Egyik sem – nem alkalmaz összesítést. Nem érhető el számított elemek esetén az elemzésekben.

  • Kimutatás alapú összesítés (amennyiben alkalmazható) – ha nincs bejelölve, azt adja meg, hogy az Oracle Analytics a teljes eredményhalmaz alapján számítsa ki az összeget, mielőtt szűrőket alkalmazna a mérőszámokon. Nem érhető el az Oszlopképlet szerkesztése párbeszédpanelen vagy számított elemek esetén az elemzésekben. Csak attribútum oszlopokhoz érhető el.

Függvény Példa Leírás Szintaxis

AGGREGATE AT

AGGREGATE(sales AT year)

Oszlopokat összesít az adatmodell hierarchiájának megadott szintje vagy szintjei alapján.

  • measure egy mérőszámoszlop neve.
  • level az a szint, amelyen összesíteni szeretne.

Választható módon több szintet is megadhat. Nem adhatja meg olyan dimenzió szintjét, amely az első argumentumban megadott mérőszámhoz mérőszámszintként használt szinteket tartalmaz. Például nem írhatja így a függvényt: AGGREGATE(yearly_sales AT month), ha a month ugyanabból az idődimenzióból származik, amelyet mérőszámszintként a yearly_sales használ.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Összesít egy mérőszámot egy vagy több dimenzióoszlop alapján.
  • measure egy összesítendő mérőszámoszlop neve.

  • column az a dimenzióoszlop, amelyben összesíteni szeretne.
Több mint egy oszlop alapján is összesíthet mérőszámokat.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Egy numerikus értékhalmaznak az átlagát (középértékét) számítja ki.

AVG(expr)

AVGDISTINCT

 

A kifejezésben a nem azonos értékek átlagát számolja ki.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Adott numerikus kifejezést besorol a megadott számú, egyenlő szélességű tárolók szerint. A függvény visszatérési értéke a tároló száma, illetve a tároló intervalluma két végpontjának egyike lehet. A numeric_expr a tároló mérőszáma vagy numerikus attribútuma. A BY grain_expr1,…, grain_exprN: azon felbontási szintet definiáló kifejezések listája, amelynél a numeric_expr kiszámítása történik. A BY kötelező a mérőszámos kifejezéseknél, és elhagyható (választható) az attribútumos kifejezéseknél. WHERE: a numeric_expr értékére alkalmazott szűrő a numerikus értékek rekeszekbe sorolása előtt; INTO number_of_bins BINS: a visszaadni kívánt rekeszek száma; BETWEEN min_value AND max_value: a legkülső rekeszek végpontjaihoz használt minimális és maximális érték; RETURNING NUMBER: azt jelzi, hogy a visszatérési érték a rekesz száma (például 1, 2, 3, 4 stb.). Ez az alapértelmezés. RETURNING RANGE_LOW: a tároló intervallumának alsó értéke, RETURNING RANGE_HIGH: a tároló intervallumának felső értéke

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

A kifejezés argumentumai közötti n legalacsonyabb értéket rangsorolja 1-től n-ig, az 1 a legalacsonyabb számértéknek felel meg.

Az expr numerikus értéket eredményül adó bármely kifejezés. Az integer bármely pozitív egész szám. Az eredményhalmazban megjelenített rangsorolások legkisebb számát jelzi, ahol az 1 a legalacsonyabb rangsornak felel meg

BottomN(expr, integer)

COUNT

COUNT(Products)

A nem null értéket tartalmazó elemek számát számítja ki.

COUNT(expr)

COUNTDISTINCT

 

A COUNT függvény végrehajtását korlátozza eltérő értékekre.

expr tetszőleges kifejezés.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Kiszámolja a sorok számát.

COUNT(*)

First

First(Sales)

Kiválasztja a kifejezés argumentumának első nem null visszaadott értékét. A First függvény az explicit módon definiált dimenzióban megadott legrészletesebb szinten működik.

First([NumericExpression)]

Last

Last(Sales)

Kiválasztja a kifejezés utolsó nem null visszaadott értékét.

Last([NumericExpression)]

MAVG

 

Mozgó átlagot számol az eredményhalmazban lévő adatok utolsó n sorára, az aktuális sort is beleértve.

Az expr numerikus értéket adó tetszőleges kifejezés. integer tetszőleges pozitív egész szám. Az adatok utolsó n számú sorának átlagát jelöli.

MAVG(expr, integer)

MAX

MAX(Revenue)

A kifejezés numerikus argumentumának eleget tevő sorok legnagyobb értékét számolja ki.

MAX(expr)

MEDIAN

MEDIAN(Sales)

A kifejezés szám argumentumának eleget tevő sorok medián értékét számolja ki. Ha a sorok száma páratlan érték, a medián a két középső sor középértékének felel meg. A függvény mindig dupla adattípusú értéket ad vissza.

MEDIAN(expr)

MIN

MIN(Revenue)

A kifejezés numerikus argumentumának eleget tevő sorok legkisebb értékét számolja ki.

MIN(expr)

NTILE

 

Meghatározza az érték rangsorát a felhasználó által megadott tartomány vonatkozásában. A rangsorok tetszőleges tartományát képviselő egész számokat ad vissza. Az NTILE a numTiles=100 esetében azt adja vissza, amit „percentilisnek” neveznek (ez 1-től 100-ig tartó besorolás, ahol 100 fejezi ki a rendezés felső végét).

Az expr bármilyen, numerikus értéket eredményező kifejezés. A numTiles pozitív, nem null egész szám, amely a részek számát jelöli.

NTILE(expr, numTiles)

PERCENTILE

 

A kifejezés numerikus argumentumának eleget tevő egyes értékek percentilis rangsorát számolja ki. A percentilis rangsor 0 (0. percentilis) és 1 (100. percentilis) közötti szám lehet.

Az expr bármilyen, numerikus értéket eredményező kifejezés.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

A kifejezés numerikus argumentumának eleget tevő egyes értékek rangsorát számolja ki. A legnagyobb számértékhez az 1-es rangsor, majd egymás után a következő egész számmal (2, 3, 4,...) kifejezett rangsor rendelődik az egyes értékekhez. Ha az értékek egyezőek, azonos rangsorbeli értéket kapnak (például: 1, 1, 1, 4, 5, 5, 7...).

Az expr bármilyen, numerikus értéket eredményező kifejezés.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Visszatérési értéke az értékek halmazának normál eltérése. A visszaadott érték mindig dupla adattípusú.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Visszatérési értéke az értékek halmazának a mintavételi sokaság és a normál eltérés képletének használatával kiszámított szórása.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

A kifejezés numerikus argumentumának eleget tevő értékek összegét számolja ki.

SUM(expr)

SUMDISTINCT

 

A kifejezés szám argumentumának eleget tevő eltérő értékek összegét számolja ki.

Az expr bármilyen, numerikus értéket eredményező kifejezés.

SUM(DISTINCT expr)

TOPN

 

A kifejezés argumentumai közötti n legmagasabb értéket rangsorolja 1-től n-ig, az 1 a legmagasabb számértéknek felel meg.

Az expr numerikus értéket adó tetszőleges kifejezés. integer tetszőleges pozitív egész szám. Az eredményhalmazban megjelenített rangsorolások legnagyobb számát jelzi, ahol az 1 a legmagasabb rangsornak felel meg

TOPN(expr, integer)

Elemzési függvények

Az elemzési függvények lehetővé teszik az adatok feltárását olyan modellek segítségével, mint az előrejelzés, a trendvonal és a klaszter. Alternatív megoldásként az analitikai függvényeket áthúzhatja a munkafüzet-szerkesztőbe.

Szintén másik megoldásként előrejelzéseket, trendvonalakat és klasztereket is hozzáadhat a munkafüzethez, ha kijelöli őket a munkafüzet-szerkesztő Adatpaneljének Elemzések lapján. Lásd: Statisztikai elemzési függvények hozzáadása ábrázolásokhoz.

Függvény Példa Leírás Szintaxis

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

A rekordok készletét gyűjti csoportokba egy vagy több bemeneti kifejezés alapján a K-közép vagy a hierarchikus fürtözés használatával.

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

EVALUATE_SCRIPT

EVALUATE_SCRIPT('filerepo://obiee.Outliers.xml', 'isOutlier', 'algorithm=kmeans;id=%1;arg1=%2;arg2=%3;useRandomSeed=False;', customer_number, expected_revenue, customer_age)

Végrehajt egy Python parancsfájlt a script_file_path által megadottak szerint, bemenetként egy vagy több oszlopot, illetve literál kifejezést átadva. A függvény kimenetét az output_column_name paraméter határozza meg.

EVALUATE_SCRIPT(script_file_path, output_column_name, options, [runtime_binded_options])

FORECAST

Példa napi árbevételi előrejelzésre

Ez a példa napi árbevételi előrejelzés választását szemlélteti.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Példa éves és negyedéves árbevételi előrejelzésre

Ez a példa az évi és negyedévi árbevételi előrejelzés választását szemlélteti.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Az adatsorokon Exponenciális simítás (ETS), illetve Időszakos ARIMA vagy ARIMA használatával létrehoz egy megadott méretű idősorozat-modellt. Ez a függvény a numPeriods argumentum által megadott időközökhöz biztosít kimenetet.

Lásd a további FORECAST függvényopciókat alább.

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

Ahol:

  • A measure az előre jelezni kívánt mérőszámot jelöli, például a bevételi adatokat.

  • A series azt az időintervallumot jelöli, amelynek során az előrejelzési modell ki lett alakítva. Ez a sorozat egy- vagy több-idődimenziós oszlopok listája. A series elhagyása esetén az időintervallumok meghatározása a lekérdezésből történik.

  • Az output_column_name jelöli a forecast,low, high és predictionInterval érvényes oszlopneveit.

  • Az options jelöli a nevek/értékpárok pontosvesszővel (;) tagolt karakterlánc típusú listáját. Az értékek között lehet olyan %1 ... %N, amely a runtime_binded_options használatával határozható meg.

  • A runtime_binded_options jelöli az oszlopok és beállítások vesszővel tagolt listáját. Ezeknek az oszlopoknak és beállításoknak az értékeit egyéni végrehajtási idő alatt értékeli és oldja meg a rendszer.

Lásd a további FORECAST függvényopciókat alább.

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

Rekordokat osztályoz kieső értékként egy vagy több bemeneti kifejezés alapján a K-közép vagy a hierarchikus fürtözés vagy a többeltéréses kieső érzékelése algoritmus használatával.

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

Az értékeket lineáris modellbe illeszti, és visszatér az illesztett értékekkel vagy a modellel. Ez a függvény használható arra, hogy két mérési értékre lineáris görbét illesszen.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

Az Oracle azt javasolja, hogy megjelenítés megtekintésekor alkalmazzon TRENDLINE függvényt a Statisztika hozzáadása tulajdonság használatával. Lásd: Megjelenítési tulajdonságok módosítása.

Az értékeket lineáris, polinomiális vagy exponenciális modellbe illeszti, és az illesztett értékeket vagy modellt adja vissza. A numeric_expr képviseli a trend Y értékét, a series (időoszlopok) pedig az X értékét.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

FORECAST függvényopciók A következő táblázat a FORECAST függvénnyel használható opciókat sorolja fel.

Opció neve Értékek Leírás
numPeriods Egész szám Az előrejelzendő időszakok száma.
predictionInterval 0 - 100, ahol a magasabb érték nagyobb megbízhatóságot határoz meg A becslésre vonatkozó megbízhatósági szint.
modelType

ETS (Exponential Smoothing)

SeasonalArima

ARIMA

Az előrejelzéshez használt modell.
useBoxCox

TRUE

FALSE

Ha TRUE, akkor Box-Cox transzformáció használata.
lambdaValue Nem alkalmazható

A Box-Cox transzformáció paramétere.

Mellőzendő, ha NULL vagy a useBoxCox értéke FALSE.

Egyébként az adatok transzformálása a modell becslése előtt történik.

trendDamp

TRUE

FALSE

Ez specifikusan az Exponenciális simítás modellre vonatkozik.

Ha TRUE, akkor a csillapított trend használata. Ha FALSE vagy NULL, akkor a nem csillapított trend használata.

errorType

Nem alkalmazható

Ez specifikusan az Exponenciális simítás modellre vonatkozik.
trendType

N (egyik sem)

A (hozzáadás)

M (szorzás)

Z (automatikusan kiválasztva)

Ez specifikusan az Exponenciális simítás modellre vonatkozik
seasonType

N (egyik sem)

A (hozzáadás)

M (szorzás)

Z (automatikusan kiválasztva)

Ez specifikusan az Exponenciális simítás modellre vonatkozik
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (ez az alapértelmezett)

A modell kiválasztásához használt információkritérium (IC).

Átváltási függvények

Az átváltási függvények egy adott értéket egyik formából egy másikba váltanak át.

Függvény Példa Leírás Szintaxis

CAST

CAST(hiredate AS CHAR(40)) FROM employee

Egy kifejezés vagy egy null értékű literál adattípusát egy másik adattípusra változtatja. Például átalakíthat egy customer_name vevőnevet (CHAR vagy VARCHAR adattípus) vagy egy birthdate születési dátumot (dátum/idő literál).

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

Ellenőrzi, hogy a kifejezésnek null érték-e az eredménye. Ha igen, hozzárendeli a megadott értéket a kifejezéshez.

IFNULL(expr, value)

INDEXCOL

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

Külső információkat használ a megfelelő oszlop visszaadásához, hogy a bejelentkezett felhasználó megtekinthesse azt.

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

Összehasonlít két kifejezést. Ha egyenlők, a függvény NULL értéket ad vissza. Ha nem egyenlők, a függvény az első kifejezést adja vissza. Nem adhat meg literális NULL értéket az első kifejezéshez.

NULLIF([expression], [expression])

To_DateTime

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

A DateTime formátumú karakterlánc-literált DateTime adattípussá alakítja.

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

A szűrőben egy szemantikus modellbeli változó értékére hivatkozik.

A VALUEOF függvénynél argumentumként használja az expr változókat. A statikus szemantikus modell változói név szerint kereshetők.

VALUEOF(expr)

Dátum- és időfüggvények

A dátum- és időfüggvények a DATE és DATETIME alapján végeznek műveleteket az adatokon.

Függvény Példa Leírás Szintaxis

CURRENT_Date

CURRENT_DATE

Visszatérési értéke az aktuális dátum.

A dátumot az a rendszer határozza meg, amelyiken az Oracle BI fut.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Visszatérési értéke az aktuális idő, megadott számjegyű pontossággal kifejezve, például: HH:MM:SS.SSS

Argumentum hiányában a függvény visszatérési értéke az alapértelmezett pontosság.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Visszatérési értéke az aktuális dátum/időbélyeg, megadott számjegyű pontossággal kifejezve.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Visszatérési értéke az adott dátumkifejezéshez tartozó hét napjának a neve.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Visszatérési értéke a nap hónapon belüli sorszáma a megadott dátumkifejezésnél.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Visszatérési értéke az adott dátumkifejezés napjának a héten belüli pozíciója (1 és 7 közötti szám). Például az 1 a vasárnapot, a 2 a hétfőt és így tovább, a 7 pedig a szombatot jelöli.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Visszatérési értéke az adott dátumkifejezés napjának az éven belüli pozíciója (1 és 366 közötti szám).

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Visszatérési értéke az adott dátumkifejezés napjának a negyedéven belüli pozíciója (1 és 92 közötti szám).

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Visszatérési értéke a megadott időpont-kifejezés órában kifejezett értéke (0 és 23 közötti szám). A 0 a déli 12 órának, a 23 pedig az este 11 órának felel meg.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Visszatérési értéke a megadott időpont-kifejezés percben kifejezett értéke (0 és 59 közötti szám).

MINUTE(expr)

MONTH

MONTH(Order_Time)

Visszatérési értéke a megadott dátumkifejezés hónapban kifejezett értéke (1 és 12 közötti szám).

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Visszatérési értéke a hónap neve a megadott dátumkifejezésnél.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Visszatérési értéke az adott dátumkifejezés hónapjának a negyedévben belüli pozíciója (1 és 3 közötti szám).

MONTH_OF_QUARTER(expr)

NOW

NOW()

Visszatérési értéke az aktuális időbélyeg. A NOW függvény a CURRENT_TIMESTAMP függvénnyel egyenértékű.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Visszatérési értéke az adott dátumkifejezés negyedévének az éven belüli pozíciója (1 és 4 közötti szám).

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Visszatérési értéke a megadott időpont-kifejezés percben kifejezett értéke (0 és 59 közötti szám).

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Egy időbélyeghez megadott számú időtartamot ad hozzá, és ennek eredményét egyetlen időbélyegként adja vissza.

Lehetséges időköz-beállítások: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Visszatérési értéke két időbélyeg közötti időtartam a megadott időközök számával kifejezve.

Ugyanazokat az időközöket használhatja, mint a TIMESTAMPADD függvény esetében.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Visszatérési értéke az adott dátumkifejezés hetének a negyedéven belüli pozíciója (1 és 13 közötti szám).

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Visszatérési értéke az adott dátumkifejezés hetének az éven belüli pozíciója (1 és 53 közötti szám).

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Visszatérési értéke a megadott dátumkifejezés évszáma.

YEAR(expr)

Dátumkigyűjtési függvények

Ezek a függvények kalkulálják vagy lefelé kerekítik az időbélyeg értékeit a legközelebbi adott időszakra, például órára, napra, hétre, hónapra és negyedévre.

A számított időbélyegek segítségével összesítheti az adatokat egy másik részletesség használatával. Például az EXTRACTDAY() függvényt alkalmazhatja a vevőmegrendelés dátumára, hogy egy időbélyeget kalkuláljon azon a napon éjfélre, amikor a megrendelés történik, így napról napra összesítheti az adatokat.

Függvény Példa Leírás Szintaxis

A nap kivonatolása

EXTRACTDAY("Order Date")
  • 2/22/1967 de. 3:02:01 visszatérési értéke: 2/22/1967 de. 12:00:00.
  • 9/2/2022 de. 10:38:21 visszatérési értéke: 9/2/2022 de. 12:00:00.

Egy időbélyeget ad vissza éjfélre (de. 12) azon a napon, amikor a bemeneti érték megjelenik. Ha például a bemeneti időbélyeg február 22-én de. 3:02:01 időpontra szól, a függvény az időbélyeget február 22. de. 12:00:00 időpontra adja vissza.

EXTRACTDAY(expr)

Az óra kivonatolása

EXTRACTHOUR("Order Date")
  • 2/22/1967 de. 3:02:01 visszatérési értéke: 2/22/1967 de. 3:00:00.
  • 6/17/1999 du. 11:18:30 visszatérési értéke: 6/17/1999 du. 11:00:00.

Egy időbélyeget ad vissza az óra kezdetéhez, amelyben a bemeneti érték megjelenik. Ha például a bemeneti időbélyeg du. 11:18:30 időpontra szól, a függvény az időbélyeget du. 11:00:00 időpontra adja vissza.

EXTRACTHOUR (expr)

A nap órája kivonatolása

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 visszatérési értéke: 2000/01/01 10:00:00.
  • 2014/08/13 11:10:00 visszatérési értéke: 2000/01/01 11:00:00

Egy időbélyeget ad vissza, ahol az óra a bemeneti érték órájával egyenlő, az év, hónap, nap, percek és másodpercek alapértelmezett értékeivel.

EXTRACTHOUROFDAY(expr)

Az ezredmásodperc értékének kivonatolása

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 visszatérési értéke: 1997/01/07 15:32:02.150.
  • 1997/01/07 18:42:01.265 visszatérési értéke: 1997/01/07 18:42:01.265.
Egy időbélyeget ad vissza, ami a bemeneti érték milliszekundumait tartalmazza. Ha például a bemeneti időbélyeg 15:32:02.150 időpontra szól, a függvény az időbélyeget 15:32:02.150 időpontra adja vissza.

EXTRACTMILLISECOND(expr)

A perc kivonatolása

EXTRACTMINUTE("Order Date")
  • 6/17/1999 du. 11:18:00 visszatérési érték: 6/17/1999 du. 11:18:00.
  • 9/2/2022 de. 10:38:21 visszatérési érték: 9/2/2022 de. 10:38:00.

Egy időbélyeget ad vissza a perc kezdetéhez, amelyben a bemeneti érték megjelenik. Ha például az időbélyeg de. 11:38:21 időpontra szól, a függvény az időbélyeget de. 11:38:00 időpontra adja vissza.

EXTRACTMINUTE (expr)

A hónap kivonatolása

EXTRACTMONTH("Order Date")
  • 2/22/1967 de. 3:02:01 visszatérési értéke: 2/1/1967 de. 12:00:00.
  • 6/17/1999 du. 11:18:00 visszatérési értéke: 6/1/1999 de. 12:00:00.

Egy időbélyeget ad vissza a hónap első napjához, amelyben a bemeneti érték megjelenik. Ha például az időbélyeg február 22. dátumra szól, a függvény az időbélyeget február 1. dátumra adja vissza.

EXTRACTMONTH(expr)

A negyedév kivonatolása

EXTRACTQUARTER("Order Date")
  • 2/22/1967 de. 3:02:01 visszatérési értéke: 1/1/1967 de. 12:00:00, az első pénzügyi negyedév első napja.
  • 6/17/1999 du. 11:18:00 visszatérési értéke: 4/1/1999 de. 12:00:00, a második pénzügyi negyedév első napja.

  • 9/2/2022 de. 10:38:21 visszatérési értéke: 7/1/2022 de. 12:00:00, a harmadik pénzügyi negyedév első napja.

    Tipp: A QUARTER (expr) használatával kiszámolhatja csak a negyedév sorszámát a visszaadott időbélyegből.

Egy időbélyeget ad vissza a negyedév első napjához, amelyben a bemeneti érték megjelenik. Ha például a bemeneti időbélyeg a harmadik pénzügyi évben jelenik meg, a függvény az időbélyeget július 1. dátumra adja vissza.

EXTRACTQUARTER(expr)

Az ezredmásodperc kivonatolása

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 visszatérési értéke: 1997/01/07 15:32:02.
  • 1997/01/07 20:44:18.163 visszatérési értéke: 1997/01/07 20:44:18.

Egy időbélyeget ad vissza a bemeneti értékhez. Ha például a bemeneti időbélyeg 15:32:02.150 időpontra szól, a függvény az időbélyeget 15:32:02 időpontra adja vissza.

EXTRACTSECOND(expr)

A hét kivonatolása

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 visszatérési értéke: 2014/09/21.

  • 2014/08/13 11:10:00 visszatérési értéke: 2014/08/10.

A hét első napjának (vasárnap) dátumát adja vissza, amelyben a bemeneti érték megjelenik. Ha például az időbélyeg szeptember 24. szerdára szól, a függvény az időbélyeget szeptember 21. vasárnapra adja vissza.

EXTRACTWEEK(expr)

Az év kivonatolása

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 visszatérési értéke: 1967/01/01 00:00:00.
  • 1999/06/17 23:18:00 visszatérési értéke: 1999/01/01 00:00:00.

Egy időbélyeget ad vissza az év január 1. dátumára, amelyben a bemeneti érték megjelenik. Ha például az időbélyeg 1967-ben jelenik meg, a függvény az időbélyeget 1967. január 1. dátumra adja vissza.

EXTRACTYEAR (expr)

Megjelenítési függvények

A megjelenítési függvényekkel lekérdezés eredményhalmazán lehet műveleteket végezni.

Függvény Példa Leírás Szintaxis

BottomN

BottomN(Sales, 10)

Egy kifejezés n legkisebb értékét adja vissza, növekvő sorrendben.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

Az adott előösszesítő szűrő segítségével kiszámítja a kifejezést.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

Mozgó átlagot számol az eredményhalmazban lévő adatok utolsó n sorára, az aktuális sort is beleértve.

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

Mozgó összeget számol az adatok utolsó n sorára, az aktuális sort is beleértve.

Az első sor összege megegyezik az első sor numerikus kifejezésével. A második sor összege az adatok első két sorának összege alapján van kiszámítva és így tovább. Az n . sor elérése után az összeg kiszámítására az adatok utolsó n sora alapján kerül sor.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

Meghatározza az érték rangsorát a felhasználó által megadott tartomány vonatkozásában. A rangsorok tetszőleges tartományát képviselő egész számokat ad vissza. A példában egy 1 és 100 közötti tartomány látható, melynek legalacsonyabb értékesítési értéke = 1 és a legmagasabb értékesítési értéke = 100.

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

A kifejezés numerikus argumentumának eleget tevő egyes értékek százalékos rangsorát számolja ki. A percentilis rangsor 0 (1. percentilis) és 1 (100. percentilis) közötti szám lehet, a határokat is beleértve.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

A kifejezés numerikus argumentumának eleget tevő egyes értékek rangsorát számolja ki. A legnagyobb számértékhez az 1-es rangsor, majd egymás után a következő egész számmal (2, 3, 4,...) kifejezett rangsor rendelődik az egyes értékekhez. Ha az értékek egyezőek, azonos rangsorbeli értéket kapnak (például: 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok számát határozza meg.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok alapján kiszámított maximális értéket jeleníti meg. A megadott adattípusnak rendezhetőnek kell lennie.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok alapján kiszámított minimális értéket jeleníti meg. A megadott adattípusnak rendezhetőnek kell lennie.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

A görgetett összeget számolja ki az eddig előforduló rekordok alapján.

Az első sor összege megegyezik az első sor numerikus kifejezésével. A második sor összege az adatok első két sorának összege alapján van kiszámítva és így tovább.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

Egy kifejezés n legnagyobb értékét adja vissza, csökkenő sorrendben.

TOPN([NumericExpression], [integer])

Tippek a megjelenítési függvények használatához

  • FILTER – Ha egy kimutatást tárgyterület felhasználásával készít, használja a tárgyterületen meghatározott hierarchiákat a hierarchiaoszlopok közvetlen szűrése helyett a számítás során. Más szóval, ha egy tárgyterületnek van hierarchiája az Idő\Pénzügyi év\Pénzügyi negyedév esetén, akkor kerülje a következőt:

    filter (<mérőszám> using fiscal_quarter = 'Q4')

    filter (<mérőszám> using fiscal_quarter = 'Q3')

    filter (<mérőszám> using fiscal_year = 'FY24')

Kiértékelési függvények

A kiértékelési függvények olyan adatbázisfüggvények, amelyeket kifejezések átadására használnak összetett számítások elvégzéséhez.

A beágyazott adatbázisfüggvényekhez egy vagy több oszlop szükséges. Az oszlopokra a függvényben %1 ... %N hivatkozik. A tényleges oszlopokat a függvény után kell felsorolni.

Függvény Példa Leírás Szintaxis

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

A megadott adatbázisfüggvényt és igény szerint paraméterként a hivatkozott oszlopokat adja át kiértékelésre az adatbázisnak.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

A megadott adatbázisfüggvényt és igény szerint paraméterként a hivatkozott oszlopokat adja át kiértékelésre az adatbázisnak. A függvény a GROUP BY utasításrésszel rendelkező összesítő függvények kezelésére szolgál.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

Matematikai függvények

Az ebben a részben ismertetett matematikai függvények matematikai műveleteket hajtanak végre.

Függvény Példa Leírás Szintaxis

ABS

ABS(Profit)

Numerikus kifejezés abszolút értékét számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

ABS(expr)

ACOS

ACOS(1)

Numerikus kifejezés arkusz koszinuszát számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

ACOS(expr)

ASIN

ASIN(1)

Numerikus kifejezés arkusz szinuszát számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

ASIN(expr)

ATAN

ATAN(1)

Numerikus kifejezés arkusz tangensét számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

ATAN(expr)

ATAN2

ATAN2(1, 2)

Az y / x arkusz tangensét számítja ki, ahol y az első numerikus kifejezés, x pedig a második numerikus kifejezés.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

Egy nem egész szám numerikus kifejezés értékét a következő legnagyobb egész számra kerekíti. Ha a numerikus kifejezés értéke egész szám, a CEILING függvény azt az egész számot adja vissza.

CEILING(expr)

COS

COS(1)

Numerikus kifejezés koszinuszát számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

COS(expr)

COT

COT(1)

Numerikus kifejezés kotangensét számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

COT(expr)

DEGREES

DEGREES(1)

A kifejezés értékét radiánból fokba számítja át.

expr: bármilyen, numerikus értéket eredményező kifejezés.

DEGREES(expr)

EXP

EXP(4)

A megadott hatvány értékét adja vissza. Az e n-edik hatványát számítja ki, ahol e a természetes logaritmus alapja.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Beolvass egy egész számban egy bizonyos helyen lévő bitet. A bit pozíciójának megfelelően a 0 vagy az 1 egész értéket adja vissza.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

Egy nem egész szám numerikus kifejezés értékét a következő legkisebb egész számra kerekíti. Ha a numerikus kifejezés értéke egész szám, a FLOOR függvény azt az egész számot adja vissza.

FLOOR(expr)

LOG

LOG(1)

Kifejezés természetes alapú logaritmusát számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

LOG(expr)

LOG10

LOG10(1)

Kifejezés tízes alapú logaritmusát számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

LOG10(expr)

MOD

MOD(10, 3)

Az első numerikus kifejezés értékét osztja a második numerikus kifejezés értékével, és a hányados maradékát adja vissza.

MOD(expr1, expr2)

PI

PI()

Visszatérési értéke a Pi állandó értéke.

PI()

POWER

POWER(Profit, 2)

Az első numerikus kifejezés értékét a második numerikus kifejezés értékével megadott hatványra emeli.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

A kifejezés értékét fokból radiánba számítja át.

expr: bármilyen, numerikus értéket eredményező kifejezés.

RADIANS(expr)

RAND

RAND()

Visszatérési értéke 0 és 1 közötti (nem valódi) véletlen szám.

RAND()

RANDFromSeed

RAND(2)

Visszatérési értéke megadott értéken alapuló (nem valódi) véletlen szám. Egy megadott értékhez a véletlen számoknak ugyanazt a halmazát hozza létre a program.

RAND(expr)

ROUND

ROUND(2.166000, 2)

A numerikus kifejezés értékét n tizedesjegy pontosságú számra kerekíti.

expr: bármilyen, numerikus értéket eredményező kifejezés.

integer: tetszőleges pozitív egész szám, amely a tizedesjegyek számát adja meg.

ROUND(expr, integer)

SIGN

SIGN(Profit)

A következőket adja vissza:

  • 1, ha a numerikus kifejezés kiértékelésének eredménye pozitív szám

  • -1, ha a numerikus kifejezés kiértékelésének eredménye negatív szám

  • 0, ha numerikus kifejezés kiértékelésének eredménye nulla

SIGN(expr)

SIN

SIN(1)

Numerikus kifejezés szinuszát számítja ki.

SIN(expr)

SQRT

SQRT(7)

Numerikus kifejezés négyzetgyökét számítja ki. A numerikus kifejezés kiértékelésének eredménye nem lehet negatív szám.

SQRT(expr)

TAN

TAN(1)

Numerikus kifejezés tangensét számítja ki.

expr: bármilyen, numerikus értéket eredményező kifejezés.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Tizedes számot megadott tizedesjegy pontosságú tizedes számra csonkolja.

expr: bármilyen, numerikus értéket eredményező kifejezés.

integer: tetszőleges pozitív egész szám, amely a tizedesvesszőtől jobbra eső karakterek számát jelöli.

TRUNCATE(expr, integer)

Görgetett összesítő függvények

A görgetett összesítő függvények több értéken végzett műveletek segítségével összesítő eredményeket hoznak létre.

Függvény Példa Leírás Szintaxis

MAVG

 

Mozgó átlagot számol az eredményhalmazban lévő adatok utolsó n sorára, az aktuális sort is beleértve.

Az expr numerikus értéket eredményül adó bármely kifejezés. Az integer bármely pozitív egész szám. Az adatok utolsó n számú sorának átlagát jelöli.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

Mozgó összeget számol az adatok utolsó n sorára, az aktuális sort is beleértve.

Az expr numerikus értéket adó tetszőleges kifejezés. Az integer tetszőleges pozitív egész szám. Az adatok utolsó n sorának összege.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

A görgetett összeget számolja ki az eddig előforduló rekordok alapján.

expr: bármilyen, numerikus értéket eredményező kifejezés.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok számát határozza meg.

Az expr tetszőleges adattípusú kifejezés.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok alapján kiszámított maximális értéket jeleníti meg.

Az expr tetszőleges adattípusú kifejezés.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

A rekordok egy csoportját alkalmazza bemeneti értékként, és az eddig előforduló rekordok alapján kiszámított minimális értéket jeleníti meg.

Az expr tetszőleges adattípusú kifejezés.

RMIN(expr)

Karakterlánc-függvények

A karakterlánc-függvények különböző karakterműveleteket hajtanak végre. A karakterláncokkal hajtanak végre műveleteket.

Függvény Példa Leírás Szintaxis

ASCII

ASCII('a')

Egyetlen karakterláncot a kapcsolódó ASCII kódba vált át (0 és 255 közötti érték). Ha a karakterlánc értékű kifejezés kiértékelésének eredménye több karakter, a visszatérési érték a kifejezés első karakterének megfelelő ASCII kód.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Visszatérési értéke egy adott karakterlánc hossza bitben meghatározva. Minden Unicode karakter hosszúsága 2 bájt (azaz16 bit).

expr: bármilyen, karakterláncot eredményül adó kifejezés.

BIT_LENGTH(expr)

CHAR

CHAR(35)

0 és 255 közötti numerikus értéket az ASCII kódnak megfelelő karakterértékké vált át.

expr: bármilyen, 0 és 255 közötti numerikus értéket eredményül adó kifejezés.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

Visszatérési értéke a megadott karakterláncnak a karakterek számában kifejezett hossza. A karakterlánc elején és végén lévő üres karaktereket figyelmen kívül hagyja.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

Két karakterláncot fűz össze.

exprs: karakterláncokat eredményül adó kifejezések, vesszővel elválasztva.

A CONCAT függvényt nyers adatokkal, illetve nem formázott adatokkal használhatja.

CONCAT(expr1, expr2)

INSERT

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

Megadott karakterláncot szúr be másik karakterlánc megadott helyére.

expr1: bármilyen, karakterláncot eredményül adó kifejezés. A célkarakterláncot azonosítja.

integer1: tetszőleges pozitív egész szám, amely a karakterek számát jelöli a célkarakterlánc elejétől addig a karakterig, ahol a második karakterláncot be kell szúrni.

integer2: tetszőleges pozitív egész szám, amely a célkarakterláncban a második karakterlánccal lecserélendő karakterek számát jelenti.

expr2: bármilyen, karakterláncot eredményül adó kifejezés. A célkarakterláncba beszúrandó karakterláncot azonosítja.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

Visszatérési értéke a karakterláncnak megadott hosszúságú része balról (az elejétől) kezdve.

expr: bármilyen, karakterláncot eredményül adó kifejezés

integer: tetszőleges pozitív egész szám, amely a karakterláncból balról visszaadni kívánt karakterek számát jelöli.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

Visszatérési értéke a megadott karakterláncnak a karakterek számában kifejezett hossza. A karakterlánc végén lévő üres karaktereket figyelmen kívül hagyja.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Visszatérési értéke az a karaktersorszám, ahol a megadott karakterlánc a másik karakterláncban megtalálható. Ha a karakterlánc nem található a másik karakterláncban, a függvény visszatérési értéke 0.

expr1: bármilyen, karakterláncot eredményül adó kifejezés. A keresett karakterláncot azonosítja.

expr2: bármilyen, karakterláncot eredményül adó kifejezés.

Azt a karakterláncot azonosítja, amelyben keresni kell.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

Épp úgy, mint a LOCATE függvénynél, visszatérési értéke az a karaktersorszám, ahol a megadott karakterlánc a másik karakterláncban megtalálható. A LOCATEN függvény egy egész szám argumentumot tartalmaz, amelynek segítségével megadhatja a keresés kezdő pozícióját.

expr1: bármilyen, karakterláncot eredményül adó kifejezés. A keresett karakterláncot azonosítja.

expr2: bármilyen, karakterláncot eredményül adó kifejezés. Azt a karakterláncot azonosítja, amelyben keresni kell.

integer tetszőleges pozitív (nem nulla) egész szám, amely a karakterlánc keresésének kezdő pozícióját jelöli.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

Karakterláncot csupa kisbetűssé alakít át.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Visszatérési értéke egy adott karakterlánc bájtjainak száma.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Visszatérési értéke az a karaktersorszám, ahol strExpr1 a karakterkifejezésben megtalálható. Ha a strExpr1 nem található, a függvény visszatérési értéke 0.

expr1: bármilyen, karakterláncot eredményül adó kifejezés. A célkarakterláncban keresett karakterláncot azonosítja. Például: „d”.

expr2: bármilyen, karakterláncot eredményül adó kifejezés. Azt a célkarakterláncot azonosítja, amelyben keresni kell. Például: „abcdef”.

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Egy megadott kifejezést ismétel meg n alkalommal.

expr: bármilyen, karakterláncot eredményül adó kifejezés

integer: tetszőleges pozitív egész szám, amely azt adja meg, hogy hány alkalommal ismétlődjön a karakterlánc.

REPEAT(expr, integer)

REPLACE

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

Egy megadott, karakterlánc értékű kifejezésben egy vagy több karaktert egy vagy több másik karakterre cserél.

expr1: bármilyen, karakterláncot eredményül adó kifejezés. Azt a karakterláncot azonosítja, amelyben karaktereket kell lecserélni.

expr2: bármilyen, karakterláncot eredményül adó kifejezés. Ez a második karakterlánc azonosítja a cserélendő első karakterlánc karaktereit.

expr3: bármilyen, karakterláncot eredményül adó kifejezés. Ez a harmadik karakterlánc határozza meg, hogy mely karakterek kerüljenek az első karakterláncba.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

Visszatérési értéke a karakterláncnak megadott hosszúságú része jobbról (a végétől) kezdve.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

integer: tetszőleges pozitív egész szám, amely a karakterláncból jobbról visszaadni kívánt karakterek számát jelöli.

RIGHT(expr, integer)

SPACE

SPACE(2)

Üres szóközöket szúr be.

integer: tetszőleges pozitív egész szám, amely a beszúrandó szóközök számát adja meg.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Megadott számú karakterből álló karakterláncot hoz létre az eredeti karakterlánc megadott pozíciójától kezdve.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

A startPos olyan tetszőleges pozitív egész szám, amelyik a karakterek számát jelöli a karakterlánc balra eső szélétől számítva az eredmény kezdetéig.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

Épp úgy, mint a SUBSTRING függvény, megadott számú karakterből álló karakterláncot hoz létre az eredeti karakterlánc megadott pozíciójától kezdve.

A SUBSTRINGN függvény egy egész szám argumentumot tartalmaz, amelynek segítségével megadhatja egy új karakterlánc hosszát, karakterszámban kifejezve.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

A startPos olyan tetszőleges pozitív egész szám, amelyik a karakterek számát jelöli a karakterlánc balra eső szélétől számítva az eredmény kezdetéig.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Eltávolítja a karakterlánc elejéről és végéről a megadott karaktereket.

char: bármelyik egyetlen karakter lehet. Ha nem adja meg (vagy hiányzik a kötelező aposztróf), alapértelmezés szerint üres karaktert használ a függvény.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Eltávolítja a karakterlánc elejéről a megadott karaktereket.

char: bármelyik egyetlen karakter lehet. Ha nem adja meg (vagy hiányzik a kötelező aposztróf), alapértelmezés szerint üres karaktert használ a függvény.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Eltávolítja a karakterlánc végéről a megadott karaktereket.

char: bármelyik egyetlen karakter lehet. Ha nem adja meg (vagy hiányzik a kötelező aposztróf), alapértelmezés szerint üres karaktert használ a függvény.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

Karakterláncot csupa nagybetűssé alakít át.

expr: bármilyen, karakterláncot eredményül adó kifejezés.

UPPER(expr)

Rendszerfüggvények

A USER rendszerfüggvény a munkamenetre vonatkozó értékeket ad vissza. Például a felhasználónév, amivel bejelentkezett.

Függvény Példa Leírás Szintaxis

DATABASE

 

A tárgyterület nevét adja vissza, amelyikre bejelentkezett.

DATABASE()

USER

 

A szemantikus modell felhasználónevét adja vissza, amelybe be van jelentkezve.

USER()

Idősoros függvények

Az idősoros függvények lehetővé teszik adatok idődimenziók alapján történő összesítését és előrejelzését. Például, használhatja az AGO függvényt az egy évvel ezelőtti bevétel kiszámításához.

Az idődimenzió tagjainak a függvény szintjén vagy az alatt kell lenniük. Éppen ezért a lekérdezésben fel kell sorolni egy vagy több olyan oszlopot, amely egyedileg azonosítja az adott szinten lévő vagy az alatti tagokat.

Függvény Példa Leírás Szintaxis

AGO

SELECT Year_ID, AGO(sales, year, 1)

Egy mérőszám összesített értékét számítja ki adott múltbeli időszakig. Például, az egy évvel ezelőtti havi bevétel kiszámításához: AGO(Revenue, Year, 1, SHIP_MONTH). Az előző negyedév negyedéves bevételének kiszámításához: AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Ahol:

  • A MEASURE azt a mérőszámot jelöli, amely például a bevétel kiszámításához szükséges.
  • A TIME_LEVEL az az időintervallum, amely lehet év, negyedév, hónap, hét vagy nap.
  • Az OFFSET azon időintervallumok száma, amennyivel visszafelé kell számítani. Például: 1 = egy év.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

Egy mérőszám összesítését számítja arra az időszakra, ami az aktuális időponttól x időegységre kezdődik, és y időegységre végződik. A PERIODROLLING például ki tudja számítani az értékesítést arra az időszakra, amely az aktuális negyedév előtt egy negyedévvel kezdődik, és utána egy negyedévvel fejeződik be.

PERIODROLLING(measure, x [,y])

Ahol:

  • A MEASURE egy mérőszámoszlop nevét jelöli.
  • Az X az aktuális időponttól való eltolást megadó egész szám.
  • Az Y egy egész szám, amely azon időegységek számát adja meg, amelyekre a függvény a számítást végrehajtja.
  • A hierarchy nem kötelező argumentum, amely annak a hierarchiának a nevét határozza meg az idődimenzióban, például YR, MON, DAY, amelyet az időtartomány kiszámításához kíván használni.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

Kiszámítja egy mérőszám összesített értékét egy időszak kezdetétől a legutóbbi időszakig, például: „év a tárgynapig” számítások.

Például, az „Év a tárgynapig” értékesítések kiszámításához használja a következőt: TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

Ahol:

  • A MEASURE egy legalább egy mérőszámoszlopra (például: értékesítés) hivatkozó tetszőleges kifejezés.
  • A TIME_LEVEL az az időintervallum, amely lehet év, negyedév, hónap, hét vagy nap.

Állandók

Használhat konstansokat, ha meghatározott fix dátumokat és időpontokat kíván használni a munkafüzetekben és kimutatásokban.

Állandó Példa Leírás Szintaxis

DATE

DATE '2026-04-09'

Egy adott dátumot hoz létre egy számításban vagy kifejezésben.

DATE 'yyyy-mm-dd'

TIME

TIME '12:00:00'

Egy adott időpontot hoz létre egy számításban vagy kifejezésben.

TIME 'hh:mi:ss'

TIMESTAMP

TIMESTAMP '2026-04-09 12:00:00'

Egy adott időbélyeget hoz létre egy számításban vagy kifejezésben.

TIMESTAMP 'yyyy-mm-dd hh:mi:ss'

Típusok

A kifejezésekben a CHAR, INT és NUMERIC adattípusok használhatók.

A típusokat például akkor használhatja, ha olyan CAST kifejezéseket hoz létre, amelyek megváltoztatják egy kifejezés vagy egy null értékű literál adattípusát egy másik adattípusra.