Leverantörspecifika funktioner Konstanter En konstant är ett fast värde som du kan använda i ett uttryck. Operatorer Operatorer anger vad som händer värdena på varje sida av operatorn. Operatorer påminner om funktioner då de manipulerar dataobjekt och returnerar ett resultat. datum Infogar aktuellt systemdatum. datum-tid Infogar systemets aktuella datum och klockslag. tid med tidzon Infogar en nolltid med tidzon. tidsstämpel med tidzon Infogar ett exempel på en tidsstämpel med tidzon. Infogar värdet false. intervall Infogar ett nollintervall: 000 00:00:00.000. årsintervall Infogar ett nollintervall för år: 0 år. månadsintervall Infogar ett nollintervall för månad: 0 månad. år till månadintervall Infogar ett nollintervall för år till månad: 0000-00 år till månad. dagintervall Infogar ett nollintervall för dag: 0 dag. timintervall Infogar ett nollintervall för timme: 0 timme. minutintervall Infogar ett nollintervall för minut: 0 minut. sekundintervall Infogar ett nollintervall för sekund: 0 sekund. dag till timintervall Infogar ett nollintervall för dag till timme: 0 00 dag till timme. dag till minutintervall Infogar ett nollintervall för dag till minut: 0 00:00 dag till minut. dag till sekundintervall Infogar ett nollintervall för dag till sekund: 0 00:00:00.000000000 dag till sekund. timme till minutintervall Infogar ett nollintervall för timme till minut: 00:00 timme till minut. timme till sekundintervall Infogar ett nollintervall för timme till sekund: 00:00:00.000000000 timme till sekund. minut till sekundintervall Infogar ett nollintervall för minut till sekund: 00:00.000000000 minut till sekund. Infogar "null" om uttryckets villkor inte uppfylls. tal Infogar talet 0 som du kan ersätta med ett nytt numeriskt värde. sträng Infogar en tom sträng som två enkla citattecken mellan vilka du kan skriva en sträng. tid Infogar den aktuella systemtiden. Infogar värdet true.
Identifierar början av ett uttryck. ( uttryck ) Identifierar slutet på ett uttryck. ( uttryck ) Multiplicerar två numeriska värden. värde1 * värde2 , Separerar uttryckskomponenter. uttryck ( parameter1; parameter2 ) Dividerar två numeriska värden. värde1 / värde2 Slår samman, eller kopplar samman, strängar. sträng1 || sträng2 Adderar två numeriska värden. värde1 + värde2 Subtraherar två numeriska värden eller negerar ett numeriskt värde. värde1 - värde2 eller - värde Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som är mindre än "värde2". värde1 < värde2 Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som är mindre än eller lika med "värde2". värde1 <= värde2 Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som inte är lika med "värde2". värde1 <> värde2 Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som är lika med "värde2". värde1 = värde2 Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som är större än "värde2". värde1 > värde2 Skiljer komponenterna åt i ett litteralt medlemsuttryck. [namnrymd].[dimension].[hierarki].[nivå]->[L1] Jämför värdena som representeras av "värde1" mot "värde2" och hämtar de värden som är större än eller lika med "värde2". värde1 >= värde2 Returnerar true om villkoren på båda sidor om uttrycket är sanna. argument1 and argument2 Används med summerande uttryck för att definiera omfattningen som ska justeras baserat på grupperingskolumnerna i frågan. Omfattningen är kontextberoende. aggregate_function ( uttryck AUTO ) Avgör om ett värde faller inom ett givet intervall. uttryck between värde1 and värde2 Exempel: [Intäkter] between 200 and 300 Resultat: Returnerar antalet resultat med intäkter mellan 200 och 300. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Använd med when, then, else och end. Case identifierar början av en specifik situation där when-, then- och else-åtgärder har definierats. case-uttryck { when uttryck then uttryck } [ else uttryck ] end Fastställer om "sträng1" innehåller "sträng2". Syntaxen kan hantera båda metatecknen: Procenttecknet (%) representerar noll, ett eller flera tecken och understrecket (_) representerar valfritt tecken. Det valfria LITERAL-nyckelordet anger hur '%' och '_' ska tolkas. När nyckelordet LITERAL finns, ska '%' och '_' inte behandlas som metatecken (se exempel 3 och 5). I annat fall fungerar '%' och '_' som metatecken (se exempel 1, 2 och 4) i frånvaro av LITERAL-nyckelordet. sträng1 innehåller [LITERAL] sträng2 Exempel 1: [PRODUCT_LINE] innehåller 'door' Resultat 1: Outdoor Equipment Exempel 2: [PRODUCT_LINE] innehåller 'Golf%' Resultat 2: Golf Equipment Exempel 3: [PRODUCT_LINE] innehåller literalen 'Golf%' Resultat 3: Golf% Exempel 4: [PRODUCT_LINE] innehåller 'Current_Year%' Resultat 4: Current Year Price, Current Year Price%, Current_Year Price%. Exempel 5: [PRODUCT_LINE] innehåller literalen 'Current_Year%' Resultat 5: Current_Year%. Nyckelord som kan användas som första argument i medlemssummeringsfunktioner. Den här funktionen förekommer i exempelrapporten om intäkter totalt efter land i paketet GO Datalager (fråga). aggregate_function ( currentMeasure within set uttryck ) current_date Returnerar databasens aktuella datum. current_date Används med lookup-konstruktionen. lookup (....) in (....) default (....) Ett nyckelord som används i ett aggregeringsuttryck för att endast inkludera distinkta förekomster av värden. Se även funktionen unique. distinct dataobjekt Exempel: count ( distinct [OrderDetailQuantity] ) Resultat: 1704 Används med if- eller case-konstruktioner. Om if-villkoret eller case-uttrycket inte är true, används else-uttrycket. Den här funktionen förekommer i exempelrapporten om de 10 främsta återförsäljarna 2005 i paketet GO Datalager (analys). if ( villkor ) then .... else ( uttryck ) , or case .... else ( uttryck ) end Indikerar slutet på en case- eller when-konstruktion. case .... end Fastställer om "sträng1" slutar med "sträng2". Syntaxen kan hantera båda metatecknen: Procenttecknet (%) representerar noll, ett eller flera tecken och understrecket (_) representerar valfritt tecken. Det valfria LITERAL-nyckelordet anger hur '%' och '_' ska tolkas. När nyckelordet LITERAL finns, ska '%' och '_' inte behandlas som metatecken (se exempel 3 och 5). I annat fall fungerar '%' och '_' som metatecken (se exempel 1, 2 och 4) i frånvaro av LITERAL-nyckelordet. sträng1 slutar med [LITERAL] sträng2 Exempel 1: [PRODUCT_LINE] slutar med 'Equipment' Resultat 1: Camping Equipment, Golf Equipment Exempel 2: [PRODUCT_LINE] slutar med '%Equipment' Resultat 2: Golf Equipment, Camping Equipment Exempel 3: [PRODUCT_LINE] slutar med literalen 'Equipment%' Resultat 3: Equipment% Exempel 4: [PRODUCT_LINE] slutar med '%Price' Resultat 4: Product Price, Current_Year Price Exempel 5: [PRODUCT_LINE] slutar med literalen '%Price' Resultat 5: %Price Fastställer om "sträng1" matchar mönstret för "sträng2" med det valfria tecknet "tecken" för escape-tecen i mönstersträngen. sträng1 LIKE sträng2 [ ESCAPE tecken ] Exempel: [PRODUCT_LINE] like 'G%' Resultat: Alla produktlinjer som börjar på 'G'. Exempel: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultat: Alla produktlinjer som slutar på 'G%'. Används med summerande uttryck för att definiera omfattningen av aggregeringen i frågan. aggregate_function ( uttryck for uttryck { ; uttryck } ) Används med summerande uttryck för att definiera omfattningen som ska justeras baserat på en delmängd av grupperingskolumnerna i frågan. Motsvarar for-satsen. aggregate_function ( uttryck for ANY uttryck { ; uttryck } ) Används med summerande uttryck för att definiera omfattningen som ska vara alla angivna grupperingskolumner i frågan. Se även for-satsen. aggregate_function ( uttryck for ALL uttryck { ; uttryck } ) Används med summerande uttryck när omfattningen ska gälla hela frågan. Se även for-satsen. Den här funktionen förekommer i exempelrapporten om kundbelåtenhet i paketet GO Datalager (analys). aggregate_function ( uttryck for report ) Används med then- och else-konstruktioner. Definierar ett villkor; när if-villkoret är true, används then-uttrycket. När if-villkoret inte är true, används else-uttrycket. Den här funktionen förekommer i exempelrapporten om de 10 främsta återförsäljarna 2005 i paketet GO Datalager (analys). if ( villkor ) then ( uttryck ) else ( uttryck ) Fastställer om "uttryck1" finns i en angiven lista med uttryck. uttryck1 in ( uttryckslista ) Fastställer om "uttryck1" finns i en angiven lista med konstantvärden eller intervall. uttryck1 in_range { konstant : konstant [ , konstant : konstant ] } Exempel: [kod] in_range { 5 } Resultat: Detta motsvarar [kod] = 5. Exempel: [kod] in_range { 5: } Resultat: Detta motsvarar [kod] >= 5. Exempel: [kod] in_range { :5 } Resultat: Detta motsvarar [kod] <= 5. Exempel: [kod] in_range { 5:10 } Resultat: Detta motsvarar ( [kod] >= 5 och [kod] <= 10 ). Exempel: [kod] in_range { :5,10,20: } Resultat: Detta motsvarar ( [kod] <= 5 eller [kod] = 10 eller [kod] >= 20 ). Fastställer om "värde" inte är definierat i data. värde is missing Fastställer om "värde" inte är definierat i data. värde is null Fastställer om "värde" är definierat i data. värde is not missing Fastställer om "värde" är definierat i data. värde is not null Fastställer om "sträng1" matchar mönstret för "sträng2" med det valfria tecknet "tecken" för escape-tecen i mönstersträngen. Syntaxen kan hantera båda metatecknen: Procenttecknet (%) representerar noll, ett eller flera tecken och understrecket (_) representerar valfritt tecken. sträng1 LIKE sträng2 [ ESCAPE tecken ] Exempel 1: [PRODUCT_LINE] like 'G%' Resultat 1: Alla produktlinjer som börjar på 'G'. Exempel 2: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultat 2: Alla produktlinjer som slutar på 'G%'. Exempel 3: [PRODUCT_LINE] like 'C_R_' Resultat 3: Alla produktlinjer med namnet CARS eller CARD. Exempel: lookup ( [Land]) in ( 'Kanada'--> ( [Listpris] * 0.60); 'Australien'--> ( [Listpris] * 0.80 ) ) default ( [Listpris] ) Letar upp och ersätter data med ett värde som du anger. Det är bättre att använda case-konstruktionen. lookup ( namn ) in ( värde1 --> värde2 ) default ( uttryck ) Returnerar TRUE om "argument" är false. Returnerar FALSE om "argument" är true. NOT argument Returnerar TRUE om antingen "argument1" eller "argument2" är TRUE. argument1 or argument2 Utför en summerande beräkning innan summeringsfiltret används. summeringsfunktion ([uttryck] prefilter) Exempel: total ( [antal] for report prefilter ) summaryFilter: total( [antal] for [ProductNo] ) > 50000 Resultat: Summerar antalen i en rapport innan summeringsfiltret tillämpas. 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 Räknar antalet rader som frågan returnerar. Använd med Count(). count ( ROWS ) Räknar antalet rader som frågan returnerar. Använd med Count(). count ( ROWS  [ uttryck ]) Fastställer om "sträng1" startar med "sträng2". Syntaxen kan hantera båda metatecknen: Procenttecknet (%) representerar noll, ett eller flera tecken och understrecket (_) representerar valfritt tecken. Det valfria LITERAL-nyckelordet anger hur '%' och '_' ska tolkas. När nyckelordet LITERAL finns, ska '%' och '_' inte behandlas som metatecken (se exempel 3 och 5). I annat fall fungerar '%' och '_' som metatecken (se exempel 1, 2 och 4) i frånvaro av LITERAL-nyckelordet. sträng1 börjar med [LITERAL] sträng2 Exempel 1: [PRODUCT_LINE] börjar med 'Golf' Resultat 1: Golf Equipment Exempel 2: [PRODUCT_LINE] börjar med 'Outdoor%' Resultat 2: Outdoor Equipment Exempel 3: [PRODUCT_LINE] börjar med literalen 'Golf%' Resultat 3: Golf% Exempel 4: [PRODUCT_LINE] börjar med 'Current_Year%' Resultat 4: Current Year Price, Current Year Price%, Current_Year Price% Exempel 5: [PRODUCT_LINE] börjar med literalen 'Current_Year%' Resultat 5: Current_Year% Används med if- eller case-konstruktioner. När if-villkoret eller when-uttrycket är true, används then-uttrycket. Den här funktionen förekommer i exempelrapporten om de 10 främsta återförsäljarna 2005 i paketet GO Datalager (analys). if ( villkor ) then ..., eller case uttryck when uttryck then .... end Används med case-konstruktionen. Du kan definiera villkor som uppstår när uttrycket WHEN är true. case [uttryck] when ... end
Summeringar Listan innehåller fördefinierade funktioner som returnerar antingen ett enstaka summeringsvärde för en grupp relaterade värden eller olika summeringsvärden för varje förekomst i en grupp relaterade värden. Returnerar ett beräknat värde genom att använda lämplig aggregeringsfunktion baserat på uttryckets aggregeringstyp. Den här funktionen förekommer i exempelrapporten om budget kontra faktiskt utfall i paketet GO Datalager (analys). aggregate ( uttryck [ auto ] ) aggregate ( uttryck for [ all|any ] uttryck { ; uttryck } ) aggregate ( uttryck for report ) Returnerar medelvärdet för valda dataobjekt. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. average ( [ distinct ] uttryck [ auto ] ) average ( [ distinct ] uttryck for [ all|any ] uttryck { ; uttryck } ) average ( [ distinct ] uttryck for report ) Exempel: average ( Försäljning ) Resultat: Returnerar medelvärdet av alla försäljningsvärden. Returnerar antalet valda dataobjekt utom null-värden. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. All hanteras endast i DQM-läge och antagandet av dubbel räkning av ett dataobjekt för en dimensionstabell undviks. count ( [ all | distinct ] uttryck [ auto ] ) count ( [ all | distinct ] uttryck for [ all|any ] uttryck { , uttryck } ) count ( [ all | distinct ] uttryck for report ) Exempel: count ( Försäljning ) Resultat: Returnerar det totala antalet poster under Försäljning. Returnerar det högsta värdet för valda dataobjekt. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. maximum ( [ distinct ] uttryck [ auto ] ) maximum ( [ distinct ] uttryck for [ all|any ] uttryck { ; uttryck } ) maximum ( [ distinct ] uttryck for report ) Exempel: maximum ( Försäljning ) Resultat: Returnerar maxvärdet för alla försäljningsvärden. Returnerar medianvärdet för valda dataobjekt. median ( uttryck [ auto ] ) median ( uttryck for [ all|any ] uttryck { ; uttryck } ) median ( uttryck for report ) Returnerar det lägsta värdet för valda dataobjekt. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. minimum ( [ distinct ] uttryck [ auto ] ) minimum ( [ distinct ] uttryck for [ all|any ] uttryck { ; uttryck } ) minimum ( [ distinct ] uttryck for report ) Exempel: minimum ( Försäljning ) Resultat: Returnerar minimivärdet för alla försäljningsvärden. Returnerar ett rörligt genomsnitt per rad för en angiven mängd värden över ett visst antal rader. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. moving-average ( numeriskt_uttryck ; numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) moving-average (  numeriskt_uttryck ; numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: moving-average ( Kvant ; 3 ) Resultat: För varje rad returneras antalet och ett rörligt medelvärde för den aktuella raden och de föregående två raderna. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Returnerar en rörlig summa per rad för en angiven mängd värden över ett visst antal rader. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. moving-total ( numeriskt_uttryck ; numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) moving-total (  numeriskt_uttryck ; numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: moving-total ( Kvant ; 3 ) Resultat: För varje rad returneras antalet och en rörlig summa för den aktuella raden och de föregående två raderna. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Returnerar procentandelen av det totala värdet för valda dataobjekt. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. Den här funktionen förekommer i den interaktiva exempelrapporten om procentberäkning (efter år). percentage ( numeriskt_uttryck [ at uttryck  { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) percentage (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: percentage ( Försäljning 98 ) Resultat: Returnerar procentandelen av den totala försäljningen för 1998 för varje försäljare. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Returnerar ett värde, på en skala om etthundra, som anger procentandelen av en fördelning som är lika med eller mindre än de valda dataobjekten. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. percentile ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) percentile (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: percentile ( Försäljning 98 ) Resultat: För varje rad returneras procentandelen rader som är lika med eller mindre än kvantitetsvärdet för den raden. 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 Returnerar rangordningen för ett värde inom ett intervall som du anger. Returnerar heltal som representerar ett intervall av rangordningar, till exempel 1 (högsta) till 100 (lägsta). Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. quantile ( numeriskt_uttryck ; numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) quantile (  numeriskt_uttryck ; numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: quantile ( Kvant ; 4 ) Resultat: Returnerar antalet, rangordningen för antalsvärdet och antalsvärdena nedbrutna i 4 kvantilgrupper (kvartiler). 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 Returnerar ett värdes rangordning, representerat som heltal från 1 (högsta) till 4 (lägsta), i förhållande till en grupp av värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. quartile ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) quartile (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: quartile ( Kvant ) Resultat: Returnerar antalet och kvartilen för antalsvärdet representerat som heltal från 1 (högsta) till 4 (lägsta). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Returnerar rangordningsvärdet för valda dataobjekt. Sorteringsordningen är valfri; fallande ordning (DESC) antas vara standard. Om minst två rader är likvärdiga blir det ett hopp i följden av rangordningsvärden (kallas även olympisk rangordning). Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. Null-värden rangordnas sist. Den här funktionen förekommer i exempelrapporten om de 10 främsta återförsäljarna 2005 i paketet GO Datalager (analys). rank ( uttryck [ ASC|DESC ] { ; uttryck [ ASC|DESC ] } [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) rank ( [ distinct ] uttryck [ ASC|DESC ] { ; uttryck [ ASC|DESC ] } [ <for-alternativ>] [ prefilter ] ) <for-alternativ> ::= for-uttryck { ; uttryck }|for report|auto Exempel: rank ( Försäljning 98 ) Resultat: För varje rad returneras rangordningsvärdet för den totala försäljningen under 1998 för varje försäljare. En del tal hoppas över när två rader visar samma resultat. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Returnerar det löpande genomsnittet per rad (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-average ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-average (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-average ( Kvant ) Resultat: För varje rad returneras antalet och ett löpande medelvärde för den aktuella raden och de föregående raderna. 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 Returnerar det löpande antalet per rad (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-count ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-count (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-count ( Kvant ) Resultat: För varje rad returneras antalet och ett löpande antal för den aktuella radens position. 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 Returnerar en löpande differens per rad beräknat som skillnaden mellan värdet för den aktuella raden och den föregående raden (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-difference ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-difference (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-difference ( Kvant ) Resultat: För varje rad returneras antalet och en löpande differens mellan den aktuella radens värde och den föregående radens värde. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Returnerar det löpande maxvärdet per rad (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-maximum (  numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-maximum (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-maximum ( Kvant ) Resultat: För varje rad returneras antalet och ett löpande maxvärde för den aktuella raden och de föregående raderna. 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 Returnerar det löpande minimivärdet per rad (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-minimum ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-minimum (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-minimum ( Kvant ) Resultat: För varje rad returneras antalet och ett löpande minimivärde för den aktuella raden och de föregående raderna. 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 Returnerar en löpande summa per rad (inklusive den aktuella raden) för en mängd värden. Med "<for-alternativ>" definieras omfattningen av funktionen. Alternativet "at" definierar aggregeringsnivån och kan endast användas i samband med relationsdatakällor. running-total ( numeriskt_uttryck [ at uttryck { ; uttryck } ] [ <for-alternativ> ] [ prefilter ] ) running-total (  numeriskt_uttryck [ <for-alternativ> ] [ prefilter ] ) <for-alternativ> ::= for uttryck { ; uttryck }|for report|auto Exempel: running-total ( Kvant ) Resultat: För varje rad returneras antalet och en löpande summa för den aktuella raden och de föregående raderna. 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 Returnerar standardavvikelsen för valda dataobjekt. standard-deviation ( uttryck [ auto ] ) standard-deviation ( uttryck for [ all|any ] uttryck { ; uttryck } ) standard-deviation ( uttryck for report ) Exempel: standard-deviation ( produktkostnad ) Resultat: Returnerar ett värde som anger avvikelsen mellan produktkostnader och medelvärdet av produktkostnaden. Beräknar populationens standardavvikelse och returnerar kvadratroten ur populationsvariansen. standard-deviation-pop ( uttryck [ auto ] ) standard-deviation-pop ( uttryck for [ all|any ] uttryck { ; uttryck } ) standard-deviation-pop ( uttryck for report ) Exempel: standard-deviation-pop ( produktkostnad ) Resultat: Returnerar ett värde för kvadratroten ur populationsvariansen. Beräknar standardavvikelsen och returnerar kvadratroten ur populationsvarianten. standard-deviation-samp (  uttryck [ auto ] ) standard-deviation-samp (  uttryck for [ all|any ] uttryck { ; uttryck } ) standard-deviation-samp (  uttryck for report ) Exempel: standard-deviation-samp ( produktkostnad ) Resultat: Returnerar värdet för kvadratroten ur exempelvariansen. Returnerar rangordningen för ett värde som High, Middle eller Low i förhållande till en grupp med värden. tertile ( uttryck [ auto ] ) tertile ( uttryck for [ all|any ] uttryck { ; uttryck } ) tertile ( uttryck for report ) Exempel: tertile ( Kvant ) Resultat: Returnerar antalet, kvantilen för antalsvärdet nedbrutet till tertiler och antalsvärdena nedbrutna till tertiler. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L Returnerar det totala värdet för valda dataobjekt. Distinct är ett alternativt uttryck som är kompatibelt med tidigare versioner av produkten. Den här funktionen förekommer i exempelrapporten om budget kontra faktiskt utfall i paketet GO Datalager (analys). total ( [ distinct ] uttryck [ auto ] ) total ( [ distinct ] uttryck for [ all|any ] uttryck { ; uttryck } ) total ( [ distinct ] uttryck for report ) Exempel: total ( Försäljning ) Resultat: Returnerar totalvärdet för alla försäljningsvärden. Statistikfunktioner Listan innehåller fördefinierade summafunktioner för statistik. Returnerar variansen av valda dataobjekt. variance ( uttryck [ auto ] ) variance ( uttryck for [ all|any ] uttryck { ; uttryck } ) variance ( uttryck for report ) Exempel: variance ( produktkostnad ) Resultat: Returnerar ett värde som anger hur mycket produktkostnader varierar från den genomsnittliga produktkostnaden. Returnerar populationsvariansen för en mängd tal efter att mängdens null-värden har tagits bort. variance-pop ( uttryck [ auto ] ) variance-pop ( uttryck for [ all|any ] uttryck { ; uttryck } ) variance-pop ( uttryck for report ) Exempel: variance-pop ( Kvant ) Resultat: För varje rad returneras populationsvariansen för en mängd tal efter att mängdens null-värden har tagits bort. Returnerar stickprovsvariansen för en mängd tal efter att mängdens null-värden har tagits bort. variance-samp (  uttryck [ auto ] ) variance-samp (  uttryck for [ all|any ] uttryck { ; uttryck } ) variance-samp (  uttryck for report ) Exempel: variance-samp ( Kvant ) Resultat: För varje rad returneras stickprovsvariansen för en mängd tal efter att mängdens null-värden har tagits bort. corr ( numeriskt_uttryck1 ;  numeriskt_uttryck2  [ auto ] ) corr ( numeriskt uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) corr ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar korrelationskoefficienten för en uppsättning parvärden. Beräkning: COVAR_POP(numeriskt_uttryck1, numeriskt uttryck2) / (STDDEV_POP(numeriskt_uttryck1) * STDDEV_POP(numeriskt_uttryck2)) Exempel: corr ( Kostnad ;  Marginal  for report) Resultat: Korrelationskoefficienten mellan Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) covariance-pop ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) covariance-pop ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar populationskovariansen för en uppsättning parvärden. Exempel: covariance-pop ( Kostnad ;  Marginal   for report) Resultat: Populationskovariansen mellan Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) covariance-samp ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) covariance-samp ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar stickprovskovariansen för en uppsättning parvärden. Exempel: covariance-samp ( Kostnad ;  Marginal  for report) Resultat: Stickprovskovariansen mellan Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-average-x ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-average-x ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar medelvärdet för den oberoende variabeln (numeriskt_uttryck2) för regressionslinjen. Exempel: regression-average-x ( Kostnad ;  Marginal  for report) Resultat: Medelvärde för Marginal för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-average-y ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-average-y ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar medelvärdet för den beroende variabeln (numeriskt_uttryck1) för regressionslinjen. Exempel: regression-average-y ( Kostnad ;  Marginal  for report) Resultat: Medelvärde för Kostnad för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-count ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-count ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar antalet icke-null-tal som används för regressionslinjen. Exempel: regression-count ( Kostnad ;  Marginal  for report) Resultat: Antal icke-null-tal som används för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-intercept ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-intercept ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar y-skärningspunkten för regressionslinjen. Beräknas: AVG(numeriskt_uttryck1) - REGR_SLOPE(numeriskt_uttryck1, numeriskt_uttryck2) * AVG(numeriskt_uttryck2) Exempel: regression-intercept ( Kostnad ;  Marginal  for report) Resultat: y-intercept för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-r2 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-r2 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar koefficienten för bestämning (även kallad "R-kvadratvärde" eller "passform") för regressionslinjen. Värdet beräknas baseras på följande villkor: IF VAR_POP(numeriskt_uttryck2) = 0 THEN NULL IF VAR_POP(numeriskt_uttryck1) = 0 AND VAR_POP(numeriskt_uttryck2) <> 0 THEN 1 IF VAR_POP(numeriskt_uttryck1) > 0 AND VAR_POP(numeriskt_uttryck2) <> 0 THEN POWER(CORR (numeriskt_uttryck1, numeriskt_uttryck2)) Exempel: regression-r2 ( Kostnad ;  Marginal  for report) Resultat: Bestämningskoefficient för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-slope ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-slope ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar lutningen på regressionslinjen. Beräkning: COVAR_POP(numeriskt_uttryck1;numeriskt_uttryck2) / VAR_POP(numeriskt_uttryck2) Exempel: regression-slope ( Kostnad ;  Marginal ) Resultat: Lutningen för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-sxx ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-sxx ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar följande beräkning efter eliminering av NULL-par: REGR_COUNT(numeriskt_uttryck1; numeriskt_uttryck2) * VAR_POP(numeriskt_uttryck2) Exempel: regression-sxx ( Kostnad ;  Marginal  for report) Resultat: sxx-beräkning för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-sxy ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-sxy ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar följande beräkning efter elimineringen av NULL-par: REGR_COUNT(numeriskt_uttryck1; numeriskt_uttryck2) * COVAR_POP(numeriskt_uttryck1; numeriskt_uttryck2) Exempel: regression-sxy ( Kostnad ;  Marginal  for report) Resultat: sxy-beräkning för regressionslinjen för Kostnad och Marginal. 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 ( numeriskt_uttryck1 ;  numeriskt_uttryck2 ) regression-syy ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for [ all|any ] uttryck { ; uttryck } ) regression-syy ( numeriskt_uttryck1 ;  numeriskt_uttryck2 for report ) Returnerar följande beräkning efter eliminering av NULL-par: REGR_COUNT(numeriskt_uttryck1; numeriskt_uttryck2) * VAR_POP(numeriskt_uttryck1) Exempel: regression-syy ( Kostnad ;  Marginal  for report) Resultat: syy-beräkning för regressionslinjen för Kostnad och Marginal. 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 Medlemssummeringar Listan innehåller fördefinierade funktioner som returnerar antingen ett enstaka summeringsvärde för en medlemsmängd eller ett unikt summeringsvärde för varje medlem i en medlemsmängd.
Fel Det finns ett fel i uttrycket vid markerat token.
Konstruktioner Den här listan innehåller konstruktioner och mallar som kan användas till att skapa ett uttryck. Mallar kombinerar flera funktioner i en grupp. Mallen search case inkluderar till exempel funktionerna case, when, else och end. search case Konstruktionen är mallen för search case, inklusive funktionerna CASE, WHEN, ELSE och END. CASE WHEN [Land] = 'Kanada' THEN ([Listpris] * 0.60) WHEN [Landskod] > 100 THEN [Listpris] * 0.80 ELSE [Listpris] END simple case Konstruktionen är mallen för simple case, inklusive funktionerna CASE, WHEN, ELSE och END. CASE [Land] WHEN 'Kanada' THEN ([Listpris] * 0.60) WHEN 'Australien' THEN [Listpris] * 0.80 ELSE [Listpris] END if then else Konstruktionen är mallen för en sats av typen if...then...else. Den här konstruktionen förekommer i exempelrapporten om de 10 främsta återförsäljarna 2005 i paketet GO Datalager (analys). IF ([Land] = 'Kanada') THEN ([Listpris] * 0.60) ELSE ([Listpris]) in_range Det här är mallen för ett in_range-uttryck. [kod] IN_RANGE { :30 ; 40; 50; 999: } Exempel: [kod] IN_RANGE { 5 } Resultat: Detta motsvarar [kod] = 5. Exempel: [kod] IN_RANGE { 5: } Resultat: Detta motsvarar [kod] >= 5. Exempel: [kod] IN_RANGE { :5 } Resultat: Detta motsvarar [kod] <= 5. Exempel: [kod] IN_RANGE { 5:10 } Resultat: Detta motsvarar ( [kod] >= 5 och [kod] <= 10 ). Exempel: [kod] IN_RANGE { :5;10;20: } Resultat: Detta motsvarar ( [kod] <= 5 eller [kod] = 10 eller [kod] >= 20 ).
Periodpredikat Listan innehåller predikat som kan användas för att jämföra perioduttryck. innehåller Returnerar true om perioduttryck innehåller perioduttryck2, dvs. true returneras om den första perioden innehåller datum-/tidsvärdet eller alla värden i den andra perioden. Perioduttryck1 contains ( perioduttryck2 | datumtidsuttryck ) period( 1989-11-01; 1991-05-19 ) contains period( 1991-05-19; 1991-06-04 ) Resultat: false period( 1989-11-01; 1991-05-19 ) contains period( 1990-05-19; 1991-04-04 ) Resultat: true period( 1989-11-01; 1991-05-19 ) contains 1991-04-04 Resultat: true är lika med Returnerar true om perioduttryck1 och perioduttryck2 har samma värden för periodstart och periodslut. perioduttryck1 equals perioduttryck2 period( 1989-11-01; 1991-05-19 ) equals period( 1989-11-01; 1991-05-19 ) Resultat: true immediately precedes Returnerar true om perioduttryck1 omedelbart föregår perioduttryck2, dvs. om slutvärdet för den första perioden är samma som startvärdet för den andra perioden. perioduttryck1 immediately precedes perioduttryck2 period( 1989-11-01; 1991-05-19 ) immediately precedes period( 1991-05-19; 1991-06-04 ) Resultat: true period( 1989-11-01; 1991-05-18 ) immediately precedes period( 1991-05-19; 1991-06-04 ) Resultat: false immediately succeeds Returnerar true om perioduttryck1 omedelbart följer perioduttryck2, dvs. om startvärdet för den första perioden är samma som slutvärdet för den andra perioden. perioduttryck1 immediately succeeds perioduttryck2 period( 1991-05-19; 1994-01-10 ) immediately succeeds period( 1991-01-19; 1991-05-19 ) Resultat: true period( 1991-05-19; 1994-01-10 ) immediately succeeds period( 1991-01-20; 1991-05-18 ) Resultat: false overlaps Returnerar true om perioduttryck1 överlappar perioduttryck2, dvs. har minst ett värde gemensamt. perioduttryck1 overlaps perioduttryck2 period( 1991-05-19; 1994-01-10 ) overlaps period( 1993-01-19; 1995-05-19 ) Resultat: true precedes Returnerar true om perioduttryck1 föregår perioduttryck2, dvs. om slutvärdet för den första perioden är samma som startvärdet för den andra perioden. perioduttryck1 precedes perioduttryck2 period( 1989-11-01; 1991-05-19 ) precedes period( 1991-05-19; 1991-06-04 ) Resultat: true period( 1989-11-01; 1991-05-18 ) precedes period( 1991-05-19; 1991-06-04 ) Resultat: true succeeds Returnerar true om perioduttryck1 följer perioduttryck2, dvs. om startvärdet för den första perioden är samma som slutvärdet för den andra perioden. perioduttryck1 succeeds perioduttryck2 period( 1991-05-19; 1994-01-10 ) succeeds period( 1991-01-19; 1991-05-19 ) Resultat: true period( 1991-05-20; 1994-01-10 ) succeeds period( 1991-01-20; 1991-05-19 ) Resultat: true
Verksamhetsfunktioner för datum/tid Listan innehåller verksamhetsfunktioner för att utföra datum och klockslagsberäkningar. _add_seconds ( tidsuttryck; heltalsuttryck ) Returnerar klockslag eller datum och klockslag beroende av formatet av "tidsuttryck", som resulterar från tillägg av "heltalsuttryck"-sekunder till "tidsuttryck". Exempel: _add_seconds ( 13:04:59 ; 1 ) Resultat: 13:05:00 Exempel: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-04-30 12:10:11.000 Exempel: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ). Anm. Det andra argumentet är inte ett heltal. Det går att använda i samband med vissa databastekniker och ökar tidsdelen stegvis. Resultat: 2002-04-30 00:00:00.010 _add_minutes ( tidsuttryck; heltalsuttryck ) Returnerar klockslag eller datum och klockslag beroende av formatet av "tidsuttryck", som resulterar från tillägg av "heltalsuttryck"-minuter till "tidsuttryck". Exempel: _add_minutes ( 13:59:00 ; 1 ) Resultat: 14:00:00 Exempel: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Resultat: 2002-04-30 13:00:10.000 Exempel: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Anm. Det andra argumentet är inte ett helt tal. Det går att använda i samband med vissa databastekniker och ökar tidsdelen stegvis. Resultat: 2002-04-30 00:00:01.000 _add_hours ( tidsuttryck; heltalsuttryck ) Returnerar klockslag eller datum och klockslag beroende av formatet av "tidsuttryck", som resulterar från tillägg av "heltalsuttryck"-timmar till "tidsuttryck". Exempel: _add_hours ( 13:59:00 ; 1 ) Resultat: 14:59:00 Exempel: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-04-30 13:10:10.000; Exempel: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Anm. Det andra argumentet är inte ett helt tal. Det går att använda i samband med vissa databastekniker och ökar tidsdelen stegvis. Resultat: 2002-04-30 00:01:00.000 _add_days ( datumuttryck; heltalsuttryck ) Returnerar datum eller datumtid, beroende på formatet för "datumuttryck", genom att addera "heltalsuttryck" dagar till "datumuttryck". Exempel: _add_days ( 2002-04-30 ; 1 ) Resultat: 2002-05-01 Exempel: _add_days ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-05-01 12:10:10.000 Exempel: _add_days ( 2002-04-30 00:00:00.000; 1/24 ). Anm. Det andra argumentet är inte ett heltal. Det går att använda i samband med vissa databastekniker och ökar tidsdelen stegvis. Resultat: 2002-04-30 01:00:00.000 _add_months ( datumuttryck; heltalsuttryck ) Lägger till "heltalsuttryck" månader till "datumuttryck". Om den resulterande månaden har färre dagar än dag i månadskomponenten returneras den sista dagen i resultatmånaden. I alla andra fall har det returnerade värdet samma dag i månadskomponenten som "datumuttryck". Exempel: _add_months ( 2012-04-15 ; 3 ) Resultat: 2012-07-15 Resultatet är inte den sista dagen i den resulterande månaden. Exempel: _add_months ( 2012-02-29 ; 1 ) Resultat: 2012-03-29 Använd funktionen _last_of_month för att returnera den sista dagen i månaden. Exempel: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Resultat: 2012-03-31 Dagen justeras till den sista dagen i den resulterande månaden. Exempel: _add_months ( 2012-01-31 ; 1 ) Resultat: 2012-02-29 Lägger till en tidsstämpel. Exempel: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Resultat: 2002-05-30 12:10:10.000 _add_years ( datumuttryck; heltalsuttryck ) Lägger till "heltalsuttryck" år till "datumuttryck". Om "datumuttryck" är 29 februari och resulterande år inte är ett skottår, blir resulterande dag 28 februari. I alla andra fall har det returnerade värdet samma dag och månad som "datumuttryck". Exempel: _add_years ( 2012-04-15 ; 1 ) Resultat: 2013-04-15 29 februari justeras för andra än skottår. Exempel: _add_years ( 2012-02-29 ; 1 ) Resultat: 2013-02-28 Lägger till en tidsstämpel. Exempel: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Resultat: 2003-04-30 12:10:10.000 _age ( datumuttryck ) Returnerar ett tal genom att subtrahera "datumuttryck" från dagens datum. Det returnerade värdet har formatet YYYYMMDD, där YYYY representerar antalet år, MM representerar antalet månader och DD representerar antalet dagar. Exempel: _age ( 1990-04-30 ) (om dagens datum är 2003-02-05) Resultat: 120906, vilket betyder 12 år, 9 månader och 6 dagar. _date_to_int ( datumuttryck ) Returnerar heltalsrepresentationen för "datumuttryck". Det returnerade värdet har formatet YYYYMMDD, där YYYY representerar antalet år, MM representerar antalet månader och DD representerar antalet dagar. Exempel: _date_to_int ( 2003-01-01 ) Resultat: 20030101 _day_of_week ( datumuttryck; heltal ) Returnerar dagen i veckan (mellan 1 och 7), där 1 är första dagen i veckan enligt den andra parametern (mellan 1 och 7, där 1 är måndag och 7 är söndag). Anm. Enligt ISO 8601-standarden börjar en vecka med måndag som dag 1. Exempel: _day_of_week ( 2003-01-01 ; 1 ) Resultat: 3 _day_of_year ( datumuttryck ) Returnerar dagen på året (1 till 366) i "datumuttryck". Kallas även för juliansk dag. Exempel: _day_of_year ( 2003-03-01 ) Resultat: 61 _days_between ( datumuttryck1 ; datumuttryck2 ) Returnerar ett positivt eller negativt tal som representerar antalet dagar mellan "datumuttryck1" och "datumuttryck2". Om "datumuttryck1" < "datumuttryck2" blir resultatet ett negativt tal. Exempel: _days_between ( 2002-06-21 ; 2002-04-30 ) Resultat: 52 Exempel: _days_between ( 2002-04-30 ; 2002-06-21 ) Resultat: -52 _days_to_end_of_month ( datumuttryck ) Returnerar ett tal som representerar antalet återstående dagar i månaden representerat av "datumuttryck". Exempel: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Resultat: 10 _first_of_month ( datumuttryck ) Returnerar ett datum eller en datumtid, beroende på argumentet, genom att konvertera "datumuttryck" till ett datum med samma årtal och månad, men med dagen angiven till 1. Exempel: _first_of_month ( 2002-04-20 ) Resultat: 2002-04-01 Exempel: _first_of_month ( 2002-04-20 12:10:10.000 ) Resultat: 2002-04-01 12:10:10.000 _last_of_month ( datumuttryck ) Returnerar ett datum eller en datumtid, beroende på argumentet, som är den sista dagen i månaden representerat av "datumuttryck". Exempel: _last_of_month ( 2002-01-14 ) Resultat: 2002-01-31 Exempel: _last_of_month ( 2002-01-14 12:10:10.000 ) Resultat: 2002-01-31 12:10:10.000 _make_timestamp ( heltalsuttryck1; heltalsuttryck2; heltalsuttryck3 ) Returnerar en tidsstämpel konstruerad från "heltalsuttryck1" (året); "heltalsuttryck2" (månaden) och "heltalsuttryck3" (dagen). Tidsdelen blir som standard 00:00:00.000. Exempel: _make_timestamp ( 2002 ; 01 ; 14 ) Resultat: 2002-01-14 00:00:00.000 _months_between ( datumuttryck1; datumuttryck2 ) Returnerar ett positivt eller negativt heltal som representerar antalet månader mellan "datumuttryck1" och "datumuttryck2". Om "datumuttryck1" är tidigare än "datumuttryck2", returneras ett negativt tal. Exempel: _months_between ( 2002-04-03 ; 2002-01-30 ) Resultat: 2 Exempel: _months_between ( 2002-01-30 ; 2002-04-03 ) Resultat: -2 _shift_timezone ( tidsstämpelvärde ; fråntidszon ; måltidszon ) _shift_timezone ( tidstämpel_med_tidszonvärde ; måltidson ) Skiftar en tidsstämpel från en tidszon till en annan. Funktionen tar hänsyn till sommartid om tillämpligt. Om det första argumentet är en tidsstämpel motsvarar det andra och tredje argumentet från- och måltidszonen. Om det första argumentet är en tidsstämpel med tidszon är fråntidszonen redan underförstådd och därför motsvarar det andra argumentet måltidszonen. Det första argumentets datatyp bestämmer datatypen för det värde som returneras. Det andra och tredje argumentet är strängar och motsvarar tidszonidentifierare. En lista över identifierarna finns nedan. Anm. Den här funktionen orsakar lokal bearbetning. Exempel: _shift_timezone( 2013-06-30 12:00:00 ; 'America/New_York' ; 'GMT' ) Resultat: 2013-06-30 16:00:00 Exempel: _shift_timezone( 2013-11-30 12:00:00-05:00 ; 'America/Vancouver' ) Resultat: 2013-11-30 09:00:00-08:00 Tidzonsidentifierare: 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 En anpassad tidszonidentifierare kan också användas, med formatet GMT(+|-)HH:MM. Exempel: GMT-06:30 eller GMT+02:00. _week_of_year ( datumuttryck ) Returnerar numret på veckan för året i "datumuttryck" enligt ISO 8601-standarden. Vecka 1 på året är den första veckan på året som innehåller en torsdag, vilket motsvarar den första veckan som innehåller 4 januari. En vecka börjar på måndagen (dag 1) och slutar på söndagen (dag 7). Exempel: _week_of_year ( 2003-01-01 ) Resultat: 1 _years_between ( datumuttryck1; datumuttryck2 ) Returnerar ett positivt eller negativt heltal som representerar antalet år mellan "datumuttryck1" och "datumuttryck2". Om "datumuttryck1" < "datumuttryck2" så returneras ett negativt värde. Exempel: _years_between ( 2003-01-30 ; 2001-04-03 ) Resultat: 1 Exempel: _years_between ( 2001-04-03 ; 2003-01-30 ) Resultat: -1 _ymdint_between ( datumuttryck1 ; datumuttryck2 ) Returnerar ett tal som representerar skillnaden mellan "datumuttryck1" och "datumuttryck2". Det returnerade värdet har formatet YYYYMMDD, där YYYY representerar antalet år, MM representerar antalet månader och DD representerar antalet dagar. Exempel: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Resultat: 120905, vilket betyder 12 år, 9 månader och 5 dagar. _year ( datumuttryck ) Returnerar värdet för fältet år i "datumuttryck". Exempel: _year ( 2003-03-01 ) Resultat: 2003 _month ( datumuttryck ) Returnerar värdet för fältet månad i "datumuttryck". Exempel: _month ( 2003-03-01 ) Resultat: 3 _day ( datumuttryck ) Returnerar värdet för fältet dag i "datumuttryck". Exempel: _day ( 2003-03-01 ) Resultat: 1 _hour ( datumuttryck ) Returnerar värdet för fältet timme i "datumuttryck". Exempel: _hour ( 2002-01-31 12:10:10.254 ) Resultat: 12 _minute ( datumuttryck ) Returnerar värdet för fältet minut i "datumuttryck". Exempel: _minute ( 2002-01-31 12:10:10.254 ) Resultat: 10 _second ( datumuttryck ) Returnerar värdet för det andra fältet i "datumuttryck". Exempel: _second ( 2002-01-31 12:10:10.254 ) Resultat: 10.254 _timezone_hour ( timestamp_with_time_zone_value ) _timezone_hour ( time_with_time_zone_value ) Returnerar värdet för fältet timezone hour i uttrycket. Uttrycket måste vara av typen "timestamp with time zone" eller "time with time zone". Exempel: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Resultat: -5 _timezone_minute ( timestamp_with_time_zone_value ) _timezone_minute ( time_with_time_zone_value ) Returnerar värdet för fältet timezone minute i uttrycket. Uttrycket måste vara av typen "timestamp with time zone" eller "time with time zone". Exempel: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Resultat: -30 _start_of_day ([ datumuttryck ]) Returnerar start för datumuttryck eller start på dagen som en tidsstämpel Exempel: _start_of_day ( 2014-11-23 12:10:10.254 ) Resultat: 2014-11-23 00:00:00 Exempel: _start_of_day () Resultat: 2016-01-01 00:00:00 _end_of_day ([ datumuttryck ]) Returnerar slut för datumuttryck eller slut på dagen som en tidsstämpel Exempel: _end_of_day ( 2014-11-23 12:10:10.254 ) Resultat: 2014-11-23 23:59:59 Exempel: _end_of_day () Resultat: 2016-01-01 23:59:59 _unix_timestamp ( datumuttryck ) Returnerar antalet sekunder sedan 1970-01-01 00:00:00-00 för angivet datumuttryck. Exempel: _unix_timestamp ( 2014-11-23 ) Resultat: 1416718800 _from_unixtime ( heltalsuttryck ) Returnerar unix-tid angiven av heltalsuttryck som en tidsstämpel med tidszon. Exempel: _from_unixtime (1417807335) Resultat: 2014-12-05 19:22:15+00:00
Makrofunktioner Den här listan innehåller funktioner som kan användas i ett makro. Ett makro kan innehålla en eller flera makrofunktioner. Ett makro avgränsas med ett #-tecken i början och i slutet. Allting mellan nummertecknen behandlas som ett makrouttryck och utförs vid körning. För makrofunktioner som godtar uttryck av datatypen tidsstämpel med tidszon som argument, är det accepterade formatet 'yyyy-mm-dd hh:mm:ss[.ff]+hh:mm', där delen för bråkdelssekunder är valfri och kan representeras av 1 till 9 siffror. I stället för ett blanktecken som avgränsar datumdelen från klockslagsdelen, godtas även tecknet 'T'. I stället för tidszonsdelen '+hh:mm' godtas dessutom tecknet 'Z' och bearbetas internt som '+00:00'. Makrofunktionerna som returnerar uttryck av datatypen tidsstämpel med tidszon returnerar 9 siffror som standard för bråkdelssekunder. Makrofunktionen timestampMask() kan användas till att justera utdata vid behov. Returnerar tidsstämpeln med tidszon (som en sträng) genom att addera "heltalsuttryck" för sekunder till "stränguttryck", där "stränguttryck" representerar en tidsstämpel med tidszon. _add_seconds ( stränguttryck ; heltalsuttryck ) Exempel: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 11:59:59.000-05:00 Exempel: # _add_seconds ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 12:00:01.000000000-05:00 Exempel: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultat: 12:00:01 Returnerar tidsstämpeln med tidszon (som sträng) genom att addera heltalsuttryck i minuter till stränguttryck, där stränguttryck motsvarar en tidsstämpel med tidszon. _add_minutes ( stränguttryck ; heltalsuttryck ) Exempel: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 11:59:00.000-05:00 Exempel: # _add_minutes ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 12:01:00.000000000-05:00 Exempel: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultat: 12:01:00 Returnerar tidsstämpeln med tidszonen (som en sträng) som ett resultat av addition av heltalsuttryck för timmar till stränguttryck, där stränguttryck motsvarar en tidsstämpel med tidszon. _add_hours ( stränguttryck ; heltalsuttryck ) Exempel: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 13:00:00.000-05:00 Exempel: # _add_hours ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 13:00:00.000000000-05:00 Exempel: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultat: 13:00:00 Returnerar tidsstämpeln med tidszon (som en sträng) genom att addera "heltalsuttryck" dagar till "stränguttryck", där "stränguttryck" representerar en tidsstämpel med tidszon. Om det första argumentet är ett datum, specificerat som en sträng med formatet: åååå-mm-dd så kommer returvärdet att vara en sträng formaterad som ett datum. _add_days ( stränguttryck ; heltalsuttryck ) Exempel: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-10-31 12:00:00.000000000-05:00 Exempel: # _add_days ( $current_timestamp ; 1 ) # Resultat: 2005-11-02 12:00:00.000000000-05:00 Exempel: # timestampMask ( _add_days ( $current_timestamp  1 ) ; 'yyyy-mm-dd' ) # Resultat: 2005-11-02 Exempel: # _add_days( '2019-11-14' , 3 ) # Resultat: 2019-11-17 Returnerar tidsstämpeln med tidszon (som en sträng) genom att addera "heltalsuttryck" månader till "stränguttryck", där "stränguttryck" representerar en tidsstämpel med tidszon. Om det första argumentet är ett datum, specificerat som en sträng med formatet: åååå-mm-dd, så är returvärdet en sträng formaterad som ett datum. _add_months ( stränguttryck ; heltalsuttryck ) Exempel: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-10-01 12:00:00.000000000-05:00 Exempel: # _add_months ( $current_timestamp ; 1 ) # Resultat: 2005-12-01 12:00:00.000000000-05:00 Exempel: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Resultat: 2005-12-01 Exempel: # _add_months( '2019-11-14' , -1 ) # Resultat: 2019-10-14 Returnerar tidsstämpeln med tidszon (som en sträng) genom att addera "heltalsuttryck" år till "stränguttryck", där "stränguttryck" representerar en tidsstämpel med tidszon. Om det första segmentet är ett datum, specificerat som en sträng med formatet: åååå-mm-dd, så är returvärdet en sträng formaterad som ett datum. _add_years ( stränguttryck ; heltalsuttryck ) Exempel: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2004-11-01 12:00:00.000000000-05:00 Exempel: # _add_years ( $current_timestamp ; 1 ) # Resultat: 2006-11-01 12:00:00.000000000-05:00 Exempel: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Resultat: 2006-11-01 Exempel: # _add_years( '2019-11-14' , -2 ) # Resultat: 2017-11-14 _first_of_month ( stränguttryck ) Returnerar en tidsstämpel med tidszon (som en sträng) genom att konvertera dagvärdet i "stränguttryck" till 1, där "stränguttryck" är en tidsstämpel med tidszon. Exempel: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultat: 2005-11-01 12:00:00.000000000-05:00 Exempel: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyymmdd' ) # Resultat: 20051101 _last_of_month ( stränguttryck ) Returnerar en tidsstämpel med tidszon (som en sträng) som är den sista dagen i månaden representerat av "stränguttryck", där "stränguttryck" är en tidsstämpel med tidszon. Exempel: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultat: 2005-11-30 12:00:00.000000000-05:00 Exempel: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyy-mm-dd' ) # Resultat: 2005-11-30 modelj ( 'identifierare' [ , 'model_search_path' [ , 'alternativ' ] ] ) Returnerar en del av the metadatamodellen i json-format. Den aktuella modellen kommer att användas när 'model_search_path' inte har angivits. Argumentet 'alternativ' kan ställas in till 'cleanup'. Detta ändrar vissa delar av resultatet till fasta värden (användbart vid tester). sq ( modelj ( '[gosales].[land].[land]' ) Omger "stränguttryck" med hakparenteser. sb ( stränguttryck ) Exempel: # sb ( 'abc' ) # Resultat: [abc] Omger "stränguttryck" med enkla citattecken. sq ( stränguttryck ) Exempel: # sq ( 'noll' ) # Resultat: 'noll' Omger "stränguttryck" med dubbla citattecken. dq ( stränguttryck ) Exempel: # dq ( 'noll' ) # Resultat: "noll" Använder identitetsinformationen för aktuell autentiserad användare för att söka efter värden i den angivna parameterkartan. Varje enskild del i användarens identitet (kontonamn, gruppnamn, rollnamn) används som nyckel till kartan. Den unika listan över värden som hämtas från parameterkartan returneras sedan som en sträng, där varje värde är omgivet av enkla citattecken och där flera värden är avgränsade med kommatecken. CSVIdentityName ( %parameter_map_name [ ; avgränsningssträng ] ) Exempel: # CSVIdentityName ( %security_clearance_level_map ) # Resultat: 'nivå_500', 'nivå_501', 'nivå_700' Returnerar delar av användarens identitet (kontonamn, gruppnamn, rollnamn) som en lista över strängar. Den unika värdelistan returneras som en sträng, där varje värde omges av enkla citattecken och fler värden avgränsas med kommatecken. CSVIdentityNameList ( [ avgränsningssträng ] ) Exempel: # CSVIdentityNameList ( ) # Resultat: 'Alla' , 'Rapportadministratörer' , 'Frågeanvändare' Returnerar Cognos® Access Manager-passet. CAMPassport ( ) Exempel: # CAMPassport ( ) # Resultat: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Returnerar delarna i användarens Cognos® Access Manager-ID (CAMID), till exempel kontonamn, gruppnamn eller rollnamn, som en lista över värden avgränsade med kommatecken. CAMIDList ( [ avgränsningssträng ] ) Exempel: #CAMIDList ( ) # Resultat: CAMID ( "::Everyone" ) , CAMID ( ":Författare" ) , CAMID ( ":Frågeanvändare" ) , CAMID ( ":Konsumenter" ) , CAMID ( ":Nyckeltalförfattare" ) Returnerar en matris med användarens Cognos® Access Manager-IDn (CAMIDn) baserat på identitetstyp (konto, grupp eller roll). CAMIDListForType kan användas med makrofunktionen csv eller join. CAMIDListForType ( identitetstyp ) Exempel: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Resultat: [qs].[userRole] in ( 'CAMID ( "::System Administrators" ) ' , 'CAMID ( ":Authors" )' ) Slår samman två strängar. värde1 + värde2 Exempel: # '{ ' + $runLocale + ' }' # Resultat: {sv-se} Tar bort de inledande tecknen från första argumentet. Det valfria andra argumentet definierar vilka tecken som ska tas bort. Som standard tas outskrivbara tecken bort (dvs. blanktecken, tabbar och radbrytningstecken). lstrip ( stränguttryck [ ; tecken ] ) Exempel: # sq( lstrip ( ' abc ' ) ) # Resultat: 'abc ' Exempel: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 53.2100 Returnerar parametervärdet för "parameterName" om det är definierat. Värdet för "defaultText" returneras om "parameterName" inte finns. Om "datatype" är satt till "string" omges resultatvärdet av enkla citattecken. Användning av den här funktionen orsakar inte ett undantag på grund av saknad parameter. ParamValue ( parameterName [ , defaultText [, datatype ] ] ) Exempel: # ParamValue ( 'p_country' ) # Resultat: 'Canada' - p_country är satt Resultat: null - p_country är inte en känd parameter Resultat: null - p_country används i en valfri prompt och är inte satt Exempel: # ParamValue ( 'p_country' , 'Netherlands' ) # Resultat: 'Canada' - p_country är satt Resultat: 'Netherlands' - p_country är inte en känd parameter Resultat: 'Netherlands' - p_country används i en valfri prompt och är inte satt Exempel: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Resultat: 'Canada' - p_country är satt Resultat: cast ( null as varchar(20)) - p_country är inte en känd parameter Resultat: cast ( null as varchar(20)) - p_country används som valfri prompt och är inte satt Frågar användaren efter ett enskilt värde eller en enskild medlem. Bara "promptnamn" krävs. När ingen datatyp anges används 'string' som standard. Prompten är valfri när "standardtext" anges. Om "text" anges, föregår den värdet. "Frågeobjekt" kan anges för att utnyttja egenskaperna för promptinformation för "frågeobjekt". Om Efterföljande_text anges läggs den till värdet. När datatypen är memberuniquename, skapas en enskild medlemsprompt. Ange gärna ett standardvärde, som ett tredje argument. Standardvärdet måste vara ett giltigt unikt medlemsnamn. Det kan även vara ett alias som refererar till ett unikt medlemsnamn som det görs i Report Studio. prompt ( promptnamn ; datatyp ; standardtext ; text ; frågeobjekt ; efterföljande_text ) Exempel: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'landskod' ; 'heltal' ; '10' ) # Resultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Exempel: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'countryPrompt' ; 'string' ; '''Canada''' ) # Resultat: [gosales].[COUNTRY].[COUNTRY] = 'Canada' Exempel: set ( #prompt ('min_produkt'; 'memberuniquename'; '[Campingutrustning]'; ''; '[Försäljning].[Produkt].[Produkt].[Produktlinje]')#) Resultat: set([Försäljning].[Produkt].[Produkt].[Produktlinje]->[all].[1]) Parametern standardtext måste anges så att den är giltig i makrokontext, eftersom ingen formatering sker för detta värde. Standardsträngen Canada i exempel 2 anges som en sträng med enkla citattecken, till vilka ytterligare enkla citattecken läggs till så att det blir totalt 3 citattecken. Detta gör att strängen visas korrekt inom enkla citattecken i uttrycket. Som en allmän regel för strängdatatypen gäller att "standardtext" alltid bör anges som i föregående notering, utom i samband med en parameter för lagrad procedur. För standardtext av typen date eller datetime, ska ett särskilt format användas i samband med SQL. Exempel på dessa format är 'DATE ''2001-12-25''' och 'DATETIME ''2001-12-25 12:00:00'''. I alla andra kontexter används datum/datum/klockslag utan nyckelordet och enkla citattecken (till exempel '2001-12-25'). Frågar användaren efter en eller fler värden. Bara "promptnamn" krävs. När ingen datatyp anges används 'string' som standard. Prompten är valfri när "standardtext" anges. Om "text" anges, föregår den listan över värden. "Frågeobjekt" kan anges för att utnyttja egenskaperna för promptinformation för "frågeobjekt". Om "efterföljande_text" anges, bifogas den till listan över värden. När datatypen är memberuniquename skapas en flervalsmedlemsprompt. Ange gärna ett standardvärde, som ett tredje argument. Standardvärdet måste vara ett giltigt unikt medlemsnamn. Det kan även vara ett alias som refererar till ett unikt medlemsnamn som det görs i Report Studio. promptmany ( promptnamn ; datatyp ; standardtext ; text ; frågeobjekt ; efterföljande_text ) Exempel: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'land' ) # ) Resultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Kanada' ; 'Nederländerna' ; 'Ryssland' ) Exempel: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Välj landskoder' ; 'integer' ; ' ' ; ' and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( ' ; '' ; ' ) ' ) # Resultat: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Kanada' ; 'Nederländerna' ; 'Ryssland' ) Exempel: set ( #promptmany ('min_produkt', 'memberuniquename', '[Campingutrustning]', '', '[Försäljning].[Produkt].[Produkt].[Produktlinje]')#) Resultat: set([Försäljning].[Produkt].[Produkt].[Produktlinje]->[all].[1]; [Försäljning].[Produkt].[Produkt].[Produktlinje]->[all].[2]) Kör en fråga för en enskild kolumn och returnera värdet i den första (enda) raden. Resultatet formateras inte. Försäkra dig om att du omger anropet med sq () efter behov. queryValue ( value_expression [ , filter_expression ] ) Exempel: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Resultat: 'Onsdag' Skapar en matris från listan med parametrar. array ( stränguttryck|matrisuttryck { ; stränguttryck|matrisuttryck } ) Exempel: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Resultat: 'a1' ; 'x1' ; 'x2' ; 'a2' Konstruerar en sträng från elementen i en matris där värdena är avgränsade med kommatecken. Alternativt kan avgränsaren och citattecknen anges. Standardavskiljaren är ett semikolon ( ; ) och standardcitattecknet är enkelt citattecken ( ' ). csv ( matrisuttryck [ ; avgränsningssträng [ ; citatsträng ] ] ) Exempel: # sq ( csv ( array ( 'a1' ; 'a2' ) ) ) # Resultat: 'a1', 'a2' Hämta en post från IBM® Cognos®-konfigurationsfilen. Flaggan force_decode_flag är valfri och måste ha något av följande värden: 'true' , '1', 1 , 'false', '0', 0. Standardvärdet är 'false'. I undantagsfall ska force_decode_flag sättas till true. När force_decode_flag sätts till true returneras det obearbetade textvärdet för konfigurationsposten för poster som har konfigurerats via Avancerade egenskaper i IBM® Cognos®-konfigurationen. För poster som inte har definierats via Avancerade egenskaper returneras en tom sträng oavsett om det finns krypterade information. Posten i Avancerade egenskaper är qs.getConfigurationEntry.1 och är en semikolonseparerad lista över namn som standardmässigt är tom och anropar funktionen med flaggan satt till true, vilket returnerar en tom sträng. getConfigurationEntry ( startsträng ; tvinga_avkodningsflagga ) Exempel: # getKonfigurationEntry ( 'serverspråkversion'  ) # Resultat: en Returnerar en post från en resursfil. Första argumentet är resursfilens resurs-ID. Det valfria andra argumentet är resursfilens namn utan språkmiljösuffix (t.ex. 'mfwa4j' för meddelandefilen 'mfwa4j_en.properties'). Standardresursfilen är 'xqejavamsgs'. Det valfria tredje argumentet är språkmiljön vars standardvärde är 'en'. getResourceString ( resource_id_string [, resource_file_string [ , locale_string ] ] ) Exempel: # getResourceString ( 'XQE_BIN_binLow' ) # Resultat: XQE-BIN-0001 mindre än %1 Exempel: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Resultat: MFW-UT-1002 Ett internt fel har uppstått. Kontakta systemadministratören. Söker efter och returnerar element i en matris som överensstämmer med det mönster som angetts i "mönstersträng". De enda tillåtna metatecknen är: ^ (början av ord), $ (slutet på ord), ! (negate - kan endast användas som första tecken). grep ( mönstersträng ; matrisuttryck ) Exempel: # sq ( csv ( grep ( 's' ; array ( 'as'; 'an', 'arts' ) ) ) ) # Resultat: 'as'; 'arts' Exempel: # sq ( csv ( grep ( '^g' ; array ( 'group'; 'golf' ) ) ) ) # Resultat: 'group', 'golf' Exempel: # sq ( csv ( grep ( 's$' ; array ( 'oranges'; 'mangoes' ) ) ) ) # Resultat: 'oranges'; 'mangoes' Exempel: # sq ( csv ( grep ( '!o' ; array ( 'oranges'; 'apples' ) ) ) ) # Resultat: 'apples' Leta reda på förskjutningen i 'str' där 'substr' finns. Värdet -1 returneras när 'substr' inte hittas. Det går även att ange valfri 'offset' där sökningen ska börja. Första argumentet 'str' kan även vara ett matrisuttryck och då tillämpas funktionen på varje matriselement och funktionsresultatet är en värdematris. index ( str , substr [ ; offset ] ) # index ( 'The black horse jumped over the black sheep.'; 'black' ) # Resultat: 4 # index ( 'The black horse jumped over the black sheep.'; 'black'; 10 ) # Resultat: 32 # index ( 'The black horse jumped over the black sheep.'; 'green' ) # Resultat: -1 # sq ( join ( ' | '; index ( array ('black';, 'red'; 'green' ) ; 'e' ) ) ) # Resultat: -1 | 1 | 2 Kopplar elementen i en matris med hjälp av "avgränsningssträng". join ( avgränsningssträng ; matrisuttryck ) Exempel: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Resultat: 'as | | an | | arts' Beräknar antalet tecken i stränguttryck. Om argumentet är ett matrisuttryck blir resultatet en värdematris. Varje post kommer att vara antalet tecken i varje element av matrisuttryck. length ( string_expression | array_expression ) length ( 'abcdef' ) Resultat: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Resultat: 6--3 Leta reda på den sista förskjutningen i 'str' där 'substr' finns. Funktionen kallas omvänt index. Du kan visa den som om den startar sökningen från slutet av strängen. Värdet -1 returneras när 'substr' inte hittas. Det går även att ange valfri 'offset' där sökningen ska sluta. Första argumentet 'str' kan vara ett matrisuttryck och då tillämpas funktionen på varje matriselement och funktionsresultatet är en värdematris. rindex ( str ; substr [ ; offset ] ) # rindex ( 'The black horse jumped over the black sheep.'; 'black' ) # Resultat: 32 # rindex ( 'The black horse jumped over the black sheep.'; 'black'; 10 ) # Resultat: 4 # rindex ( 'The black horse jumped over the black sheep.'; 'green' ) # Resultat: -1 # sq ( join ( ' | '; rindex ( array ('black';, 'red'; 'green' ) ; 'e' ) ) ) # Resultat: -1 | 1 | 3 Tar bort de avslutande tecknen från första argumentet. Det valfria andra argumentet definierar vilka tecken som ska tas bort. Som standard tas outskrivbara tecken bort (dvs. blanktecken, tabbar och radbrytningstecken). rstrip ( stränguttryck [ ; tecken ] ) Exempel: # sq( rstrip ( ' abc ' ) ) # Resultat: ' abc' Exempel: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 0053.21 Sorterar elementen i matrisen i alfabetisk följd. Dubbletter behålls. sort ( matrisuttryck ) Exempel: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Resultat: 'a', 's3', 'x' Delar upp en sträng eller strängelementen i en matris i separata element. split ( mönstersträng; stränguttryck|matrisuttryck ) Exempel: # sq ( csv ( split ( '::'; 'ab=c::de=f::gh=i' ) ) ) # Resultat: 'ab=c'; 'de=f'; 'gh=i' Exempel: # sq ( csv ( split ( '=' ; split ( '::'; 'ab=c::de=f::gh=i' ) ) ) ) # Resultat: 'ab', 'c', 'de', 'f', 'gh', 'i' Tar bort de inledande och avslutande tecknen från första argumentet. Det valfria andra argumentet definierar vilka tecken som ska tas bort. Som standard tas outskrivbara tecken bort (dvs. blanktecken, tabbar och radbrytningstecken). strip ( stränguttryck [ ; tecken ] ) Exempel: # sq( strip ( ' abc ' ) ) # Resultat: 'abc' Exempel: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 53.21 Söker efter ett mönster i en sträng eller i strängelementen i en matris och ersätter den första förekomsten av "mönstersträng" med "ersättningssträng". De enda tillåtna metatecknen är: ^ (början av ordet), $ (slutet av ordet) substitute ( mönstersträng; ersättningssträng; stränguttryck|matrisuttryck ) Exempel: #sq ( substitute ( '^cn='; '***'; 'cn=hjälp' ) )# Resultat: '***help' Exempel: # csv ( substitute ( '^cn='; '***'; array ( 'cn=hjälp' ; 'acn=5' ) ) ) # Resultat: '***help', 'acn=5' Exempel: # csv ( substitute ( 'cn='; ''; array ( 'cn=hjälp' ; 'acn=5' ) ) ) # Resultat: 'help', 'a5' Exempel: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Resultat: 'cn=***' Extraherar en del från stränguttryck med början vid 'start_offset'. Du kan ange att längden på antalet tecken ska extraheras. Om 'length' inte anges, returneras till slutet av 'stränguttryck'. Första argumentet kan även vara ett matrisuttryck och då tillämpas funktionen på varje matriselement och funktionsresultatet är en strängmatris. substr ( string_expression ; start_offset [ ; length ] ) substr ( 'The horse is black.'; 0, 3 ) Resultat: The substr ( 'The horse is black.'; 4 ) Resultat: horse is black. substr ( 'The horse is black'; index ('The horse is black.' ; 'green' ) ) Resultat: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) Resultat: ac | d | en substr ('over the moon'; -2; 4) Resultat i ett fel: Det andra argumentet till funktionen 'substr' måste vara större eller lika med -1.' . Returnerar "stränguttryck1", som representerar en tidsstämpel med tidszon, justerad till formatet angivet i "stränguttryck2". Formatet i stränguttryck2 måste vara något av följande: 'yyyy', 'mm', 'dd', 'yyyy-mm', 'yyyymm', 'yyyy-mm-dd', 'yyyymmdd', 'yyyy-mm-dd hh:mm:ss', 'yyyy-mm-dd hh:mm:ss+hh:mm', 'yyyy-mm-dd hh:mm:ss.ff3', 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm', 'yyyy-mm-ddThh:mm:ss', 'yyyy-mm-ddThh:mm:ss+hh:mm', 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm' eller 'yyyy-mm-ddThh:mm:ss.ff3+hh:mm'. Makrofunktionerna som returnerar en strängrepresentation av en tidsstämpel med tidszon visar som standard en precision med 9 siffror för bråkdelen av sekunder. Med formatalternativen kan detta justeras nedåt till en precision med 3 eller 0. timestampMask ( stränguttryck1 ; stränguttryck2 ) Exempel: # timestampMask ( $current_timestamp ; 'yyyy-dd-mm' ) # Resultat: 2005-11-01 Exempel: # timestampMask (  '2005-11-01 12:00:00.000-05:00' ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # Resultat: 2005-11-01 12:00:00-05:00 Exempel: # timestampMask (  '2005-11-01 12:00:00.123456789-05:00' ; 'yyyy-mm-ddThh:mm:ss+hh:mm.ff3+hh:mm' ) # Resultat: 2005-11-01T12:00:00.123-05:00 Returnerar strängen som representerar en tidsstämpel med tidszon genom att justera "stränguttryck" till tidszonen för operativsystemet. Anm. Makrofunktionen timestampMask() kan användas till att justera utdata. toLocal ( stränguttryck ) Exempel: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) # där operativsystemets lokala tidszon är -05:00 Resultat: 2005-11-01 12:00:00.000000000-05:00 Exempel: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # där operativsystemets lokala tidszon är -05:00 Resultat: 2005-11-01 12:00:00-05:00 Exempel: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # där operativsystemets lokala tidszon är -05:00 Resultat: 2005-11-01 12:00:00.000000000-05:00 Returnerar strängen "stränguttryck" med alla tecken konverterade till gemener och använder reglerna för språkmiljö "språkmiljösträng". Om ingen språkmiljö anges, används språkmiljön 'en'. tolower ( stränguttryck [ ; språkmiljösträng ] ) Exempel: # tolower ( 'ABC' ) # Resultat: abc Exempel: # tolower ( 'ABC' ; 'fr' ) # Resultat: abc Returnerar strängen "stränguttryck" med alla tecken konverterade till versaler och använder reglerna för språkmiljö i "språkmiljösträng". Om "språkmiljösträng" inte anges, används språkmiljön 'en'. toupper ( stränguttryck [ ; språkmiljösträng ] ) Exempel: # toupper ( 'abc' ) # Resultat: ABC Exempel: # toupper ( 'abc' ; 'fr' ) # Resultat: ABC Returnerar strängen som representerar en tidsstämpel med tidszon genom att justera "stränguttryck" till UTC-tidszonen, även kallad GMT-tid. Anm. Makrofunktionen timestampMask() kan användas till att justera utdata. toUTC ( stränguttryck ) Exempel: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Resultat: 2005-11-01 17:00:00.000000000-00:00 Exempel: # timestampMask( toUTC ( '2005-11-01 12:00:00.000-05:00' ) ; 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm' ) # Resultat: 2005-11-01 17:00:00.000-00:00 Exempel: # toUTC ( $current_timestamp ) # Resultat: 2005-11-01 17:00:00.000000000-00:00 Tar bort dubbla poster från matrisen. Ordningsföljden för elementen ändras inte. unique ( matrisuttryck ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Resultat: 's3', 'a', 'x' URL-kodar det överförda argumentet. Den här funktionen är användbar när XML-anslutningssträngar anges. urlencode ( prompt ( 'användarvärde' ) ) urlencode ( prompt ( 'något_värde' ) ) %27testValue%27 simple case Makrokonstruktionen är mallen för simple case, inklusive funktionerna case, when, then, else och end. Den här makrokonstruktionen kan endast användas i dynamiskt frågeläge. CASE <uttryck> WHEN <konstant> THEN <uttryck> [ELSE <uttryck>] END Exempel: #CASE prompt('pDateRange';'token') WHEN 'Aktuell vecka' THEN '[PR Aktuell vecka]' ELSE '[PR Föregående vecka]' END# Resultat: [PR Aktuell vecka]
Blockfunktioner Listan innehåller funktioner som används för åtkomst till medlemmar i en mängd och då normalt i samband med Analysis Studio. Returnerar den första medlemmen som påträffas i mängden fram till "numeriskt_uttryck_maximum" + "numeriskt_uttryck_överspill". Om "numeriskt_uttryck_maximum" + "numeriskt_uttryck_överspill" överskrids, returneras bara maxantalet medlemmar. För en mängd som bara har några få medlemmar fler än angivet numeriskt_uttryck_maximum tillåter numeriskt_uttryck_överspill att den lilla mängden med extramedlemmar inkluderas. Om mängden har fler medlemmar än vad överspillet tillåter, returneras bara numeriskt_uttryck_maximum medlemmar. _firstFromSet ( mängduttryck ; numeriskt_uttryck_maximum ; numeriskt_uttryck_överspill ) _firstFromSet ( [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] ; 2 ; 8 ) Resultat: Returnerar de fem medlemmarna i mängden Produktlinje. De första två medlemmarna returneras inom maximum, och de följande tre medlemmarna returneras som överspill. Campingutrustning Golfutrustning Bergsklättringsutrustning Utomhusskydd Personliga tillbehör _firstFromSet ( [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] ; 2 ; 2 ) Resultat: Campingutrustning, Golfutrustning Returnerar mängden som innehåller "medlemsuttryck" när storleken på "mängduttryck" är större än "numeriskt_uttryck", dvs en ny medlem genereras om antalet medlemmar i "mängduttryck" är större än angivet "numeriskt_uttryck". _remainderSet ( medlemsuttryck; mängduttryck ; numeriskt_uttryck ) _remainderSet ( member ( aggregate ( currentMeasure within set [great_outdoors-företag].[Produkter].[Produkter].[Produktlinje] ) ; 'Produktaggregering' ; 'Produktaggregering' ; [great_outdoors-företag].[Produkter].[Produkter] ) ;  [great_outdoors-företag].[Produkter].[Produkter].[Produktlinje] ; 1 ) Resultat: Kvantitet såld för Produktaggregering