Leverandørspecifikke funktioner Konstanter En konstant er en fast værdi, du kan bruge i et udtryk. Operatorer Operatorer angiver, hvad der skal ske med værdierne på hver side af operatoren. Operatorer ligner funktioner, idet de behandler dataelementer og returnerer et resultat. dato Indsætter den aktuelle systemdato. dato-klokkeslæt Indsætter systemets aktuelle dato og klokkeslæt. klokkeslæt med tidszone Indsætter et nul-klokkeslæt med tidszone. tidsstempel med tidszone Indsætter et eksempel på et tidsstempel med tidszone. Indsætter værdien falsk. interval Indsætter et nul-interval: 000 00:00:00.000. interval år Indsætter et nul-årsinterval: 0 år. interval måned Indsætter et nul-månedsinterval: 0 måned. interval år til måned Indsætter et nul-år til månedsinterval: 0000-00 år til måned. interval dag Indsætter et nul-dagsinterval: 0 dag. interval time Indsætter et nul-timeinterval: 0 time. interval minut Indsætter et nul-minutinterval: 0 minut. interval sekund Indsætter et nul-sekundinterval: 0 sekund. interval dag til time Indsætter et nul-dag til timeinterval: 0 00 dag til time. interval dag til minut Indsætter et nul-dag til minutinterval: 0 00:00 dag til minut. interval dag til sekund Indsætter et nul-dag til sekundinterval: 0 00:00:00.000000000 dag til sekund. interval time til minut Indsætter et nul-time til minutinterval: 00:00 time til minut. interval time til sekund Indsætter et nul-time til sekundinterval: 00:00:00.000000000 time til sekund. interval minut til sekund Indsætter et nul-minut til sekundinterval: 00:00.000000000 minut til sekund. Indsætter "NULL", hvis udtrykkets betingelser ikke er opfyldt. tal Indsætter tallet 0, som kan erstattes med en ny numerisk værdi. streng Indsætter en tom streng som to enkelte anførselstegn, som du kan skrive en streng imellem. klokkeslæt Indsætter det aktuelle systemklokkeslæt. Indsætter værdien sand.
Identificerer starten på et udtryk. ( udtryk ) Identificerer slutningen på et udtryk. ( udtryk ) Multiplicerer to numeriske værdier. Værdi1 * værdi2 , Adskiller komponenter i udtryk. udtryk ( parameter1; parameter2 ) Dividerer to numeriske værdier. værdi1 / værdi2 Sammenkæder (sammenføjer) strenge. streng1 || streng2 Adderer to numeriske værdier. værdi1 + værdi2 Subtraherer to numeriske værdier eller negerer en numerisk værdi. værdi1 - værdi2 eller - værdi Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som er mindre end "værdi2". værdi1 < værdi2 Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som er mindre end eller lig med "værdi2". værdi1 <= værdi2 Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som ikke er lig med "værdi2". værdi1 <> værdi2 Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som er lig med "værdi2". værdi1 = værdi2 Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som er større end "værdi2". værdi1 > værdi2 Adskiller komponenterne i et konstantmedlemsudtryk. [navneområde].[dimension].[hierarki].[niveau]->[L1] Sammenligner de værdier, der repræsenteres af "værdi1" og "værdi2", og henter de værdier, som er større end eller lig med "værdi2". værdi1 >= værdi2 Returnerer sand, hvis betingelserne i begge sider af udtrykket er sande. argument1 and argument2 Fungerer sammen med opsummeringsudtryk for at definere det omfang, der skal justeres på grundlag af grupperingskolonnerne i forespørgslen. Omfanget er kontekstafhængigt. aggregeringsfunktion ( udtryk AUTO ) Afgør, om en værdi findes i et givet interval. udtryk between værdi1 and værdi2 Eksempel: [Revenue] between 200 and 300 Resultat: Returnerer antallet af resultater med en omsætning mellem 200 og 300. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Fungerer med when, then, else og end. Case identificerer starten på en bestemt situation, der er defineret when-, then- og else-handlinger for. case udtryk { when udtryk then udtryk } [ else udtryk ] end Undersøger, om "streng1" indeholder "streng2". Denne syntaks understøtter begge metategn: Procenttegnet (%) repræsenterer nul, ét eller flere tegn, og understregningstegnet (_) repræsenterer et hvilket som helst tegn. Det valgfri LITERAL-nøgleord angiver, hvordan '%' og '_' fortolkes. Når LITERAL-nøgleordet er til stede, skal '%' og '_' ikke behandles som metategn (se eksempel 3 og 5). Hvis LITERAL-nøgleordet ikke er til stede, bliver '%' og '_' behandlet som metategn (se eksempel 1, 2 og 4). streng1 indeholder [LITERAL] streng2 Eksempel 1: [PRODUCT_LINE] indeholder 'door' Resultat 1: Outdoor Equipment Eksempel 2: [PRODUCT_LINE] indeholder 'Golf%' Resultat 2: Golf Equipment Eksempel 3: [PRODUCT_LINE] indeholder konstanten 'Golf%' Resultat 3: Golf% Eksempel 4: [PRODUCT_LINE] indeholder 'Current_Year%' Resultat 4: Current Year Price, Current Year Price%, Current_Year Price%. Eksempel 5: [PRODUCT_LINE] indeholder konstanten 'Current_Year%' Resultat 5: Current_Year%. Nøgleord, der kan bruges som første argument i medlemsopsummeringsfunktioner. Funktionen findes i eksempelrapporten Total Revenue by Country i pakken GO Data Warehouse (forespørgsel). aggregeringsfunktion ( currentMeasure within set udtryk ) current_date Returnerer databasens aktuelle dato. current_date Fungerer med lookup-construct'en. lookup (....) in (....) default (....) Et nøgleord, der bruges i aggregeringsudtryk til kun at medtage forskellige forekomster af værdier. Se også funktionen unique. distinct dataelement Eksempel: count ( distinct [OrderDetailQuantity] ) Resultat: 1704 Fungerer med if- og case-constructs. Hvis if-betingelsen eller case-udtrykket ikke er sandt, bruges else-udtrykket. Funktionen findes i eksempelrapporten Top 10 Retailers for 2005 i pakken GO Data Warehouse (analyse). if ( betingelse ) then .... else ( udtryk ) ; eller case .... else ( udtryk ) end Angiver slutningen på en case- eller when-construct. case .... end Undersøger, om "streng1" slutter med "streng2". Denne syntaks understøtter begge metategn: Procenttegnet (%) repræsenterer nul, ét eller flere tegn, og understregningstegnet (_) repræsenterer et hvilket som helst tegn. Det valgfri LITERAL-nøgleord angiver, hvordan '%' og '_' fortolkes. Når LITERAL-nøgleordet er til stede, skal '%' og '_' ikke behandles som metategn (se eksempel 3 og 5). Hvis LITERAL-nøgleordet ikke er til stede, bliver '%' og '_' behandlet som metategn (se eksempel 1, 2 og 4). streng1 slutter med [LITERAL] streng2 Eksempel 1: [PRODUCT_LINE] slutter med 'Equipment' Resultat 1: Camping Equipment, Golf Equipment Eksempel 2: [PRODUCT_LINE] slutter med '%Equipment' Resultat 2: Golf Equipment, Camping Equipment Eksempel 3: [PRODUCT_LINE] slutter med konstanten 'Equipment%' Resultat 3: Equipment% Eksempel 4: [PRODUCT_LINE] slutter med '%Price' Resultat 4: Product Price, Current_Year Price Eksempel 5: [PRODUCT_LINE] slutter med konstanten '%Price' Resultat 5: %Price Undersøger, om "streng1" matcher mønsteret i "streng2", hvor tegnet "tegn" efter behov bruges til at behandle tegn i mønsterstrengen. streng1 LIKE streng2 [ ESCAPE tegn ] Eksempel: [PRODUCT_LINE] like 'G%' Resultat: Alle produktlinjer, der starter med 'G'. Eksempel: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultat: Alle produktlinjer, der slutter med 'G%'. Fungerer sammen med opsummeringsudtryk for at definere omfanget af aggregeringen i forespørgslen. aggregeringsfunktion ( udtryk for udtryk { ; udtryk } ) Fungerer sammen med opsummeringsudtryk for at definere det omfang, der skal justeres på grundlag af et udsnit af grupperingskolonnerne i forespørgslen. Svarer til for-udtrykket. aggregeringsfunktion ( udtryk for ANY udtryk { ; udtryk } ) Fungerer sammen med opsummeringsudtryk for at definere, at omfanget skal være alle de angivne grupperingskolonner i forespørgslen. Se også for-udtrykket. aggregeringsfunktion ( udtryk for ALL udtryk { ; udtryk } ) Fungerer sammen med opsummeringsudtryk for at definere, at omfanget skal være hele forespørgslen. Se også for-udtrykket. Funktionen findes i eksempelrapporten Customer Returns and Satisfaction i pakken GO Data Warehouse (analyse). aggregeringsfunktion ( udtryk for report ) Fungerer med then- og else-constructs. If definerer en betingelse. Hvis if-betingelsen er sand, bruges then-udtrykket. Hvis if-betingelsen ikke er sand, bruges else-udtrykket. Funktionen findes i eksempelrapporten Top 10 Retailers for 2005 i pakken GO Data Warehouse (analyse). if ( betingelse ) then ( udtryk ) else ( udtryk ) Undersøger, om "udtryk1" findes på en givet liste med udtryk. udtryk1 in ( udtryksliste ) Undersøger, om "udtryk1" findes på en givet liste med konstantværdier eller intervaller. udtryk1 in_range { konstant : konstant [ ; konstant : konstant ] } Eksempel: [kode] in_range { 5 } Resultat: Svarer til [kode] = 5. Eksempel: [kode] in_range { 5: } Resultat: Svarer til [kode] >= 5. Eksempel: [kode] in_range { :5 } Resultat: Svarer til [kode] <= 5. Eksempel: [kode] in_range { 5:10 } Resultat: Svarer til ( [kode] >= 5 og [kode] <= 10 ). Eksempel: [kode] in_range { :5;10;20: } Resultat: Svarer til ( [kode] <= 5 eller [kode] = 10 eller [kode] >= 20 ). Undersøger, om "værdi" ikke er defineret i dataene. værdi is missing Undersøger, om "værdi" ikke er defineret i dataene. værdi is null Undersøger, om "værdi" er defineret i dataene. værdi is not missing Undersøger, om "værdi" er defineret i dataene. værdi is not null Undersøger, om "streng1" matcher mønsteret i "streng2", hvor tegnet "tegn" efter behov bruges til at behandle tegn i mønsterstrengen. Denne syntaks understøtter begge metategn: Procenttegnet (%) repræsenterer nul, ét eller flere tegn, og understregningstegnet (_) repræsenterer et hvilket som helst tegn. streng1 LIKE streng2 [ ESCAPE tegn ] Eksempel 1: [PRODUCT_LINE] like 'G%' Resultat: Alle produktlinjer, der starter med 'G'. Eksempel 2: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultat 2: Alle produktlinjer, der slutter med 'G%'. Eksempel 3: [PRODUCT_LINE] like 'C_R_%' Resultat 3: Alle produktlinjer med navnet CARS eller CARD. Eksempel: lookup ( [Country]) in ( 'Canada'--> ( [List Price] * 0.60); 'Australia'--> ( [List Price] * 0.80 ) ) default ( [List Price] ) Finder og erstatter data med en værdi, du angiver. Brug af case-construct'en foretrækkes. lookup ( navn ) in ( værdi1 --> værdi2 ) default ( udtryk ) Returnerer SAND, hvis "argument" er falsk, og returnerer FALSK, hvis "argument" er sandt. NOT argument Returnerer SAND, hvis enten "argument1" eller "argument2" er sandt. argument1 or argument2 Udfører en summarisk beregning, før det summariske filter anvendes. summary_function ([udtryk] prefilter) Eksempel: total ( [Quantity] for report prefilter ) summaryFilter: total( [Quantity] for [ProductNo] ) > 50000 Resultat: Opsummerer mængderne i en rapport, før det summariske filter aktiveres. 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 Tæller resultatet af rækker i forespørgslens resultat. Bruges sammen med Count(). count ( ROWS ) Tæller resultatet af rækker i forespørgslens resultat. Bruges sammen med Count(). count ( ROWS  [ udtryk ]) Undersøger, om "streng1" begynder med "streng2". Denne syntaks understøtter begge metategn: Procenttegnet (%) repræsenterer nul, ét eller flere tegn, og understregningstegnet (_) repræsenterer et hvilket som helst tegn. Det valgfri LITERAL-nøgleord angiver, hvordan '%' og '_' fortolkes. Når LITERAL-nøgleordet er til stede, skal '%' og '_' ikke behandles som metategn (se eksempel 3 og 5). Hvis LITERAL-nøgleordet ikke er til stede, bliver '%' og '_' behandlet som metategn (se eksempel 1, 2 og 4). streng1 starter med [LITERAL] streng2 Eksempel 1: [PRODUCT_LINE] starter med 'Golf' Resultat 1: Golf Equipment Eksempel 2: [PRODUCT_LINE] starter med 'Outdoor%' Resultat 2: Outdoor Equipment Eksempel 3: [PRODUCT_LINE] starter med konstanten 'Golf%' Resultat 3: Golf% Eksempel 4: [PRODUCT_LINE] starter med 'Current_Year%' Resultat 4: Current Year Price, Current Year Price%, Current_Year Price% Eksempel 5: [PRODUCT_LINE] starter med konstanten 'Current_Year%' Resultat 5: Current_Year% Fungerer med if- og case-constructs. Hvis if-betingelsen eller when-udtrykket er sandt, bruges then-udtrykket. Funktionen findes i eksempelrapporten Top 10 Retailers for 2005 i pakken GO Data Warehouse (analyse). if ( betingelse ) then ... eller case-udtryk when udtryk then .... end Fungerer med case-construct'en. Du kan definere betingelser, der skal forekomme, når WHEN-udtrykket er sandt. case [udtryk] when ... end
Opsummeringer Denne liste indeholder foruddefinerede funktioner, der enten returnerer en enkelt summarisk værdi for en gruppe relaterede værdier eller forskellige summariske værdier for hver forekomst af en gruppe relaterede værdier. Returnerer en beregnet værdi ved brug af den relevante aggregeringsfunktion på grundlag af udtrykkets aggregeringstype. Funktionen findes i eksempelrapporten Budget vs. Actual i pakken GO Data Warehouse (analyse). aggregate ( udtryk [ auto ] ) aggregate ( udtryk for [ all|any ] udtryk { ; udtryk } ) aggregate ( udtryk for report ) Returnerer gennemsnitsværdien af valgte dataelementer. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. average ( [ distinct ] udtryk [ auto ] ) average ( [ distinct ] udtryk for [ all|any ] udtryk { ; udtryk } ) average ( [ distinct ] udtryk for report ) Eksempel: average ( Sales ) Resultat: Returnerer gennemsnittet af alle salgsværdier. Returnerer antallet af valgte dataelementer bortset fra NULL-værdier. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. All er kun understøttet i DQM-tilstand, og det undgår dobbelttælling af et dataelement i en dimensionstabel. count ( [ all | distinct ] udtryk [ auto ] ) count ( [ all | distinct ] udtryk for [ all|any ] udtryk {  udtryk } ) count ( [ all | distinct ] udtryk for report ) Eksempel: count ( Sales ) Resultat: Returnerer det samlede antal indgange under Sales. Returnerer maksimumsværdien for valgte dataelementer. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. maximum ( [ distinct ] udtryk [ auto ] ) maximum ( [ distinct ] udtryk for [ all|any ] udtryk { ; udtryk } ) maximum ( [ distinct ] udtryk for report ) Eksempel: maximum ( Sales ) Resultat: Returnerer den maksimale værdi blandt alle salgsværdier. Returnerer medianværdien af valgte dataelementer. median ( udtryk [ auto ] ) median ( udtryk for [ all|any ] udtryk { ; udtryk } ) median ( udtryk for report ) Returnerer minimumsværdien for valgte dataelementer. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. minimum ( [ distinct ] udtryk [ auto ] ) minimum ( [ distinct ] udtryk for [ all|any ] udtryk { ; udtryk } ) minimum ( [ distinct ] udtryk for report ) Eksempel: minimum ( Sales ) Resultat: Returnerer den mindste værdi blandt alle salgsværdier. Returnerer et bevægeligt gennemsnit pr. række for et angivet sæt værdier over et angivet antal rækker. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. moving-average ( numerisk_udtryk ; numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) moving-average (  numerisk_udtryk ; numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: moving-average ( Qty ; 3 ) Resultat: Returnerer for hver række antallet og et bevægeligt gennemsnit for den aktuelle række og de foregående to rækker. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Returnerer en bevægelig total pr. række for et angivet sæt værdier over et angivet antal rækker. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. moving-total ( numerisk_udtryk ; numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) moving-total (  numerisk_udtryk ; numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: moving-total ( Qty ; 3 ) Resultat: Returnerer for hver række antallet og en bevægelig total for den aktuelle række og de foregående to rækker. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Returnerer valgte dataelementers procentdel af den totale værdi. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. Funktionen findes i den interaktive eksempelrapport Percentage Calculation (by year). percentage ( numerisk_udtryk [ at udtryk  { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) percentage (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: percentage ( Sales 98 ) Resultat: Returnerer den procentdel af det samlede salg for 1998, som hver sælger står for. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Returnerer en værdi, som på en skala fra 1 til 100 angiver den procent af en fordeling, som er lig med eller mindre end de valgte dataelementer. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. percentile ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) percentile (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: percentile ( Sales 98 ) Resultat: Returnerer for hver række den procentdel af rækkerne, der er lig med eller mindre end den pågældendes række antalsværdi. 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 Returnerer en værdis rang i et interval, du angiver. Der returneres heltal, som repræsenterer rangordensintervaller, f.eks. 1 (højest) til 100 (lavest). "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. quantile ( numerisk_udtryk ; numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) quantile (  numerisk_udtryk ; numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: quantile ( Qty ; 4 ) Resultat: Returnerer antallet, antalsværdiens rang og antalsværdierne brudt ned i 4 fraktilgrupper (fraktiler). 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 Returnerer en værdis rang i form af et heltal fra 1 (højest) til 4 (lavest) i forhold til en gruppe værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. quartile ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) quartile (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: quartile ( Qty ) Resultat: Returnerer antallet og fraktilen for antalsværdien i form af et heltal fra 1 (højest) til 4 (lavest). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Returnerer rangen for valgte dataelementer. Sorteringsrækkefølgen er valgfri. Standardværdien er faldende rækkefølge (DESC). Hvis to eller flere rækker har ens værdier, er der et hul i rækken af rangerede værdier (kaldes også olympisk rangorden). "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. NULL-værdier rangeres sidst. Funktionen findes i eksempelrapporten Top 10 Retailers for 2005 i pakken GO Data Warehouse (analyse). rank ( udtryk [ ASC|DESC ] { ; udtryk [ ASC|DESC ] } [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) rank ( [ distinct ] udtryk [ ASC|DESC ] { ; udtryk [ ASC|DESC ] } [ <for-parameter>] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: rank ( Sales 98 ) Resultat: Returnerer for hver række den rangeringsværdi for salget for 1998, som hver sælger står for. Numre springes over, hvis flere rækker har samme værdier. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Returnerer det løbende gennemsnit pr. række (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-average ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-average (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-average ( Qty ) Resultat: Returnerer for hver række antallet og et løbende gennemsnit for den aktuelle række og de foregående rækker. 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 Returnerer det løbende antal pr. række (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-count ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-count (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-count ( Qty ) Resultat: Returnerer for hver række antallet og et løbende antal for den aktuelle rækkes placering. 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 Returnerer en løbende forskel pr. række, som beregnes som forskellen mellem den aktuelle rækkes værdi og den foregående rækkes værdi, (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-difference ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-difference (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-difference ( Qty ) Resultat: Returnerer for hver række antallet og en løbende forskel mellem den aktuelle rækkes værdi og den foregående rækkes værdi. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Returnerer det løbende maksimum pr. række (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-maximum ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-maximum (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-maximum ( Qty ) Resultat: Returnerer for hver række antallet og et løbende maksimum for den aktuelle række og foregående rækker. 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 Returnerer det løbende minimum pr. række (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-minimum ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-minimum (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-minimum ( Qty ) Resultat: Returnerer for hver række antallet og et løbende minimum for den aktuelle og foregående rækker. 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 Returnerer en løbende total pr. række (inklusive den aktuelle række) for et sæt værdier. "<for-parameter>" definerer funktionens omfang. Parameteren "at" definerer aggregeringsniveauet og kan kun bruges sammen med relationelle datakilder. running-total ( numerisk_udtryk [ at udtryk { ; udtryk } ] [ <for-parameter> ] [ prefilter ] ) running-total (  numerisk_udtryk [ <for-parameter> ] [ prefilter ] ) <for-parameter> ::= for udtryk { ; udtryk }|for report|auto Eksempel: running-total ( Qty ) Resultat: Returnerer for hver række antallet og en løbende total for den aktuelle og foregående rækker. 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 Returnerer standardafvigelsen for valgte dataelementer. standard-deviation ( udtryk [ auto ] ) standard-deviation ( udtryk for [ all|any ] udtryk { ; udtryk } ) standard-deviation ( udtryk for report ) Eksempel: standard-deviation ( ProductCost ) Resultat: Returnerer en værdi, der angiver afvigelsen mellem produktkostprisen og den gennemsnitlige produktkostpris. Beregner populationens standardafvigelse og returnerer kvadratroden af populationsvariansen. standard-deviation-pop (  udtryk [ auto ] ) standard-deviation-pop (  udtryk for [ all|any ] udtryk { ; udtryk } ) standard-deviation-pop (  udtryk for report ) Eksempel: standard-deviation-pop ( ProductCost ) Resultat: Returnerer en værdi, der er kvadratroden af populationsvariansen. Beregner stikprøvens standardafvigelse og returnerer kvadratroden af populationsvariansen. standard-deviation-samp ( udtryk [ auto ] ) standard-deviation-samp ( udtryk for [ all|any ] udtryk { ; udtryk } ) standard-deviation-samp ( udtryk for report ) Eksempel: standard-deviation-samp ( ProductCost ) Resultat: Returnerer en værdi, der er kvadratroden af stikprøvevariansen. Returnerer en værdis rang som høj, middel eller lav i forhold til en gruppe værdier. tertile (  udtryk [ auto ] ) tertile (  udtryk for [ all|any ] udtryk { ; udtryk } ) tertile (  udtryk for report ) Eksempel: tertile ( Qty ) Resultat: Returnerer antallet, antalsværdiens fraktil brudt ned i tertiler og antalsværdierne brudt ned i 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 Returnerer den samlede værdi af valgte dataelementer. Distinct er et alternativt udtryk, der er kompatibelt med tidligere versioner af produktet. Funktionen findes i eksempelrapporten Budget vs. Actual i pakken GO Data Warehouse (analyse). total ( [ distinct ] udtryk [ auto ] ) total ( [ distinct ] udtryk for [ all|any ] udtryk { ; udtryk } ) total ( [ distinct ] udtryk for report ) Eksempel: total ( Sales ) Resultat: Returnerer den samlede værdi af alle salgsværdier. Statistiske funktioner Denne liste indeholder foruddefinerede summariske statistikfunktioner. Returnerer variansen for valgte dataelementer. variance ( udtryk [ auto ] ) variance ( udtryk for [ all|any ] udtryk { ; udtryk } ) variance ( udtryk for report ) Eksempel: variance ( Product Cost ) Resultat: Returnerer en værdi, der angiver, hvor meget produktkostprisen afviger fra den gennemsnitlige produktkostpris. Returnerer populationsvariansen for et sæt tal, efter at NULL-værdierne i sættet er fjernet. variance-pop (  udtryk [ auto ] ) variance-pop (  udtryk for [ all|any ] udtryk { ; udtryk } ) variance-pop (  udtryk for report ) Eksempel: variance-pop ( Qty ) Resultat: Returnerer for hver række populationsvariansen for et sæt tal, efter at NULL-værdierne i sættet er fjernet. Returnerer stikprøvevariansen for et sæt tal, efter at NULL-værdierne i sættet er fjernet. variance-samp (  udtryk [ auto ] ) variance-samp (  udtryk for [ all|any ] udtryk { ; udtryk } ) variance-samp (  udtryk for report ) Eksempel: variance-samp ( Qty ) Resultat: Returnerer for hver række stikprøvevariansen for et sæt tal, efter at NULL-værdierne i sættet er fjernet. corr ( numerisk_udtryk1 ;  numerisk_udtryk2  [ auto ] ) corr ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) corr ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer koefficienten af korrelationen af et sæt talpar. Det beregnes som følger: COVAR_POP(numerisk_udtryk1; numerisk_udtryk2) / (STDDEV_POP(numerisk_udtryk) * STDDEV_POP(numerisk_udtryk2)) Eksempel: corr ( Cost ;  Margin  for report) Resultat: Koefficienten af korrelationen mellem Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) covariance-pop ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) covariance-pop ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer populationskovariansen af et sæt talpar. Eksempel: covariance-pop ( Cost ;  Margin  for report) Resultat: Populationskovariansen mellem Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) covariance-samp ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) covariance-samp ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer stikprøvekovariansen af et sæt talpar. Eksempel: covariance-samp ( Cost ;  Margin  for report) Resultat: Stikprøvekovariansen mellem Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-average-x ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-average-x ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer gennemsnittet af den uafhængige variabel (numerisk_udtryk2) af regressionslinjen. Eksempel: regression-average-x ( Cost ;  Margin  for report) Resultat: Gennemsnittet af Margin af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-average-y ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-average-y ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer gennemsnittet af den afhængige variabel (numerisk_udtryk1) af regressionslinjen. Eksempel: regression-average-y ( Cost ;  Margin  for report) Resultat: Gennemsnittet af Cost af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-count ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-count ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer antallet af tal, der ikke er NULL, som bruges til regressionslinjen. Eksempel: regression-count ( Cost ;  Margin  for report) Resultat: Antallet af ikke-NULL-tal, som bruges til regressionslinjen for Cost and Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-intercept ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-intercept ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer y-skæringspunktet af regressionslinjen. Det beregnes som følger: AVG(numerisk_udtryk1) - REGR_SLOPE(numerisk_udtryk1; numerisk_udtryk2) * AVG(numerisk_udtryk2) Eksempel: regression-intercept ( Cost ;  Margin  for report) Resultat: y-skæringspunktet af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-r2 ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-r2 ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer determinationskoefficienten (også kaldet "R i anden" eller "tilpasningsgrad") af regressionslinjen. Værdien beregnes baseret på følgende betingelser: IF VAR_POP(numerisk_udtryk2) = 0 THEN NULL IF VAR_POP(numerisk_udtryk1) = 0 AND VAR_POP(numerisk_udtryk2) <> 0 THEN 1 IF VAR_POP(numerisk_udtryk1) > 0 and VAR_POP(numerisk_udtryk2) <> 0 THEN POWER(CORR (numerisk_udtryk1; numerisk_udtryk2)) Eksempel: regression-r2 ( Cost ;  Margin  for report) Resultat: Determinationskoefficienten af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-slope ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-slope ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer hældningen af regressionslinjen. Det beregnes som følger: COVAR_POP(numerisk_udtryk1;numerisk_udtryk2) / VAR_POP(numerisk_udtryk2) Eksempel: regression-slope ( Cost ;  Margin ) Resultat: Hældningen af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-sxx ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-sxx ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer følgende beregning efter eliminering af NULL-par: REGR_COUNT(numerisk_udtryk1; numerisk_udtryk2) * VAR_POP(numerisk_udtryk2) Eksempel: regression-sxx ( Cost ;  Margin  for report) Resultat: sxx-beregningen af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-sxy ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-sxy ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer følgende beregning efter eliminering af NULL-par: REGR_COUNT(numerisk_udtryk1; numerisk_udtryk2) * COVAR_POP(numerisk_udtryk1; numerisk_udtryk2) Eksempel: regression-sxy ( Cost ;  Margin  for report) Resultat: sxy-beregningen af regressionslinjen for Cost og Margin. 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 ( numerisk_udtryk1 ;  numerisk_udtryk2 ) regression-syy ( numerisk_udtryk1 ;  numerisk_udtryk2 for [ all|any ] udtryk { ; udtryk } ) regression-syy ( numerisk_udtryk1 ;  numerisk_udtryk2 for report ) Returnerer følgende beregning efter eliminering af NULL-par: REGR_COUNT(numerisk_udtryk1; numerisk_udtryk2) * VAR_POP(numerisk_udtryk1) Eksempel: regression-syy ( Cost ;  Margin  for report) Resultat: syy-beregningen af regressionslinjen for Cost og Margin. 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 Medlemsopsummeringer Denne liste indeholder foruddefinerede funktioner, der enten returnerer en enkelt summarisk værdi for et sæt medlemmer eller forskellige summariske værdier for hvert medlem i et sæt medlemmer.
Fejl Der er en fejl i udtrykket ved det fremhævede token.
Constructs Denne liste indeholder constructs og skabeloner, der kan bruges til at oprette et udtryk. Skabeloner samler flere funktioner i en gruppe. For eksempel indeholder case-skabelonen til søgning funktionerne case, when, else og end. case til søgning Denne construct er skabelon for en case til søgning og omfatter funktionerne CASE, WHEN, ELSE og END. CASE WHEN [Country] = 'Canada' THEN ([List Price] * 0.60) WHEN [CountryCode] > 100 THEN [List Price] * 0.80 ELSE [List Price] END simpel case Denne construct er skabelon for en simpel case og omfatter funktionerne CASE, WHEN, ELSE og END. CASE [Country] WHEN 'Canada' THEN ([List Price] * 0.60) WHEN 'Australia' THEN [List Price] * 0.80 ELSE [List Price] END if then else Denne construct er skabelonen til en if...then...else-sætning. Construct'en findes i eksempelrapporten Top 10 Retailers for 2005 i pakken GO Data Warehouse (analyse). IF ([Country] = 'Canada') THEN ([List Price] * 0.60) ELSE ([List Price]) in_range Dette er skabelonen til et in_range-udtryk. [kode] IN_RANGE { :30 ; 40; 50; 999: } Eksempel: [kode] IN_RANGE { 5 } Resultat: Svarer til [kode] = 5. Eksempel: [kode] IN_RANGE { 5: } Resultat: Svarer til [kode] >= 5. Eksempel: [kode] IN_RANGE { :5 } Resultat: Svarer til [kode] <= 5. Eksempel: [kode] IN_RANGE { 5:10 } Resultat: Svarer til ( [kode] >= 5 og [kode] <= 10 ). Eksempel: [kode] IN_RANGE { :5;10;20: } Resultat: Svarer til ( [kode] <= 5 eller [kode] = 10 eller [kode] >= 20 ).
Periodeprædikater Denne liste indeholder prædikater, der kan bruges til sammenligning af periodeudtryk. indeholder Returnerer "sand", hvis "periodeudtryk1" indeholder "periodeudtryk2", dvs. "sand" returneres, hvis den første periode indeholder dato-klokkeslætsværdien eller alle værdier, der er indeholdt i den anden periode. periodeudtryk1 contains ( periodeudtryk2 | dato-klokkeslætsudtryk ) period( 1989-11-01, 1991-05-19 ) contains period( 1991-05-19, 1991-06-04 ) Resultat: falsk period( 1989-11-01, 1991-05-19 ) contains period( 1990-05-19, 1991-04-04 ) Resultat: sand period( 1989-11-01, 1991-05-19 ) contains 1991-04-04 Resultat: sand er lig med Returnerer "sand", hvis "periodeudtryk1" og "periodeudtryk2" har samme værdier for periodestart og periodeslutning. periodeudtryk1 equals periodeudtryk2 period( 1989-11-01, 1991-05-19 ) equals period( 1989-11-01, 1991-05-19 ) Resultat: sand immediately precedes Returnerer "sand", hvis "period_expression1" immediately precedes "period_expression2", dvs. hvis afslutningsværdien for den første periode er lig med startværdien for den anden periode. periodeudtryk1 immediately precedes periodeudtryk2 period( 1989-11-01, 1991-05-19 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Resultat: sand period( 1989-11-01, 1991-05-18 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Resultat: falsk immediately succeeds Returnerer "sand", hvis "periodeudtryk1" immediately succeeds "periodeudtryk2", dvs. hvis startværdien for den første periode er lig med afslutningsværdien for den anden periode. periodeudtryk1 immediately succeeds periodeudtryk2 period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-19, 1991-05-19 ) Resultat: sand period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-20, 1991-05-18 ) Resultat: falsk overlaps Returnerer "sand", hvis "periodeudtryk1" overlaps "periodeudtryk2", dvs. hvis de har mindst én fælles værdi. periodeudtryk1 overlaps periodeudtryk2 period( 1991-05-19, 1994-01-10 ) overlaps period( 1993-01-19, 1995-05-19 ) Resultat: sand precedes Returnerer "sand", hvis "periodeudtryk1" precedes "periodeudtryk2", dvs. hvis alle værdier, der er indeholdt i den første periode, er mindre end eller lig med startværdien for den anden periode. periodeudtryk1 precedes periodeudtryk2 period( 1989-11-01, 1991-05-19 ) precedes period( 1991-05-19, 1991-06-04 ) Resultat: sand period( 1989-11-01, 1991-05-18 ) precedes period( 1991-05-19, 1991-06-04 ) Resultat: sand succeeds Returnerer "sand", hvis "periodeudtryk1" succeeds "periodeudtryk2", dvs. hvis alle værdier, der er indeholdt i den første periode, er større end eller lig med afslutningsværdien for den anden periode. periodeudtryk1 succeeds periodeudtryk2 period( 1991-05-19, 1994-01-10 ) succeeds period( 1991-01-19, 1991-05-19 ) Resultat: sand period( 1991-05-20, 1994-01-10 ) succeeds period( 1991-01-20, 1991-05-19 ) Resultat: sand
Virksomhedsdato-klokkeslætsfunktioner Denne liste indeholder virksomhedsfunktioner til beregning af datoer og klokkeslæt. _add_seconds ( tidsudtryk; heltalsudtryk ) Returnerer det klokkeslæt eller den dato-klokkeslætsværdi (afhængigt af formatet på "klokkeslætsudtryk"), der er det resultat, som fremkommer, når "heltalsudtryk" sekunder lægges til "klokkeslætsudtryk". Eksempel: _add_seconds ( 13:04:59 ; 1 ) Resultat: 13:05:00 Eksempel: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-04-30 12:10:11.000 Eksempel: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ) Bemærk, at det andet argument ikke er et helt tal. Det øger klokkeslætsandelen og understøttes af nogle databaseteknologier. Resultat: 2002-04-30 00:00:00.010 _add_minutes ( tidsudtryk; heltalsudtryk ) Returnerer det klokkeslæt eller den dato-klokkeslætsværdi (afhængigt af formatet på "klokkeslætsudtryk"), der er det resultat, som fremkommer, når "heltalsudtryk" minutter lægges til "klokkeslætsudtryk". Eksempel: _add_minutes ( 13:59:00 ; 1 ) Resultat: 14:00:00 Eksempel: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Resultat: 2002-04-30 13:00:10.000 Eksempel: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Note that the second argument is not a whole number. Det øger klokkeslætsandelen og understøttes af nogle databaseteknologier. Resultat: 2002-04-30 00:00:01.000 _add_hours ( tidsudtryk; heltalsudtryk ) Returnerer det klokkeslæt eller den dato-klokkeslætsværdi (afhængigt af formatet på "klokkeslætsudtryk"), der er det resultat, som fremkommer, når "heltalsudtryk" timer lægges til "klokkeslætsudtryk". Eksempel: _add_hours ( 13:59:00 ; 1 ) Resultat: 14:59:00 Eksempel: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-04-30 13:10:10.000, Eksempel: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Note that the second argument is not a whole number. Det øger klokkeslætsandelen og understøttes af nogle databaseteknologier. Resultat: 2002-04-30 00:01:00.000 _add_days ( datoudtryk; heltalsudtryk ) Returnerer den dato eller den dato-klokkeslætsværdi (afhængigt af formatet på "datoudtryk"), der er det resultat, som fremkommer, når "heltalsudtryk" dage lægges til "datoudtryk". Eksempel: _add_days ( 2002-04-30 ; 1 ) Resultat: 2002-05-01 Eksempel: _add_days ( 2002-04-30 12:10:10.000; 1 ) Resultat: 2002-05-01 12:10:10.000 Eksempel: _add_days ( 2002-04-30 00:00:00.000; 1/24 ) Bemærk, at det andet argument ikke er et helt tal. Det øger klokkeslætsandelen og understøttes af nogle databaseteknologier. Resultat: 2002-04-30 01:00:00.000 _add_months ( datoudtryk; heltalsudtryk ) Tilføjer "heltalsudtryk" måneder til "datoudtryk". Hvis der er færre dage i den resulterende måned end i dag i måned-komponenten, returneres den sidste dag i den resulterende måned. I alle andre tilfælde har den returnerede værdi den samme dag i måned-komponent som "datoudtryk". Eksempel: _add_months ( 2012-04-15 ; 3 ) Resultat: 2012-07-15 Resultat er ikke den sidste dag i den resulterende måned. Eksempel: _add_months ( 2012-02-29 ; 1 ) Resultat: 2012-03-29 Brug funktionen _last_of_month til at returnere den sidste dag i måneden. Eksempel: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Resultat: 2012-03-31 Dag justeres til den sidste dag i den resulterende måned. Eksempel: _add_months ( 2012-01-31 ; 1 ) Resultat: 2012-02-29 Tilføjer til et tidsstempel. Eksempel: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Resultat: 2002-05-30 12:10:10.000 _add_years ( datoudtryk; heltalsudtryk ) Tilføjer "heltalsudtryk" år til "datoudtryk". Hvis "datoudtryk" er 29. februar og det resulterende år ikke er et skudår, angives til resulterende dag til 28. februar. I alle andre tilfælde har den returnerede værdi den samme dag og måned som "datoudtryk". Eksempel: _add_years ( 2012-04-15 ; 1 ) Resultat: 2013-04-15 29. februar justeret som år, som ikke er skudår. Eksempel: _add_years ( 2012-02-29 ; 1 ) Resultat: 2013-02-28 Tilføjer til et tidsstempel. Eksempel: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Resultat: 2003-04-30 12:10:10.000 _age ( datoudtryk ) Returnerer et tal, der fremkommer, når "datoudtryk" trækkes fra dags dato. Den returnerede værdi har formatet ÅÅÅÅMMDD, hvor ÅÅÅÅ repræsenterer antallet af år, MM repræsenterer antallet af måneder, og DD repræsenterer antallet af dage. Eksempel: _age ( 1990-04-30 ) (hvis dags dato er 2003-02-05) Resultat: 120906, hvilket betyder 12 år, 9 måneder og 6 dage. _date_to_int ( datoudtryk ) Returnerer en heltalsrepræsentation af "datoudtryk". Den returnerede værdi har formatet ÅÅÅÅMMDD, hvor ÅÅÅÅ repræsenterer antallet af år, MM repræsenterer antallet af måneder, og DD repræsenterer antallet af dage. Eksempel: _date_to_int ( 2003-01-01 ) Resultat: 20030101 _day_of_week ( datoudtryk; heltal ) Returnerer dagen i ugen (1 til 7), hvor 1 er den første dag i ugen som angivet af den anden parameter (1 til 7, hvor 1 er mandag og 7 er søndag). Bemærk, at ifølge ISO 8601-standarden er mandag dag 1 i ugen. Eksempel: _day_of_week ( 2003-01-01 ; 1 ) Resultat: 3 _day_of_year ( datoudtryk ) Returnerer dagen i året (1 til 366) i "datoudtryk". Kaldes også juliansk dag. Eksempel: _day_of_year ( 2003-03-01 ) Resultat: 61 _days_between ( datoudtryk1 ; datoudtryk2 ) Returnerer et positivt eller negativt tal, som repræsenterer antallet af dage mellem "datoudtryk1" og "datoudtryk2". Hvis "datoudtryk1" < "datoudtryk2", er resultatet et negativt tal. Eksempel: _days_between ( 2002-06-21 ; 2002-04-30 ) Resultat: 52 Eksempel: _days_between ( 2002-04-30 ; 2002-06-21 ) Resultat: -52 _days_to_end_of_month ( datoudtryk ) Returnerer et tal, der er det antal dage, der er tilbage i den måned, som repræsenteres af "datoudtryk". Eksempel: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Resultat: 10 _first_of_month ( datoudtryk ) Returnerer en dato eller en dato-klokkeslætsværdi (afhængigt af argumentet), ved at "datoudtryk" konverteres til en dato med samme år og måned, men med dagen angivet til 1. Eksempel: _first_of_month ( 2002-04-20 ) Resultat: 2002-04-01 Eksempel: _first_of_month ( 2002-04-20 12:10:10.000 ) Resultat: 2002-04-01 12:10:10.000 _last_of_month ( datoudtryk ) Returnerer en dato eller en dato-klokkeslætsværdi (afhængigt af argumentet), som er den sidste dag i den måned, der repræsenteres af "datoudtryk". Eksempel: _last_of_month ( 2002-01-14 ) Resultat: 2002-01-31 Eksempel: _last_of_month ( 2002-01-14 12:10:10.000 ) Resultat: 2002-01-31 12:10:10.000 _make_timestamp ( heltalsudtryk1; heltalsudtryk2; heltalsudtryk3 ) Returnerer et tidsstempel, der er oprettet ud fra "heltalsudtryk1" (året), "heltalsudtryk2" (måneden) og "heltalsudtryk3" (dagen). Klokkeslætsdelen antager standardværdien 00:00:00.000 . Eksempel: _make_timestamp ( 2002 ; 01 ; 14 ) Resultat: 2002-01-14 00:00:00.000 _months_between ( datoudtryk1; datoudtryk2 ) Returnerer et positivt eller negativt heltal, som repræsenterer antallet af måneder mellem "datoudtryk1" og "datoudtryk2". Hvis "datoudtryk1" er tidligere end "datoudtryk2", returneres et negativt tal. Eksempel: _months_between ( 2002-04-03 ; 2002-01-30 ) Resultat: 2 Eksempel: _months_between ( 2002-01-30 ; 2002-04-03 ) Resultat: -2 _shift_timezone ( tidsstempelværdi ; fra_tidszone ; måltidszone ) _shift_timezone ( tidsstempel_med_tidszoneværdi ; måltidszone ) Ændrer en tidsstempelværdi fra én tidszone til en anden. Funktionen overholder sommertid, når det er relevant. Hvis det først argument er af typen "tidsstempel", repræsenterer det andet og tredje argument henholdsvis "fra"- og "mål"-tidszonerne. Hvis det først argument er af typen "tidsstempel med tidszone", er "fra"-tidszonen allerede implicit repræsenteret i det første argument, hvorved det andet argument repræsenterer "mål"-tidszonen. Datatypen af det første argument bestemmer også datatypen af returværdien. Det andet og tredje argument er af typen "streng" og repræsenterer tidszone-id'er. Der er en liste over disse id'er nedenfor. Bemærk: Brug af denne funktion medfører lokal databehandling. Eksempel: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) Resultat: 2013-06-30 16:00:00 Eksempel: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) Resultat: 2013-11-30 09:00:00-08:00 Tidszone-id'er: 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 Der kan også anvendes en tilpasset tidszone-id ved hjælp af formatet GMT(+|-)TT:MM. Eksempel: GMT-06:30 eller GMT+02:00. _week_of_year ( datoudtryk ) Returnerer nummeret på ugen i året i "datoudtryk" ifølge ISO 8601-standarden. Uge 1 i året er den første uge i året, som indeholder en torsdag, hvilket svarer til den hele uge, som indeholder 4. januar. En uge begynder mandag (dag 1) og slutter søndag (dag 7). Eksempel: _week_of_year ( 2003-01-01 ) Resultat: 1 _years_between ( datoudtryk1; datoudtryk2 ) Returnerer et positivt eller negativt heltal, som repræsenterer antallet af år mellem "datoudtryk1" og "datoudtryk2". Hvis "datoudtryk1" < "datoudtryk2", returneres en negativ værdi. Eksempel: _years_between ( 2003-01-30 ; 2001-04-03 ) Resultat: 1 Eksempel: _years_between ( 2001-04-03 ; 2003-01-30 ) Resultat: -1 _ymdint_between ( datoudtryk1 ; datoudtryk2 ) Returnerer et tal, som repræsenterer forskellen mellem "datoudtryk1" og "datoudtryk2". Den returnerede værdi har formatet ÅÅÅÅMMDD, hvor ÅÅÅÅ repræsenterer antallet af år, MM repræsenterer antallet af måneder, og DD repræsenterer antallet af dage. Eksempel: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Resultat: 120905, hvilket betyder 12 år, 9 måneder og 5 dage. _year ( datoudtryk ) Returnerer værdien af årfeltet i "datoudtryk". Eksempel: _year ( 2003-03-01 ) Resultat: 2003 _month ( datoudtryk ) Returnerer værdien af månedsfeltet i "datoudtryk". Eksempel: _month ( 2003-03-01 ) Resultat: 3 _day ( datoudtryk ) Returnerer værdien af dagfeltet i "datoudtryk". Eksempel: _day ( 2003-03-01 ) Resultat: 1 _hour ( datoudtryk ) Returnerer værdien af timefeltet i "datoudtryk". Eksempel: _hour ( 2002-01-31 12:10:10.254 ) Resultat: 12 _minute ( datoudtryk ) Returnerer værdien af minutfeltet i "datoudtryk". Eksempel: _minute ( 2002-01-31 12:10:10.254 ) Resultat: 10 _second ( datoudtryk ) Returnerer værdien af sekundfeltet i "datoudtryk". Eksempel: _second ( 2002-01-31 12:10:10.254 ) Resultat: 10.254 _timezone_hour ( tidsstempel_med_tidszoneværdi ) _timezone_hour ( tidsstempel_med_tidszoneværdi ) Returnerer værdien af tidszonetimefeltet i udtrykket. Udtrykket skal være af typen "tidsstempel med tidszone" eller "tid med tidszone". Eksempel: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Resultat: -5 _timezone_minute ( tidsstempel_med_tidszoneværdi ) _timezone_minute ( tid_med_tidszoneværdi ) Returnerer værdien af tidszonemionutfeltet i udtrykket. Udtrykket skal være af typen "tidsstempel med tidszone" eller "tid med tidszone". Eksempel: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Resultat: -30 _start_of_day ([ datoudtryk ]) Returnerer start for "datoudtryk" eller start for i dag som et tidsstempel Eksempel: _start_of_day ( 2014-11-23 12:10:10.254 ) Resultat: 2014-11-23 00:00:00 Eksempel: _start_of_day () Resultat: 2016-01-01 00:00:00 _end_of_day ([ datoudtryk ]) Returnerer slutning for "datoudtryk" eller slutning for i dag som et tidsstempel. Eksempel: _end_of_day ( 2014-11-23 12:10:10.254 ) Resultat: 2014-11-23 23:59:59 Eksempel: _end_of_day () Resultat: 2016-01-01 23:59:59 _unix_timestamp ( datoudtryk ) Returnerer antallet af sekunder siden 1970-01-01 00:00:00-00 for det angivne "datoudtryk". Eksempel: _unix_timestamp ( 2014-11-23 ) Resultat: 1416718800 _from_unixtime ( heltalsudtryk ) Returnerer den unix-tid, der er angivet i "heltalsudtryk", som et tidsstempel med tidszone. Eksempel: _from_unixtime (1417807335) Resultat: 2014-12-05 19:22:15+00:00
Makrofunktioner Denne liste indeholder funktioner, der kan bruges i en makro. En makro kan indeholde en eller flere makrofunktioner. En makro adskilles af et nummertegn (#) i begyndelsen og slutningen. Alt mellem nummertegnene behandles som et makroudtryk og udføres ved runtime. Til makrofunktioner, hvor der kan bruges udtryk med datatypen tidsstempel med tidszone som argumenter, bruges formatet 'åååå-mm-dd tt:mm:ss[.ff]+tt:mm', hvor andele af sekunder er valgfri og kan repræsenteres af 1 til 9 cifre. I stedet for et mellemrum mellem datodelen og klokkeslætsdelen kan tegnet 'T' bruges. I stedet for tidszonen '+tt:mm' kan tegnet 'Z' bruges, og det behandles internt som '+00:00'. De makrofunktioner, der returnerer udtryk med datatypen tidsstempel med tidszone, returnerer som standard 9 cifre for sekundandelene. Makrofunktionen timestampMask () kan bruges til at trimme outputtet, hvis der er behov for det. Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" sekunder lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. _add_seconds ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 11:59:59.000-05:00 Eksempel: # _add_seconds ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 12:00:01.000000000-05:00 Eksempel: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'tt:mm:ss' ) # Resultat: 12:00:01 Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" minutter lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. _add_minutes ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 11:59:00.000-05:00 Eksempel: # _add_minutes ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 12:01:00.000000000-05:00 Eksempel: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'tt:mm:ss' ) # Resultat: 12:01:00 Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" timer lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. _add_hours ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-11-01 13:00:00.000-05:00 Eksempel: # _add_hours ( $current_timestamp ; 1 ) # Resultat: 2005-11-01 13:00:00.000000000-05:00 Eksempel: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'tt:mm:ss' ) # Resultat: 13:00:00 Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" dage lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. Hvis det første argument er en dato angivet som en streng med formatet åååå-mm-dd, er returværdien en streng formateret som en dato. _add_days ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-10-31 12:00:00.000000000-05:00 Eksempel: # _add_days ( $current_timestamp ; 1 ) # Resultat: 2005-11-02 12:00:00.000000000-05:00 Eksempel: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'åååå-mm-dd' ) # Resultat: 2005-11-02 Eksempel: # _add_days( '2019-11-14' , 3 ) # Resultat: 2019-11-17 Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" måneder lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. Hvis det første argument er en dato angivet som en streng med formatet åååå-mm-dd, er returværdien en streng formateret som en dato. _add_months ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2005-10-01 12:00:00.000000000-05:00 Eksempel: # _add_months ( $current_timestamp ; 1 ) # Resultat: 2005-12-01 12:00:00.000000000-05:00 Eksempel: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'åååå-mm-dd' ) # Resultat: 2005-12-01 Eksempel: # _add_months( '2019-11-14' , -1 ) # Resultat: 2019-10-14 Returnerer tidsstemplet med tidszonen (som en strengværdi), der er det resultat, som fremkommer, når "heltalsudtryk" år lægges til "strengudtryk", hvor "strengudtryk" repræsenterer et tidsstempel med tidszone. Hvis det første argument er en dato angivet som en streng med formatet åååå-mm-dd, er returværdien en streng formateret som en dato. _add_years ( strengudtryk ; heltalsudtryk ) Eksempel: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultat: 2004-11-01 12:00:00.000000000-05:00 Eksempel: # _add_years ( $current_timestamp ; 1 ) # Resultat: 2006-11-01 12:00:00.000000000-05:00 Eksempel: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'åååå-mm-dd' ) # Resultat: 2006-11-01 Eksempel: # _add_years( '2019-11-14' , -2 ) # Resultat: 2017-11-14 _first_of_month ( strengudtryk ) Returnerer et tidsstempel med tidszonen (som en strengværdi), ved at dagsværdien i "strengudtryk" konverteres til 1, hvor "strengudtryk" er et tidsstempel med tidszone. Eksempel: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultat: 2005-11-01 12:00:00.000000000-05:00 Eksempel: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'ååååmmdd' ) # Resultat: 20051101 _last_of_month ( strengudtryk ) Returnerer et tidsstempel med tidszone (som en strengværdi), der er den sidste dag i den måned, som repræsenteres af "strengudtryk", hvor "strengudtryk" er et tidsstempel med tidszone. Eksempel: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultat: 2005-11-30 12:00:00.000000000-05:00 Eksempel: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'åååå-mm-dd' ) # Resultat: 2005-11-30 modelj ( 'identifier' [ , 'model_search_path' [ , 'options' ] ] ) Returnerer en del af metadatamodellen i json-format. Den aktielle model bliver anvendt, hvis 'model_search_path' ikke er angivet. Argumentet 'options' kan angives til 'cleanup'. Dette ændrer visse dele af resultatet til faste værdier (nyttigt i forbindelse med test). sq ( modelj ( '[gosales].[country].[country]' ) Sætter firkantede parenteser om "strengudtryk". sb ( strengudtryk ) Eksempel: # sb ( 'abc' ) # Resultat: [abc] Sætter enkelte anførselstegn om "strengudtryk". sq ( strengudtryk ) Eksempel: # sq ( 'zero' ) # Resultat: 'zero' Sætter dobbelte anførselstegn om "strengudtryk". dq ( strengudtryk ) Eksempel: # dq ( 'nul' ) # Resultat: "nul" Bruger den aktuelle validerede brugers identitetsoplysninger til at slå værdier op i det angivne parameterkort. Hvert element i brugerens identitet (kontonavn, gruppenavne, rollenavne) bruges som en nøgle til kortet. Den entydige liste med værdier, der hentes fra parameterkortet, returneres derefter som en streng, hvor hver værdi er omsluttet af enkelte anførselstegn, og flere værdier er adskilt med semikolon. CSVIdentifyName ( %parameter_map_name [ ; skilletegnsstreng ] ) Eksempel: # CSVIdentifyName ( %security_clearance_level_map ) # Resultat: 'level_500', 'level_501', 'level_700' Returnerer elementerne i brugerens identitet (kontonavn, gruppenavne, rollenavne) som en liste med strenge. Den entydige liste med værdier returneres som en streng, hvor hver værdi er omsluttet af enkelte anførselstegn, og flere værdier er adskilt med semikolon. CSVIdentityNameList ( [ skilletegnsstreng ] ) Eksempel: # CSVIdentifyNameList ( ) # Resultat: 'Everyone', 'Report Administrators', 'Query User' Returnerer passet til Cognos® Access Manager. CAMPassport ( ) Eksempel: # CAMPassport ( ) # Resultat: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Returnerer elementerne i brugerens Cognos® Access Manager-id (CAMID), f.eks. kontonavn, gruppenavne og rollenavne, som en liste med værdier adskilt med semikolon. CAMIDList ( [ skilletegnsstreng ] ) Eksempel: #CAMIDList ( ) # Resultat: CAMID ( "::Everyone" ) ; CAMID ( ":Authors" ) ; CAMID ( ":Query Users" ) ; CAMID ( ":Consumers" ) ; CAMID ( ":Metrics Authors" ) Returnerer et array med brugerens Cognos® Access Manager-id'er (CAMID'er) på grundlag af identitetstypen (account, group eller role (konto, gruppe eller rolle)). CAMIDListForType kan bruges sammen med makrofunktionen csv eller join. CAMIDListForType ( identitetstype ) Eksempel: [sq].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Resultat: [qs].[userRole] i ( 'CAMID ( "::System Administrators" ) ' , 'CAMID ( ":Authors" )' ) Sammenkæder to strenge. værdi1 + værdi2 Eksempel: # '{ ' + $runLocale + ' }' # Resultat: {en-us} Fjerner de foranstillede tegn fra det første argument. Det andet valgfri argument definerer det sæt af tegn, der skal fjernes. Funktionen fjerner som standard blanktegn (dvs. mellemrum, tabulering og linjeskift). lstrip ( strengudtryk [ ; sæt_af_tegn ] ) Eksempel: # sq( lstrip ( ' abc ' ) ) # Resultat: 'abc ' Eksempel: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 53.2100 Returnerer parameterværdien for "parameternavn", hvis den er defineret. Værdien af "defaultText" returneres, hvis "parameternavn" ikke findes. Hvis "datatype" er angivet til "streng", bliver resultatværdien omgivet af enkelte anførselstegn. Brug af denne funktion medfører ikke en manglende parameterundtagelse. ParamValue ( parameternavn [, standardtekst [, datatype] ] ) Eksempel: # ParamValue ( 'p_country' ) # Resultat: 'Canada' - p_country er angivet Resultat: null - p_country er ikke en kendt parameter Resultat: null - p_country anvendes i en valgfri prompt og er ikke angivet Eksempel: # ParamValue ( 'p_country' , 'Netherlands' ) # Resultat: 'Canada' - p_country er angivet Resultat: 'Netherlands' - p_country er ikke en kendt parameter Resultat: 'Netherlands' - p_country anvendes i en valgfri prompt og er ikke angivet Eksempel: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Resultat: 'Canada' - p_country er angivet Resultat: cast ( null as varchar(20)) - p_country er ikke en kendt parameter Resultat: cast ( null as varchar(20)) - p_country anvendes i en valgfri prompt og er ikke angivet Anmoder brugeren om en enkelt værdi eller et enkelt medlem. Kun "promptnavn" er obligatorisk. Hvis datatypen ikke angives, bruges standardværdien 'string'. Prompten er valgfri, hvis "standardtekst" angives. Hvis "tekst" angives, indsættes teksten før værdien. "Forespørgselselement" kan angives for at hente egenskaberne for "forespørgselselement" fra promptoplysningerne. Hvis "efterstillet_tekst" angives, tilføjes teksten efter værdien. Når datatypen er 'memberuniquename', oprettes en instruktion om at opgive et enkelt medlemsnavn. Det er en god fremgangsmåde at angive en standardværdi som det tredje argument. Standardværdien skal være et gyldigt og entydigt medlemsnavn. Det kan også være et alias, der refererer til et entydigt medlemsnavn, som det gøres i Report Studio. prompt ( promptnavn ; datatype ; standardtekst ; tekst ; forespørgselselement ; efterstillet_tekst ) Eksempel: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Startlandekode' ; 'integer' ; '10' ) # Resultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Eksempel: [gosales].[COUNTRY].[COUNTRY] = # prompt ( 'landeprompt' , 'streng' , '''Canada''' ) # Resultat: [gosales].[COUNTRY].[COUNTRY] = 'Canada' Eksempel: set ( #prompt ('myProduct', 'memberuniquename', '[Camping Equipment]', '', '[Sales].[Produkt].[Produkt].[Produktlinje]')#) Resultat: set([Salg].[Produkt].[Produkt].[Produktlinje]->[all].[1]) Parameteren "standardtekst" skal angives, så den er gyldig som en konstant i makroens kontekst, eftersom der ikke foretages nogen formatering af værdien. Standardstrengen '''Canada''' i eksempel 2 angives som en streng ved hjælp af enkelte anførselstegn, hvori indlejrede enkelte anførselstegn dobles op, så der er 3 enkelte anførselstegn. Derved vises strengen korrekt i enkelte anførselstegn i udtrykket. Generelt gælder for datatypen string, at "standardtekst" altid skal angives på denne måde, undtagen i forbindelse med en parameter til en lagret procedure. Hvis "standardtekst" har datatypen 'date' eller 'datetime', skal der bruges et særligt format i forbindelse med SQL. Eksempler på disse formater er 'DATE ''2001-12-25''' og 'DATETIME ''2001-12-25 12:00:00'''. I alle andre sammenhænge skrives datoen eller dato-klokkeslætsværdien alene uden date/datetime og dublerede enkelte anførselstegn, f.eks. '2001-12-25'. Anmoder brugeren om en eller flere værdier eller et eller flere medlemmer. Kun "promptnavn" er obligatorisk. Hvis datatypen ikke angives, bruges standardværdien 'string'. Prompten er valgfri, hvis "standardtekst" angives. Hvis "tekst" angives, indsættes teksten før listen med værdier. "Forespørgselselement" kan angives for at hente egenskaberne for "forespørgselselement" fra promptoplysningerne. Hvis "efterstillet_tekst" angives, tilføjes teksten efter listen med værdier. Når datatypen er 'memberuniquename', oprettes en flervalgsinstruktion om at opgive et medlemsnavn. Det er en god fremgangsmåde at angive en standardværdi som det tredje argument. Standardværdien skal være et gyldigt og entydigt medlemsnavn. Det kan også være et alias, der refererer til et entydigt medlemsnavn, som det gøres i Report Studio. promptmany ( promptnavn ; datatype ; standardtekst ; tekst ; forespørgselselement ; efterstillet_tekst ) Eksempel: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'Landenavn' ) # ) Resultat: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' ; 'The Netherlands' ; 'Russia' ) Eksempel: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Valgtelandekoder' ; '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 ( 'Canada' ; 'The Netherlands' ; 'Russia' ) Eksempel: set ( #promptmany ('myProduct', 'memberuniquename', '[Camping Equipment]', '', '[Sales].[Produkt].[Produkt].[Produktlinje]')#) Resultat: set([Salg].[Produkt].[Produkt].[Produktlinje]->[all].[1]; [Salg].[Produkt].[Produkt].[Produktlinje]->[all].[2]) Udfør en forespørgsel for en enkelt kolonne, og returnér værdien i den første (kun) række. Resultatet er ikke formateret. Sørg for at omgive kaldet med sq ( ) efter behov. queryValue ( værdiudtryk [ , filterudtryk ] ) Eksempel: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Resultat: 'Wednesday' Opbygger et array ud fra listen med parametre. array ( strengudtryk|arrayudtryk { ; strengudtryk|arrayudtryk } ) Eksempel: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Resultat: 'a1' , 'x1' , 'x2' , 'a2' Opbygger en streng ud fra elementerne i arrayet, hvor værdierne er adskilt med semikolon. Skilletegnsstrengen og anførselstegnsstrengen er valgfri. Standardskilletegnet er et semikolon ( ; ) og standardanførselstegnet er et enkelt anførselstegn ( ' ). csv ( arrayudtryk [ ; skilletegnsstreng [ ; anførselstegnsstreng ] ] ) Eksempel: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Resultat: 'a1', 'a2' Hent en indgang fra konfigurationsfilen til IBM® Cognos®. force_decode_flag er valgfrit og skal være et af følgende: 'true' , '1', 1 , 'false', '0', 0. Standardværdien er 'false'. I undtagelsestilfælde skal force_decode_flag være angivet til true. Når force_decode_flag er angivet til true, vil den almindelige tekstværdi for konfigurationsindgangen blive returneret for indgange, der er konfigureret i IBM® Cognos® Configuration via Udvidede egenskaber. Hvad angår indgange, der ikke er identificeret i Uvidede egenskaber, returneres en tom streng, uanset tilstedeværelse af krypteret information. Indgangen i Udvidede egenskaber er qs.getConfigurationEntry.1 og er en semikolonsepareret liste med navn. Denne liste er som standard tom, og kald til funktionen med flaget angivet til true vil returnere en tom streng. getConfigurationEntry ( indgang ; afkodningsflag ) Eksempel: # getConfigurationEntry ( 'serverLocale'  ) # Resultat: en Returnerer en indgang fra en ressourcefil. Det første argument er ressource-id'en i ressourcefilen. Det andet argument er ressourcefilnavnet uden det lokale suffiks (f.eks. 'mfwa4j' for meddelelsesfilen 'mfwa4j_en.properties'). Standardressourcefilen er 'xqejavamsgs'. Det valgfri tredje argument er den sprogkonvention, der er som standard er 'en'. getResourceString ( ressource-id-streng [, ressourcefilstreng [ , sprogkonventionstreng ] ] ) Eksempel: # getResourceString ( 'XQE_BIN_binLow' ) # Resultat: XQE-BIN-0001 er mindre end %1 Eksempel: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Resultat: MFW-UT-1002 Der er opstået et internt problem. Kontakt systemadministratoren. Søger efter og returnerer elementer i et array, som passer til det mønster, der er angivet i "mønster". De eneste understøttede metategn er: ^ (begyndelse af ord), $ (slutning af ord), ! (negation - understøttes kun som første tegn). grep ( mønster ; arrayudtryk ) Eksempel: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Resultat: 'as', 'arts' Eksempel: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # Resultat: 'group', 'golf' Eksempel: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # Resultat: 'oranges', 'mangoes' Eksempel: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # Resultat: 'apples' Find offset i 'str', hvor 'substr' er fundet. Værdien -1 returneres, når 'substr' ikke findes. Du kan også angive en valgfri 'offset' for at starte søgningen. Det første argument 'str' kan også være et arrayudtryk. I det tilfælde anvendes funktionen på de enkelte arrayelementer, og funktionsresultatet er et array af værdier. 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 Sammenkæder elementerne i et array ved hjælp af "skilletegnsstreng". join ( skilletegnsstreng ; arrayudtryk ) Eksempel: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Resultat: 'as | | an | | arts' Beregner antallet af tegn i strengudtryk. Hvis argumentet er et arrayudtryk, vil resultatet blive et array af værdier, og hver indgang bliver antallet af tegn i de enkelte arrayelementer. length ( strengudtryk | arrayudtryk ) length ( 'abcdef' ) Resultat: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Resultat: 6--3 Find den seneste offset i 'str', hvor 'substr' er fundet. Denne funktion kaldes omvendt indeks, og du kan se den, som om den starter scanningen fra slutningen af strengen. Værdien -1 returneres, når 'substr' ikke findes. Du kan også angive en valgfri 'offset' til at slutte søgningen. Det første argument 'str' kan være et arrayudtryk. I det tilfælde anvendes funktionen på de enkelte arrayelementer, og funktionsresultatet er et array af værdier. 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 Fjerner de efterstillede tegn fra det første argument. Det andet valgfri argument definerer det sæt af tegn, der skal fjernes. Funktionen fjerner som standard blanktegn (dvs. mellemrum, tabulering og linjeskift). rstrip ( strengudtryk [ ; sæt_af_tegn ] ) Eksempel: # sq( rstrip ( ' abc ' ) ) # Resultat: 'abc ' Eksempel: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 0053.21 Sorterer elementerne i et array i alfabetisk rækkefølge. Dublerede værdier medtages. sort ( arrayudtryk ) Eksempel: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Resultat: 'a', 's3', 'x' Opdeler en streng eller strengelementer i arrayet i adskilte elementer. split ( mønster; strengudtryk|arrayudtryk ) Eksempel: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Resultat: 'ab=c', 'de=f', 'gh=i' Eksempel: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Resultat: 'ab', 'c', 'de', 'f', 'gh', 'i' Fjerner de foranstillede og efterstillede tegn fra det første argument. Det andet valgfri argument definerer det sæt af tegn, der skal fjernes. Funktionen fjerner som standard blanktegn (dvs. mellemrum, tabulering og linjeskift). strip ( strengudtryk [ ; sæt_af_tegn ] ) Eksempel: # sq( strip ( ' abc ' ) ) # Resultat: 'abc ' Eksempel: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultat: 53.21 Søger efter et mønster i en streng eller i strengelementerne i et array og erstatter den første forekomst af "mønster" med "erstatningsstreng". De eneste understøttede metategn er: ^ (begyndelse af ord), $ (slutning af ord) substitute ( mønster; erstatningsstreng; strengudtryk|arrayudtryk ) Eksempel: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Resultat: '***help' Eksempel: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Resultat: '***help', 'acn=5' Eksempel: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Resultat: 'help', 'a5' Eksempel: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Resultat: 'cn=***' Udtrækker en del fra 'strengudtryk' startende ved 'start_offset'. Du kan angive, at 'length' antal tegn skal udtrækkes. Hvis 'length' ikke er angivet, returneres op til slutningen af 'strengudtryk'. Det første argument kan også være et arrayudtryk. I det tilfælde anvendes funktionen på de enkelte arrayelementer, og funktionsresultatet er et array af strenge. substr ( strengudtryk , 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) Resulterer i en fejl: Det andet argument til funktionen 'substr' skal være større end eller lig med -1.' . Returnerer "strengudtryk1", der repræsenterer et tidsstempel med tidszone og er formateret i det format, som angives i "strengudtryk2". "Strengudtryk2" skal have et af følgende formater: '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'. De makrofunktioner, som returnerer en strengrepræsentation af et tidsstempel med tidszone, har som standard en præcision på 9 cifre i sekundbrøkdelen. Med formatindstillingerne kan det reduceres til en præcision på 3 eller 0. timestampMask ( strengudtryk1 ; strengudtryk2 ) Eksempel: # timestampMask ( $current_timestamp ; 'yyyy-dd-mm' ) # Resultat: 2005-11-01 Eksempel: # 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 Eksempel: # 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 Returnerer en streng, der repræsenterer et tidsstempel med tidszonen, som er resultatet af, at "strengudtryk" tilpasses til styresystemets tidszone. Bemærk, at makrofunktionen timestampMask () kan bruges til at trimme outputtet. toLocal ( strengudtryk ) Eksempel: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) # hvor styresystemets lokale tidszone er -05:00 Resultat: 2005-11-01 12:00:00.000000000-05:00 Eksempel: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # hvor styresystemets lokale tidszone er -05:00 Resultat: 2005-11-01 12:00:00-05:00 Eksempel: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # hvor styresystemets lokale tidszone er -05:00 Resultat: 2005-11-01 12:00:00.000000000-05:00 Returnerer strengen "strengudtryk", hvor alle tegnene er konverteret til små bogstaver ved hjælp af reglerne for sprogkonventionen, der er angivet i "sprogkonventionstreng". Hvis der ikke er angivet en sprogkonvention, benyttes 'en'. tolower ( strengudtryk [ ; sprogkonventionstreng ] ) Eksempel: # tolower ( 'ABC' ) # Resultat: abc Eksempel: # tolower ( 'ABC' ; 'fr' ) # Resultat: abc Returnerer strengen "strengudtryk", hvor alle tegnene er konverteret til store bogstaver ved hjælp af reglerne for sprogkonventionen, der er angivet i "sprogkonventionstreng". Hvis der ikke er angivet en "sprogkonventionstreng", benyttes 'en'. toupper ( strengudtryk [ ; sprogkonventionstreng ] ) Eksempel: # toupper ( 'abc' ) # Resultat: ABC Eksempel: # toupper ( 'abc' ; 'fr' ) # Resultat: ABC Returnerer en streng, der repræsenterer et tidsstempel med tidszonen, som er resultatet af, at "strengudtryk" tilpasses til nulpunktsreferencetidszonen UTC, også kendt som GMT. Bemærk, at makrofunktionen timestampMask () kan bruges til at trimme outputtet. toUTC ( strengudtryk ) Eksempel: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Resultat: 2005-11-01 17:00:00.000000000-00:00 Eksempel: # 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 Eksempel: # toUTC ( $current_timestamp ) # Resultat: 2005-11-01 17:00:00.000000000-00:00 Fjerner dubletter fra arrayet. Elementernes rækkefølge bevares. unique ( arrayudtryk ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Resultat: 's3', 'a', 'x' Koder det overførte argument som en URL. Funktionen er nyttig, når der skal angives XML-forbindelsesstrenge. urlencode ( prompt ( 'brugerværdi' ) ) urlencode ( prompt ( 'en_værdi' ) ) %27testværdi%27 simpel case Denne makrokontruktion er skabelon for en simpel case, herunder funktionerne case, when, then, else og end. Bemærk, at denne makrokonstruktion kun er understøttet i DQM-tilstand. CASE <udtryk> WHEN <konstant> THEN <udtryk> [ELSE <udtryk>] END Eksempel: #CASE prompt('pDateRange';'token') WHEN 'Aktuel uge' THEN '[PR Aktuel uge]' ELSE '[PR Forrige uge]' END# Resultat: [PR Aktuel uge]
Blokfunktioner Denne liste indeholder funktioner, der bruges til at få adgang til medlemmer af et sæt, normalt i forbindelse med Analysis Studio. Returnerer de første medlemmer, der findes i sættet, indtil "numerisk_udtryk_maksimum" + "numerisk_udtryk_overløb". Hvis "numerisk_udtryk_maksimum" + "numerisk_udtryk_overløb" overskrides, returneres kun det maksimale antal medlemmer. I tilfælde af sæt, som kun indeholder et par medlemmer ud over det angivne antal i "numerisk_udtryk_maksimum", gør "numerisk_udtryk_overløb" det muligt at medtage det lille sæt ekstra medlemmer. Hvis sættet har flere medlemmer end tilladt af overløbsantallet, returneres kun "numerisk_udtryk_maksimum" medlemmer. _firstFromSet ( sætudtryk ; numerisk_udtryk_maksimum ; numerisk_udtryk_overløb ) _firstFromSet ( [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] , 2 , 8 ) Resultat: Returnerer de fem medlemmer i sættet Product line. De første to medlemmer returneres inden for maksimumsværdien, og de næste tre medlemmer returneres som overløb. Camping Equipment Golf Equipment Mountaineering Equipment Outdoor Protection Personal Accessories _firstFromSet ( [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] , 2 , 2 ) Resultat: Camping Equipment, Golf Equipment Returnerer det sæt, der indeholder "medlemsudtryk", når størrelsen på "sætudtryk" er større end "numerisk_udtryk". Det vil sige, at der genereres et nyt medlem, hvis antallet af medlemmer i "sætudtryk" er større end angivet i "numerisk_udtryk". _remainderSet ( medlemsudtryk; sætudtryk ; numerisk_udtryk ) _remainderSet ( medlem ( aggregeret ( currentMeasure inden for sæt [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] ) , 'Product Aggregate' , 'Produktaggregat' , [great_outdoors_company].[Produkter].[Produkter] ) , [great_outdoors_company].[Produkter].[Produkter].[Produktlinje] , 1 ) Resultat: Antal solgt for Product Aggregate