Specifieke functies voor leveranciers Constanten Een constante is een vaste waarde die u in een expressie kunt gebruiken. Operators Operators bepalen wat er gebeurt met de waarden aan weerszijden van de operator. Operators lijken veel op functies. Zij manipuleren ook gegevens en retourneren resultaten. datum Voegt de huidige systeemdatum in. datum-tijd Voegt de huidige systeemdatum en -tijd in. tijd met tijdzone Voegt een nultijd met tijdzone in. tijdsaanduiding met tijdzone Voegt een voorbeeld van een tijdsaanduiding met tijdzone in. Voegt de waarde 'onwaar' in. interval Voegt een nul-interval van het type dag in: 000 00:00:00.000. interval jaar Voegt een nul-interval van het type jaar in: 0 jaar. interval maand Voegt een nul-interval van het type jaar in: 0 maanden. interval jaar en maand Voegt een nul-interval van het type jaar naar maand in: 0000-00 van jaar naar maand. interval dag Voegt een nul-interval van het type dag in: 0 dagen. interval uur Voegt een nul-interval van het type uur in: 0 uur. interval minuut Voegt een nul-interval van het type maand in: 0 minuten. interval seconde Voegt een nul-interval van het type seconde in: 0 seconden. interval dag en uur Voegt een nul-interval van het type dag naar uur in: 0 00 van dag naar uur. interval dag en minuut Voegt een nul-interval van het type dag naar minuut in: 0 00:00 van dag naar minuut. interval dag en seconde Voegt een nul-interval van het type dag naar seconde in: 0 00:00:00.000000000 van dag naar seconde. interval uur en minuut Voegt een nul-interval van het type uur naar minuut in: 00:00 van uur naar minuut. interval uur en seconde Voegt een nul-interval van het type uur naar seconde in: 00:00:00.000000000 van uur naar seconde. interval minuut en seconde Voegt een nul-interval van het type minuut naar seconde in: 00:00.000000000 van minuut naar seconde. Voegt "null" in als er niet aan de voorwaarden van de expressie wordt voldaan. aantal Voegt het getal 0 in dat kan worden vervangen door een andere numerieke waarde. tekenreeks Hiermee voegt u een lege tekenreeks in tussen twee enkele aanhalingstekens waartussen u een tekenreeks kunt typen. tijd Voegt de huidige systeemtijd in. Voegt de waarde 'waar' in.
Geeft het begin van een expressie aan. ( expressie ) Geeft het einde van een expressie aan. ( expressie ) Vermenigvuldigt twee getallen met elkaar. waarde1 * waarde2 , Scheidt onderdelen van een expressie van elkaar. expressie ( parameter1; parameter2 ) Deelt twee getallen door elkaar. waarde1 / waarde2 Voegt tekenreeksen samen. reeks1 || reeks2 Telt twee numerieke waarden bij elkaar op. waarde1 + waarde2 Trekt twee getallen van elkaar af of maakt een getal negatief. waarde1 - waarde2 of - waarde Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die kleiner zijn dan "waarde2". waarde1 < waarde2 Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die kleiner dan of gelijk zijn aan "waarde2". waarde1 <= waarde2 Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die niet gelijk zijn aan "waarde2". waarde1 <> waarde2 Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die gelijk zijn aan "waarde2". waarde1 = waarde2 Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die groter zijn dan "waarde2". waarde1 > waarde2 Scheidt de onderdelen in een letterlijke lidexpressie van elkaar. [naamruimte].[dimensie].[hiërarchie].[niveau]->[L1] Vergelijkt de waarden die worden vertegenwoordigd door "waarde1" met die voor "waarde2" en haalt de waarden op die groter dan of gelijk zijn aan "waarde2". waarde1 >= waarde2 Retourneert "waar" als de voorwaarden aan weerszijden van de expressie waar zijn. argument1 and argument2 Wordt gebruikt bij samenvattingsexpressies voor het definiëren van het bereik dat wordt aangepast op basis van de groeperingskolommen in de query. Het bereik is contextafhankelijk. aggregate_function ( expressie AUTO ) Bepaalt of een waarde binnen een opgegeven bereik valt. expressie between waarde1 and waarde2 Voorbeeld: [Opbrengst] between 200 and 300 Resultaat: retourneert het aantal resultaten die een opbrengst tussen 200 en 300 hebben. Revenue Between ---- ---- $332.06 false $230.55 true $107.94 false Wordt gebruikt bij when, then, else en end. Case geeft het begin van een specifieke situatie aan, waarin acties als which, when, then en else zijn opgenomen. case-expressie { when-expressie then-expressie } [ else-expressie ] end Geeft aan of "tekenreeks2" een onderdeel is van "tekenreeks1". Deze syntaxis ondersteunt beide metatekens: het procentteken (%) staat voor nul, één of meer tekens, en het liggende streepje (_) staat voor een willekeurig teken. Het optionele sleutelwoord LITERAL geeft aan hoe '%' en '_' moeten worden geïnterpreteerd. Als het sleutelwoord LITERAL aanwezig is, worden '%' en '_' niet behandeld als metatekens (zie voorbeeld 3 en 5). Is het sleutelwoord LITERAL echter niet aanwezig, dan gedragen '%' en '_ ' zich wél als metatekens (zie voorbeeld 1, 2 en 4). tekenreeks1 contains [LITERAL] tekenreeks2 Voorbeeld 1: [PRODUCT_LINE] contains 'door' Result 1: Outdoor Equipment Voorbeeld 2: [PRODUCT_LINE] contains 'Golf%' Result 2: Golf Equipment Voorbeeld 3: [PRODUCT_LINE] contains literal 'Golf%' Resultaat 3: Golf% Voorbeeld 4: [PRODUCT_LINE] contains 'Current_Year%' Resultaat 4: Current Year Price, Current Year Price%, Current_Year Price%. Voorbeeld 5: [PRODUCT_LINE] contains literal 'Current_Year%' Resultaat 5: Current_Year%. Trefwoord dat kan worden gebruikt als het eerste argument van lidsamenvattingsfuncties. Deze functie komt voor in het voorbeeldrapport Totaal opbrengsten per land in het pakket ABC Data Warehouse. (query). aggregate_function ( currentMeasure within set-expressie ) current_date Retourneert de huidige datum van de database. current_date Wordt gebruikt bij constructies met lookup. lookup (....) in (....) default (....) Een trefwoord dat wordt gebruikt in een aggregatie-expressie om alleen verschillende (distinct) instances van waarden op te nemen. Zie ook de functie unique. distinct gegevensitem Voorbeeld: count ( distinct [OrderDetailQuantity] ) Resultaat: 1704 Wordt gebruikt bij constructies met if of case. Als de if-voorwaarde of de case-expressie niet waar is, wordt de else-expressie gebruikt. Deze functie komt voor in het voorbeeldrapport Top 10 Retailers for 2005 in het pakket ABC Data Warehouse (analysis). if ( voorwaarde ) then .... else ( expressie ) ; or case .... else ( expressie ) end Geeft het einde van een case- of when-constructie aan. case .... end Geeft aan of "tekenreeks1" eindigt met "tekenreeks2". Deze syntaxis ondersteunt beide metatekens: het procentteken (%) staat voor nul, één of meer tekens, en het liggende streepje (_) staat voor een willekeurig teken. Het optionele sleutelwoord LITERAL geeft aan hoe '%' en '_' moeten worden geïnterpreteerd. Als het sleutelwoord LITERAL aanwezig is, worden '%' en '_' niet behandeld als metatekens (zie voorbeeld 3 en 5). Is het sleutelwoord LITERAL echter niet aanwezig, dan gedragen '%' en '_ ' zich wél als metatekens (zie voorbeeld 1, 2 en 4). tekenreeks1 ends with [LITERAL] tekenreeks2 Voorbeeld 1: [PRODUCT_LINE] ends with 'Equipment' Resultaat 1: Camping Equipment, Golf Equipment Voorbeeld 2: [PRODUCT_LINE] ends with '%Equipment' Resultaat 2: Golf Equipment, Camping Equipment Voorbeeld 3: [PRODUCT_LINE] ends with literal 'Equipment%' Resultaat 3: Equipment% Voorbeeld 4: [PRODUCT_LINE] ends with '%Price' Resultaat 4: Product Price, Current_Year Price Voorbeeld 5: [PRODUCT_LINE] ends with literal '%Price' Resultaat 5: %Price Geeft aan of "tekenreeks1" overeenkomt met het patroon van "tekenreeks2" met optioneel gebruik van het teken "char" voor het uitvoeren van een escape op tekens in de patroontekenreeks. reeks1 LIKE reeks2 [ ESCAPE char ] Voorbeeld: [PRODUCT_LINE] like 'G%' Resultaat: Alle productlijnen die beginnen met 'G'. Voorbeeld: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultaat: Alle productlijnen die eindigen op 'G%'. Wordt gebruikt bij samenvattingsexpressies voor het definiëren van het bereik van de aggregatie in de query. aggregate_function ( expressie for expressie { ; expressie } ) Wordt gebruikt bij samenvattingsexpressies voor het definiëren van het bereik dat wordt aangepast op basis van de subset van de groeperingskolommen in de query. Gelijk aan de for-clausule. aggregate_function ( expressie for ANY expressie { ; expressie } ) Wordt gebruikt bij samenvattingsexpressies voor het definiëren van het bereik dat alle opgegeven groeperingskolommen in de query moet zijn. Zie ook de for-clausule. aggregate_function ( expressie for ALL expressie { ; expressie } ) Wordt gebruikt bij samenvattingsexpressies voor het instellen van het bereik als dit de hele query moet zijn. Zie ook de for-clausule. Deze functie komt voor in het voorbeeldrapport Customer Returns and Satisfaction in het pakket ABC Data Warehouse (analysis). aggregate_function ( expressie for report ) Wordt gebruikt bij constructies met then en else. If preciseert een voorwaarde; als de if-voorwaarde waar is, wordt de then-expressie gebruikt. Als de if-voorwaarde niet waar is, wordt de else-expressie gebruikt. Deze functie komt voor in het voorbeeldrapport Top 10 Retailers for 2005 in het pakket ABC Data Warehouse (analysis). if ( voorwaarde ) then ( expressie ) else ( expressie ) Geeft aan of "expressie1" voorkomt in een opgegeven lijst met expressies. expressie1 in ( expressie_lijst ) Geeft aan of "expressie1" voorkomt in een opgegeven lijst met constante waarden of bereiken. expressie1 in_range { constante : constante [ ; constante : constante ] } Voorbeeld: [code] in_range { 5 } Resultaat: dit is gelijk aan [code] = 5. Voorbeeld: [code] in_range { 5: } Resultaat: dit is gelijk aan [code] >= 5. Voorbeeld: [code] in_range { :5 } Resultaat: dit is gelijk aan [code] <= 5. Voorbeeld: [code] in_range { 5:10 } Resultaat: dit is gelijk aan ( [code] >= 5 and [code] <= 10 ). Voorbeeld: [code] in_range { :5;10;20: } Resultaat: dit is gelijk aan ( [code] <= 5 or [code] = 10 or [code] >= 20 ). Geeft aan of "waarde" niet in de gegevens is gedefinieerd. waarde is missing Geeft aan of "waarde" niet in de gegevens is gedefinieerd. waarde is null Geeft aan of "waarde" in de gegevens is gedefinieerd. waarde is not missing Geeft aan of "waarde" in de gegevens is gedefinieerd. waarde is not null Geeft aan of "tekenreeks1" overeenkomt met het patroon van "tekenreeks2" met optioneel gebruik van het teken "char" voor het uitvoeren van een escape op tekens in de patroontekenreeks. Deze syntaxis ondersteunt beide metatekens: het procentteken (%) staat voor nul, één of meer tekens, en het liggende streepje (_) staat voor een willekeurig teken. reeks1 LIKE reeks2 [ ESCAPE char ] Voorbeeld 1: [PRODUCT_LINE] like 'G%' Resultaat 1: Alle productlijnen die beginnen met een 'G'. Voorbeeld 2: [PRODUCT_LINE] like '%Ga%' escape 'a' Resultaat 2: Alle productlijnen die eindigen op 'G%'. Voorbeeld 3: [PRODUCT_LINE] like 'C_R_' Resultaat 3: Alle productlijnen met de naam CARS of CARD. Voorbeeld: lookup ( [Land]) in ( 'Canada'--> ( [Catalogusprijs] * 0,60); 'Australië'--> ( [Catalogusprijs] * 0,80 ) ) default ( [Catalogusprijs] ) Zoekt gegevens op en vervangt deze door de opgegeven waarde. Gebruik bij voorkeur constructies met case. lookup ( naam ) in ( waarde1 --> waarde2 ) default ( expressie ) Retourneert WAAR als "argument" onwaar is of ONWAAR als "argument" waar is. NOT argument Retourneert WAAR als óf "argument1", óf "argument2" waar is. argument1 or argument2 Voert een samenvattingsberekening uit voordat het samenvattingsfilter wordt toegepast. summary_function ([expressie] prefilter) Voorbeeld: total ( [Hoeveelheid] for report prefilter ) summaryFilter: totaal( [Hoeveelheid] voor [ProductNo] ) > 50000 Resultaat: Telt de hoeveelheden op in een rapport voordat het samenvattingsfilter wordt toegepast. 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 Telt het aantal rijen dat door de query is gegeven. Wordt gebruikt bij Count(). count ( ROWS ) Telt het aantal rijen dat door de query is gegeven. Wordt gebruikt bij Count(). count ( ROWS  [ expressie ]) Geeft aan of "tekenreeks1" begint met "tekenreeks2".Deze syntaxis ondersteunt beide metatekens: het procentteken (%) staat voor nul, één of meer tekens, en het liggende streepje (_) staat voor een willekeurig teken. Het optionele sleutelwoord LITERAL geeft aan hoe '%' en '_' moeten worden geïnterpreteerd. Als het sleutelwoord LITERAL aanwezig is, worden '%' en '_' niet behandeld als metatekens (zie voorbeeld 3 en 5). Is het sleutelwoord LITERAL echter niet aanwezig, dan gedragen '%' en '_ ' zich wél als metatekens (zie voorbeeld 1, 2 en 4). tekenreeks1 starts with [LITERAL] tekenreeks2 Voorbeeld 1: [PRODUCT_LINE] starts with 'Golf' Resultaat 1: Golf Equipment Voorbeeld 2: [PRODUCT_LINE] starts with 'Outdoor%' Resultaat 2: Outdoor Equipment Voorbeeld 3: [PRODUCT_LINE] starts with literal 'Golf%' Resultaat 3: Golf% Voorbeeld 4: [PRODUCT_LINE] starts with 'Current_Year%' Resultaat 4: Current Year Price, Current Year Price%, Current_Year Price% Voorbeeld 5: [PRODUCT_LINE] starts with literal 'Current_Year%' Resultaat 5: Current_Year% Wordt gebruikt bij constructies met if of case. Als de if-voorwaarde of de when-expressie waar is, wordt de then-expressie gebruikt. Deze functie komt voor in het voorbeeldrapport Top 10 Retailers for 2005 in het pakket ABC Data Warehouse (analysis). if ( conditie ) then ..., or case-expressie when-expressie then .... end Wordt gebruikt bij constructies met case. U kunt opgeven dat er voorwaarden moeten worden gebruikt als de WHEN-expressie waar is. case [expressie] when ... end
Samenvattingen Deze lijst bevat vooraf bepaalde functies die een enkele totaalwaarde voor een groep verwante waarden of een verschillende totaalwaarde voor elk exemplaar van een groep verwante waarden retourneren. Retourneert een berekende waarde met de juiste aggregatiefunctie op basis van het aggregatietype van de expressie. Deze functie komt voor in het voorbeeldrapport Budget vs. Actual in het pakket ABC Data Warehouse (analysis). aggregate ( expressie [ auto ] ) aggregate ( expressie for [ all|any ] expressie { ; expressie } ) aggregate ( expressie for report ) Retourneert de gemiddelde waarde van geselecteerde gegevensitems. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. average ( [ distinct ] expressie [ auto ] ) average ( [ distinct ] expressie for [ all|any ] expressie { ; expressie } ) average ( [ distinct ] expressie for report ) Voorbeeld: average ( Verkopen ) Resultaat: retourneert het gemiddelde van alle verkoopwaarden. Retourneert het aantal geselecteerde gegevensitems zonder de null-waarden. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. Alle wordt alleen ondersteund in DQM-modus; hiermee vermijdt u het vermoeden dat een gegevensitem van een dimensietabel dubbel geteld wordt. count ( [ all | distinct ] expressie [ auto ] ) count ( [ all | distinct ] expressie for [ all|any ] expressie { ; expressie } ) count ( [ all | distinct ] expressie for report ) Voorbeeld: count ( Verkoop ) Resultaat: retourneert het totaal aantal artikelen onder Verkoop. Retourneert de maximumwaarde van geselecteerde gegevensitems. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. maximum ( [ distinct ] expressie [ auto ] ) maximum ( [ distinct ] expressie for [ all|any ] expressie { ; expressie } ) maximum ( [ distinct ] expressie for report ) Voorbeeld: maximum ( Verkopen ) Resultaat: retourneert de maximumwaarde van alle verkoopwaarden. Retourneert de mediaanwaarde van geselecteerde gegevensitems. median ( expressie [ auto ] ) median ( expressie for [ all|any ] expressie { ; expressie } ) median ( expressie for report ) Retourneert de minimumwaarde van geselecteerde gegevensitems. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. minimum ( [ distinct ] expressie [ auto ] ) minimum ( [ distinct ] expressie for [ all|any ] expressie { ; expressie } ) minimum ( [ distinct ] expressie for report ) Voorbeeld: minimum ( Verkopen ) Resultaat: retourneert de minimumwaarde van alle verkoopwaarden. Retourneert een zwevend gemiddelde per rij voor een opgegeven set waarden over een opgegeven aantal rijen. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. moving-average ( numerieke_expressie ; numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) moving-average (  numerieke_expressie ; numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: moving-average ( Aantal ; 3 ) Resultaat: voor elke rij worden de hoeveelheid en een zwevend gemiddelde van de huidige rij en de vorige twee rijen weergegeven. Qty Moving-Average (Qty, 3) ------ ------------------------------------ 200 200 700 450 400 433.3333 200 433.3333 200 266.6667 500 300.0000 Retourneert een zwevend totaal per rij voor een opgegeven set waarden over een opgegeven aantal rijen. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. moving-total ( numerieke_expressie ; numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) moving-total (  numerieke_expressie ; numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: moving-total ( Aantal ; 3 ) Resultaat: voor elke rij worden de hoeveelheid en een zwevend totaal van de huidige rij en de vorige twee rijen weergegeven. Qty Moving-Total (Qty, 3) ------ -------------------------------- 200 200 700 900 400 1300 200 1300 200 800 500 900 Retourneert het percentage van de totale waarde voor geselecteerde gegevensitems. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. Deze functie komt voor in het interactieve voorbeeldrapport Percentage Calculation (by year). percentage ( numerieke_expressie [ at expressie  { ; expressie } ] [ <for-optie> ] [ prefilter ] ) percentage (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: percentage ( Verkopen 98 ) Resultaat: retourneert het percentage van de totale verkoop voor 1998 die door iedere verkoper is gerealiseerd. Employee Sales 98 Percentage --------- --------- ------------- Gibbons 60646 7.11% Flertjan 62523 7.35% Cornel 22396 2.63% Retourneert een waarde op een schaal van honderd die het percentage van een verdeling aangeeft die gelijk is aan of kleiner is dan de geselecteerde gegevensitems. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. percentile ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) percentile (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: percentile ( Verkopen 98 ) Resultaat: voor elke rij wordt het percentage geretourneerd van rijen die gelijk aan of minder dan de hoeveelheidswaarde van die rij zijn. 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 Retourneert de rangorde van een waarde binnen het bereik dat u opgeeft. Geeft het resultaat in gehele getallen die elk bereik van rangorden voorstellen, zoals 1 (hoogste) tot 100 (laagste). De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. quantile ( numerieke_expressie ; numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) quantile (  numerieke_expressie ; numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: quantile ( Aantal ; 4 ) Resultaat: retourneert de hoeveelheid, de rangorde van de hoeveelheidswaarde en de hoeveelheidswaarden opgesplitst in 4 quantilegroepen (quartiles). 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 Retourneert de rangorde van een waarde, die wordt weergegeven als een geheel getal van 1 (hoogste) tot 4 (laagste), ten opzichte van een groep waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. quartile ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) quartile (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: quartile ( Aantal ) Resultaat: retourneert de hoeveelheid en de quartile van de hoeveelheidswaarde weergegeven als een gehele getallen van 1 (hoogste) tot 4 (laagste). Qty Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 Retourneert de rangordewaarde van geselecteerde gegevensitems. De sorteervolgorde is optioneel; in aflopende volgorde (DESC) is de standaardwaarde. Als twee of meerdere rijen gelijk zijn, betekent dit dat er een tussenruimte bestaat in de volgorde van de gerangschikte waarden (ook wel Olympische rangorde genoemd). De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. Nullwaarden worden als laatste vermeld. Deze functie komt voor in het voorbeeldrapport Top 10 Retailers for 2005 in het pakket ABC Data Warehouse (analysis). rank ( expressie [ ASC|DESC ] { ; expressie [ ASC|DESC ] } [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) rank ( [ distinct ] expressie [ ASC|DESC ] { ; expressie [ ASC|DESC ] } [ <for-optie>] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: rank ( Verkopen 98 ) Resultaat: retourneert voor elke rij de rangordewaarde weer van de verkoopomzet van 1998 per verkoper. Sommige nummers worden overgeslagen wanneer rijen gelijk aan elkaar zijn. Employee Sales 98 Rank --------- --------- ------------ Gibbons 60000 1 Flertjan 50000 2 Cornel 50000 2 Smith 48000 4 Retourneert het voortschrijdende gemiddelde per rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-average ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-average (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-average ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdend gemiddelde van de huidige rij en de vorige rijen. 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 Retourneert de voortschrijdende telling per rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-count ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-count (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-count ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdende telling van de positie van de huidige rij. 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 Retourneert een voortschrijdend verschil per rij, berekend als het verschil tussen de waarde voor de huidige rij en de voorafgaande rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-difference ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-difference (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-difference ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdend verschil tussen de waarde voor de huidige rij en de vorige rij. Name Qty Running-Difference for name ------- ------ --------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 Retourneert de voortschrijdende maximumwaarde per rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-maximum (  numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-maximum (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-maximum ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdend maximum van de huidige rij en de vorige rijen. 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 Retourneert de voortschrijdende minimumwaarde per rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-minimum ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-minimum (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-minimum ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdend minimum van de huidige rij en de vorige rijen. 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 Retourneert een voortschrijdend totaal per rij (inclusief de huidige rij) voor een set waarden. De "<for-optie>" bepaalt de reikwijdte van de functie. De "in"-optie definieert het aggregatieniveau en kan alleen worden gebruikt in de context van relationele gegevensbronnen. running-total ( numerieke_expressie [ at expressie { ; expressie } ] [ <for-optie> ] [ prefilter ] ) running-total (  numerieke_expressie [ <for-optie> ] [ prefilter ] ) <for-optie> ::= for expressie { ; expressie }|for report|auto Voorbeeld: running-total ( Aantal ) Resultaat: retourneert voor elke rij de hoeveelheid en een voortschrijdend totaal van de huidige rij en de vorige rijen. 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 Retourneert de standaardafwijking van geselecteerde gegevensitems. Het trefwoord 'distinct' is beschikbaar zodat expressies gebruikt in eerdere versies van het product backwards compatibel zijn. standard-deviation (  expressie [ auto ] ) standard-deviation (  expressie for [ all|any ] expressie { ; expressie } ) standard-deviation (  expressie for report ) Voorbeeld: standard-deviation ( Productkosten ) Resultaat: retourneert een waarde die de afwijking aangeeft tussen de productkosten en de gemiddelde productkosten. Berekent de afwijking van de populatiestandaard en retourneert de vierkantswortel van de populatievariantie. Het trefwoord 'distinct' is beschikbaar zodat expressies gebruikt in eerdere versies van het product backwards compatibel zijn. standard-deviation-pop (  expressie [ auto ] ) standard-deviation-pop (  expressie for [ all|any ] expressie { ; expressie } ) standard-deviation-pop (  expressie for report ) Voorbeeld: standard-deviation-pop ( Productkosten ) Resultaat: retourneert een waarde van de vierkantswortel van de populatievariantie. Berekent de standaardafwijking van de sample en retourneert de vierkantswortel van de populatievariantie. standard-deviation-samp (  expressie [ auto ] ) standard-deviation-samp (  expressie for [ all|any ] expressie { ; expressie } ) standard-deviation-samp (  expressie for report ) Voorbeeld: standard-deviation-samp ( Productkosten ) Resultaat: retourneert een waarde van de vierkantswortel van de samplevariantie. Retourneert de rangorde van een waarde als hoog, gemiddeld of laag, ten opzichte van een groep waarden. tertile (  expressie [ auto ] ) tertile (  expressie for [ all|any ] expressie { ; expressie } ) tertile (  expressie for report ) Voorbeeld: tertile ( Aantal ) Resultaat: retourneert de hoeveelheid, de quantile van de hoeveelheidswaarde opgesplitst in tertiles en de hoeveelheidswaarde opgesplitst in tertiles. Qty Quantile (Qty, 3) Tertile (Qty) ------ ------------------------ ------------------ 800 1 H 700 1 H 500 2 M 400 2 M 200 3 L 200 3 L Retourneert de totale waarde van geselecteerde gegevensitems. Een andere mogelijke expressie is Distinct. Deze is compatibel met eerdere versies van het product. Deze functie komt voor in het voorbeeldrapport Budget vs. Actual in het pakket ABC Data Warehouse (analysis). total ( [ distinct ] expressie [ auto ] ) total ( [ distinct ] expressie for [ all|any ] expressie { ; expressie } ) total ( [ distinct ] expressie for report ) Voorbeeld: total ( Verkopen ) Resultaat: retourneert de totale waarde van alle verkoopwaarden. Statistische functies Deze lijst bevat vooraf gedefinieerde samenvattingsfuncties van statistische aard. Retourneert de variantie van geselecteerde gegevensitems. Het trefwoord 'distinct' is beschikbaar zodat expressies gebruikt in eerdere versies van het product backwards compatibel zijn. variance (  expressie [ auto ] ) variance (  expressie for [ all|any ] expressie { ; expressie } ) variance (  expressie for report ) Voorbeeld: variance ( Product Cost ) Resultaat: retourneert een waarde die aangeeft hoe groot het verschil is tussen de productkosten en de gemiddelde productkosten. Retourneert de populatievariantie van een set getallen nadat de nullen in deze set zijn verwijderd. variance-pop (  expressie [ auto ] ) variance-pop (  expressie for [ all|any ] expressie { ; expressie } ) variance-pop (  expressie for report ) Voorbeeld: variance-pop ( Aantal ) Resultaat: retourneert voor elke rij de populatievariantie van een set getallen nadat de nullen in deze set zijn verwijderd. Retourneert de samplevariantie van een set getallen nadat de nullen in deze set zijn verwijderd. variance-samp (  expressie [ auto ] ) variance-samp (  expressie for [ all|any ] expressie { ; expressie } ) variance-samp (  expressie for report ) Voorbeeld: variance-samp ( Aantal ) Resultaat: retourneert voor elke rij de samplevariantie van een set getallen nadat de nullen in deze set zijn verwijderd. corr ( numerieke_expressie1 ;  numerieke_expressie2  [ auto ] ) corr ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) corr ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de correlatiecoëfficiënt van een set van getalparen. Deze wordt als volgt berekend: COVAR_POP(numerieke_expressie1; numerieke_expressie2) / (STDDEV_POP(numerieke_expressie1) * STDDEV_POP(numerieke_expressie2)) Voorbeeld: corr ( Kosten ;  Marge  for report) Resultaat: de correlatiecoëfficiënt tussen Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) covariance-pop ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) covariance-pop ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de covariantie van de populatie van een set van getalparen. Voorbeeld: covariance-pop ( Kosten ;  Marge  for report) Resultaat: de covariantie van de populatie tussen Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) covariance-samp ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) covariance-samp ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de covariantie van de sample van een set van getalparen. Voorbeeld: covariance-samp ( Kosten ;  Marge  for report) Resultaat: de covariantie van de sample tussen Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-average-x ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-average-x ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert het gemiddelde van de onafhankelijke variabele (numerieke_expressie2) van de regressielijn. Voorbeeld: regression-average-x ( Kosten ;  Marge  for report) Resultaat: het gemiddelde van Marge binnen de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-average-y ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-average-y ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert het gemiddelde van de afhankelijke variabele (numerieke_expressie1) van de regressielijn. Voorbeeld: regression-average-y ( Kosten ;  Marge  for report) Resultaat: het gemiddelde van Kosten binnen de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-count ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-count ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert het aantal non-null getallen dat wordt gebruikt voor aanpassing aan de regressielijn. Voorbeeld: regression-count ( Kosten ;  Marge  for report) Resultaat: het aantal niet-null getallen dat wordt gebruikt voor aanpassing aan de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-intercept ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-intercept ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Berekent het y-intercept van de regressielijn. Dit wordt als volgt berekend: AVG(numerieke_expressie1) - REGR_SLOPE(numerieke_expressie1; numerieke_expressie2) * AVG(numerieke_expressie2) Voorbeeld: regression-intercept ( Kosten ;  Marge  for report) Resultaat: het y-intercept van de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-r2 ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-r2 ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de determinatiecoëfficiënt (ook wel "R-kwadraat" of "goodness of fit") van de regressielijn. Deze waarde wordt berekend op basis van de volgende voorwaarden: IF VAR_POP(numerieke_expressie2) = 0 THEN NULL IF VAR_POP(numerieke_expressie1) = 0 AND VAR_POP(numerieke_expressie2) <> 0 THEN 1 IF VAR_POP(numerieke_expressie1) > 0 and VAR_POP(numerieke_expressie2) <> 0 THEN POWER(CORR (numerieke_expressie1; numerieke_expressie2)) Voorbeeld: regression-r2 ( Kosten ;  Marge  for report) Resultaat: de determinatiecoëfficiënt van de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-slope ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-slope ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de helling van de regressielijn. Deze wordt als volgt berekend: COVAR_POP(numerieke_expressie1;numerieke_expressie2) / VAR_POP(numerieke_expressie2) Voorbeeld: regression-slope ( Kosten ;  Marge ) Resultaat: de helling van de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-sxx ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-sxx ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de volgende berekening na het elimineren van NULL-paren: REGR_COUNT(numerieke_expressie1; numerieke_expressie2) * VAR_POP(numerieke_expressie2) Voorbeeld: regression-sxx ( Kosten ;  Marge  for report) Resultaat: de sxx-berekening van de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-sxy ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-sxy ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de volgende berekening na het elimineren van NULL-paren: REGR_COUNT(numerieke_expressie1; numerieke_expressie2) * COVAR_POP(numerieke_expressie1; numerieke_expressie2) Voorbeeld: regression-sxy ( Kosten ;  Marge  for report) Resultaat: de sxy-berekening van de regressielijn voor Kosten en Marge. 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 ( numerieke_expressie1 ;  numerieke_expressie2 ) regression-syy ( numerieke_expressie1 ;  numerieke_expressie2 for [ all|any ] expressie{ ; expressie } ) regression-syy ( numerieke_expressie1 ;  numerieke_expressie2 for report ) Retourneert de volgende berekening na het elimineren van NULL-paren: REGR_COUNT(numerieke_expressie1; numerieke_expressie2) * VAR_POP(numerieke_expressie1) Voorbeeld: regression-syy ( Kosten ;  Marge  for report) Resultaat: de syy-berekening van de regressielijn voor Kosten en Marge. 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 Ledentotalen Deze lijst bevat vooraf gedefinieerde functies waarmee één samenvattingswaarde voor een set met leden of een afzonderlijke samenvattingswaarde voor elk lid in een set met leden wordt geretourneerd.
Fout Er staat een fout in uw expressie, bij het geaccentueerde token.
Constructies Deze lijst bevat constructies en sjablonen die gebruikt kunnen worden om een expressie te maken. Met sjablonen kunnen meerdere functies worden gegroepeerd. Het "search case"-sjabloon bevat bijvoorbeeld de functies case, when, else en end. search case Deze constructie is de sjabloon voor een zoek-case, die de functies CASE, WHEN, ELSE en END bevat. CASE WHEN [land] = 'Canada' THEN ([catalogusprijs] * 0,60) WHEN [landcode] > 100 THEN [catalogusprijs] * 0,80 ELSE [catalogusprijs] END simple case Deze constructie is de sjabloon voor een eenvoudige case, die de functies CASE, WHEN, ELSE en END bevat. CASE [land] WHEN 'Canada' THEN ([catalogusprijs] * 0,60) WHEN 'Australië' THEN [catalogusprijs] * 0,80 ELSE [catalogusprijs] END if then else Deze constructie is de sjabloon voor een if...then...else-instructie. Deze constructie komt voor in het voorbeeldrapport Top 10 Retailers for 2005 in het pakket ABC Data Warehouse (analysis). IF ([land] = 'Canada') THEN ([catalogusprijs] * 0,60) ELSE ([catalogusprijs]) in_range Dit is de sjabloon voor een in_range-expressie. [code] IN_RANGE { :30 ; 40; 50; 999: } Voorbeeld: [code] IN_RANGE { 5 } Resultaat: dit is gelijk aan [code] = 5. Voorbeeld: [code] IN_RANGE { 5: } Resultaat: dit is gelijk aan [code] >= 5. Voorbeeld: [code] IN_RANGE { :5 } Resultaat: dit is gelijk aan [code] <= 5. Voorbeeld: [code] IN_RANGE { 5:10 } Resultaat: dit is gelijk aan ( [code] >= 5 and [code] <= 10 ). Voorbeeld: [code] IN_RANGE { :5;10;20: } Resultaat: dit is gelijk aan ( [code] <= 5 or [code] = 10 or [code] >= 20 ).
Periodepredicaten Deze lijst bevat predicaten die kunnen worden gebruikt voor het vergelijken van periode-expressies. contains Retourneert "true" als "periode_expressie1" "periode_expressie2" bevat, d.w.z. "true" wordt geretourneerd als de eerste periode de datum/tijdwaarde of alle waarden uit de tweede periode bevat. periode_expressie1 contains ( periode_expressie2 | datumtijd_expressie ) period( 1989-11-01, 1991-05-19 ) contains period( 1991-05-19, 1991-06-04 ) Resultaat: false period( 1989-11-01, 1991-05-19 ) contains period( 1990-05-19, 1991-04-04 ) Resultaat: true period( 1989-11-01, 1991-05-19 ) contains 1991-04-04 Resultaat: true equals Retourneert "true" als "periode_expressie1" en "periode_expressie2" dezelfde begin- en eindwaarden voor de periode hebben. periode_expressie1 equals periode_expressie2 period( 1989-11-01, 1991-05-19 ) equals period( 1989-11-01, 1991-05-19 ) Resultaat: true immediately precedes Retourneert "true" als "periode_expressie1" onmiddellijk voorafgaat aan "periode_expressie2", d.w.z. de eindwaarde van de eerste periode is gelijk aan de beginwaarde van de tweede periode. periode_expressie1 immediately precedes periode_expressie2 period( 1989-11-01, 1991-05-19 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Resultaat: true period( 1989-11-01, 1991-05-18 ) immediately precedes period( 1991-05-19, 1991-06-04 ) Resultaat: false immediately succeeds Retourneert "true" als "periode_expressie1" onmiddellijk volgt op "periode_expressie2", d.w.z. de beginwaarde van de eerste periode is gelijk aan de eindwaarde van de tweede periode. periode_expressie1 immediately succeeds periode_expressie2 period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-19, 1991-05-19 ) Resultaat: true period( 1991-05-19, 1994-01-10 ) immediately succeeds period( 1991-01-20, 1991-05-18 ) Resultaat: false overlaps Retourneert "true" als "periode_expressie1" "periode_expressie2" overlapt, d.w.z. als de perioden ten minste één gemeenschappelijke waarde hebben. periode_expressie1 overlaps periode_expressie2 period( 1991-05-19, 1994-01-10 ) overlaps period( 1993-01-19, 1995-05-19 ) Resultaat: true precedes Retourneert "true" als "periode_expressie1" voorafgaat aan "periode_expressie2", d.w.z. alle waarden uit de eerste periode zijn kleiner dan of gelijk aan de beginwaarde van de tweede periode. periode_expressie1 precedes periode_expressie2 period( 1989-11-01, 1991-05-19 ) precedes period( 1991-05-19, 1991-06-04 ) Resultaat: true period( 1989-11-01, 1991-05-18 ) precedes period( 1991-05-19, 1991-06-04 ) Resultaat: true succeeds Retourneert "true" als "periode_expressie1" volgt op "periode_expressie2", d.w.z. alle waarden uit de eerste periode zijn groter dan of gelijk aan de eindwaarde van de tweede periode. periode_expressie1 succeeds periode_expressie2 period( 1991-05-19, 1994-01-10 ) succeeds period( 1991-01-19, 1991-05-19 ) Resultaat: true period( 1991-05-20, 1994-01-10 ) succeeds period( 1991-01-20, 1991-05-19 ) Resultaat: true
Functies voor zakelijke datum/tijd Deze lijst bevat bedrijfsfuncties om datum- en tijdberekeningen uit te voeren. _add_seconds ( tijd_expressie; geheelgetal_expressie ) Retourneert de tijd of datumtijd, afhankelijk van de indeling van "tijd_expressie", die het resultaat is van het optellen van "integer_expressie"-seconden bij "tijd_expressie". Voorbeeld: _add_seconds ( 13:04:59 ; 1 ) Resultaat: 13:05:00 Voorbeeld: _add_seconds ( 2002-04-30 12:10:10.000; 1 ) Resultaat: 2002-04-30 12:10:11.000 Voorbeeld: _add_seconds ( 2002-04-30 00:00:00.000; 1/100 ) Het tweede argument is niet een geheel getal. Dit wordt door sommige databasetechnologieën ondersteund voor het verhogen van het tijddeel. Resultaat: 2002-04-30 00:00:00.010 _add_minutes ( tijd_expressie; geheelgetal_expressie ) Retourneert de tijd of datumtijd, afhankelijk van de indeling van "tijd_expressie", die het resultaat is van het optellen van "integer_expressie"-minuten bij "tijd_expressie". Voorbeeld: _add_minutes ( 13:59:00 ; 1 ) Resultaat: 14:00:00 Voorbeeld: _add_minutes ( 2002-04-30 12:59:10.000; 1 ) Resultaat: 2002-04-30 13:00:10.000 Voorbeeld: _add_minutes ( 2002-04-30 00:00:00.000; 1/60 ) Het tweede argument is niet een geheel getal. Dit wordt door sommige databasetechnologieën ondersteund voor het verhogen van het tijddeel. Resultaat: 2002-04-30 00:00:01.000 _add_hours ( tijd_expressie; geheelgetal_expressie ) Retourneert de tijd of datumtijd, afhankelijk van de indeling van "tijd_expressie", die het resultaat is van het optellen van "integer_expressie"-uren bij "tijd_expressie". Voorbeeld: _add_hours ( 13:59:00 ; 1 ) Resultaat: 14:59:00 Voorbeeld: _add_hours ( 2002-04-30 12:10:10.000; 1 ) Resultaat: 2002-04-30 13:10:10.000, Voorbeeld: _add_hours ( 2002-04-30 00:00:00.000; 1/60 ) Het tweede argument is niet een geheel getal. Dit wordt door sommige databasetechnologieën ondersteund voor het verhogen van het tijddeel. Resultaat: 2002-04-30 00:01:00.000 _add_days ( datum_expressie; geheelgetal_expressie ) Retourneert de datum of datumtijd, afhankelijk van de indeling van "datum_expressie", die het resultaat is van het optellen van "geheelgetal_expressie"-dagen bij "datum_expressie". Voorbeeld: _add_days ( 2002-04-30 ; 1 ) Resultaat: 2002-05-01 Voorbeeld: _add_days ( 2002-04-30 12:10:10.000; 1 ) Resultaat: 2002-05-01 12:10:10,000 Voorbeeld: _add_days ( 2002-04-30 00:00:00.000; 1/24 ) Het tweede argument is niet een geheel getal. Dit wordt door sommige databasetechnologieën ondersteund voor het verhogen van het tijddeel. Resultaat: 2002-04-30 01:00:00.000 _add_months ( datum_expressie; geheelgetal_expressie ) Telt "geheelgetal_expressie" maanden op bij "datum_expressie". Als de resulterende maand minder dagen heeft dan de component voor dag van de maand, wordt de laatste dag van de resulterende maand geretourneerd. In all andere gevallen heeft de geretourneerde waarde dezelfde component voor dag van de maand als "datum_expressie". Voorbeeld: _add_months ( 2012-04-15 ; 3 ) Resultaat: 2012-07-15 Resultaat is niet de laatste dag van de resulterende maand. Voorbeeld: _add_months ( 2012-02-29 ; 1 ) Resultaat: 2012-03-29 Gebruik de functie _last_of_month om de laatste dag van de maand te retourneren. Voorbeeld: _last_of_month ( _add_months ( 2012-02-29 ; 1 ) ) Resultaat: 2012-03-31 De dag wordt bijgesteld op de laatste dag van de resulterende maand. Voorbeeld: _add_months ( 2012-01-31 ; 1 ) Resultaat: 2012-02-29 Toevoegen aan een tijdsaanduiding. Voorbeeld: _add_months ( 2002-04-30 12:10:10.000 ; 1 ) Resultaat: 2002-05-30 12:10:10;000 _add_years ( datum_expressie; geheelgetal_expressie ) Telt "geheelgetal_expressie" jaar op bij "datum_expressie". Als de "datum_expressie" 29 februari is en het resulterende jaar geen schrikkeljaar is, wordt de resulterende dag ingesteld op 28 februari. In all andere gevallen heeft de geretourneerde waarde dezelfde dag en maand als "datum_expressie". Voorbeeld: _add_years ( 2012-04-15 ; 1 ) Resultaat: 2013-04-15 29 februari wordt bijgesteld voor niet-schrikkeljaren. Voorbeeld: _add_years ( 2012-02-29 ; 1 ) Resultaat: 2013-02-28 Toevoegen aan een tijdsaanduiding. Voorbeeld: _add_years ( 2002-04-30 12:10:10.000 ; 1 ) Resultaat: 2003-04-30 12:10:10,000 _age ( datum_expressie ) Retourneert een getal dat wordt verkregen door "datum_expressie" van de datum van vandaag af te trekken. De geretourneerde waarde heeft de notatie JJJJMMDD, waarbij JJJJ staat voor het aantal jaren, MM voor het aantal maanden en DD voor het aantal dagen. Voorbeeld: _age ( 1990-04-30 ) (als het vandaag 2003-02-05 is) Resultaat: 120906, dat wil zeggen 12 jaar, 9 maanden en 6 dagen. _date_to_int ( datum_expressie ) Retourneert "datum_expressie" in de vorm van een geheel getal. De geretourneerde waarde heeft de notatie JJJJMMDD, waarbij JJJJ staat voor het aantal jaren, MM voor het aantal maanden en DD voor het aantal dagen. Voorbeeld: _date_to_int ( 2003-01-27 ) Resultaat: 20030127 _day_of_week ( datum_expressie; geheelgetal ) Retourneert de dag van de week (1 tot en met 7), waarbij 1 de eerste dag van de week is, zoals wordt aangegeven door de tweede parameter (1 tot en met 7; waarbij 1 maandag is en 7 zondag). Let op: in de ISO 8601-standaard begint een week met maandag, dus dag 1. Voorbeeld: _day_of_week ( 2003-01-01 ; 1 ) Resultaat: 3 _day_of_year ( datum_expressie ) Retourneert de dag van het jaar (1 tot 366) in "datum_expressie". Deze wordt Juliaanse dag genoemd. Voorbeeld: _day_of_year ( 2003-03-01 ) Resultaat: 61 _days_between ( datum_expressie1 ; datum_expressie2 ) Retourneert een positief of negatief getal dat het aantal dagen tussen "datum_expressie1" en "datum_expressie2" aangeeft. Als "datum_expressie1" < "datum_expressie2", is het resultaat een negatief getal. Voorbeeld: _days_between ( 2002-06-21 ; 2002-04-30 ) Resultaat: 52 Voorbeeld: _days_between ( 2002-04-30 ; 2002-06-21 ) Resultaat: -52 _days_to_end_of_month ( datum_expressie ) Retourneert een getal dat het aantal resterende dagen in de maand is die wordt aangegeven door "datum_expressie". Voorbeeld: _days_to_end_of_month ( 2002-04-20 14:30:22.123 ) Resultaat: 10 _first_of_month ( datum_expressie ) Retourneert een datum of datumtijd, afhankelijk van het argument, door "datum_expressie" te converteren naar een datum met hetzelfde jaar en dezelfde maand, maar met de dag ingesteld op 1. Voorbeeld: _first_of_month ( 2002-04-20 ) Resultaat: 2002-04-01 Voorbeeld: _first_of_month ( 2002-04-20 12:10:10.000 ) Resultaat: 2002-04-01 12:10:10,000 _last_of_month ( datum_expressie ) Retourneert een datum of datumtijd, afhankelijk van het argument dat de laatste dag is van de maand die wordt weergegeven door "datum_expressie". Voorbeeld: _last_of_month ( 2002-01-14 ) Resultaat: 2002-01-31 Voorbeeld: _last_of_month ( 2002-01-14 12:10:10.000 ) Resultaat: 2002-01-31 12:10:10,000 _make_timestamp ( geheelgetal_expressie1; geheelgetal_expressie2; geheelgetal_expressie3 ) Retourneert een tijdsaanduiding die is samengesteld uit "geheelgetal_expressie1" (het jaar), "geheelgetal_expressie2" (de maand) en "geheelgetal_expressie3" (de dag). De tijd wordt standaard op 00:00:00.000 ingesteld. Voorbeeld: _make_timestamp ( 2002 ; 01 ; 14 ) Resultaat: 2002-01-14 00:00:00,000 _months_between ( datum_expressie1; datum_expressie2 ) Retourneert een positief of negatief geheel getal dat het aantal maanden tussen "datum_expressie1" en "datum_expressie2" aangeeft. Als "datum_expressie1" eerder is dan "datum_expressie2", wordt er een negatief getal geretourneerd. Voorbeeld: _months_between ( 2002-04-03 ; 2002-01-30 ) Resultaat: 2 Voorbeeld: _months_between ( 2002-01-30 ; 2002-04-03 ) Resultaat: -2 _shift_timezone ( tijdsaanduiding , vanuit_tijdzone , naar_tijdzone ) _shift_timezone ( tijdsaanduiding_met_waarde_tijdzone , naar_tijdzone ) Hiermee wordt een tijdsaanduiding van de ene tijdzone naar de andere verschoven. Deze functie houdt indien nodig rekening met de zomertijd. Als het type van het eerste argument "tijdsaanduiding" is , vertegenwoordigen het tweede en derde argument respectievelijk de tijdzones "vanuit" en "naar". Als het type van het eerste argument "tijdsaanduiding met tijdzone" is, is de tijdzone "vanuit" al geïmpliceerd in het eerste argument, en daarom vertegenwoordigt het tweede argument de tijdzone "naar". Het gegevenstype van het eerste argument bepaalt ook het gegevenstype van de retourcode. Het tweede en derde argument zijn van het type "tekenreeks" en vertegenwoordigen ID's van de tijdzone. Een lijst van deze ID is hieronder te vinden. Opmerking: het gebruik van deze functie veroorzaakt lokale verwerking. Voorbeeld: _shift_timezone( 2013-06-30 12:00:00 , 'America/New_York' , 'GMT' ) Resultaat: 2013-06-30 16:00:00 Voorbeeld: _shift_timezone( 2013-11-30 12:00:00-05:00 , 'America/Vancouver' ) Resultaat: 2013-11-30 09:00:00-08:00 Tijdzone-ID's: 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 Er kan ook een aangepaste tijdzone worden gebruikt, die de notatie GMT(+|-)HH:MM gebruikt. Bijvoorbeeld GMT-06:30 of GMT+02:00. _week_of_year ( datum_expressie ) Retourneert het nummer van de week van het jaar van "datum_expressie" conform de ISO 8601-standaard. Week 1 van het jaar is de eerste week waarin een donderdag valt, ofwel de eerste week waarin de datum 4 januari valt. Een week begint op maandag (dag 1) en eindigt op zondag (dag 7). Voorbeeld: _week_of_year ( 2003-01-01 ) Resultaat: 1 _years_between ( datum_expressie1; datum_expressie2 ) Retourneert een positief of negatief geheel getal dat het aantal jaren tussen "datum_expressie1" en "datum_expressie2" aangeeft. Als "datum_expressie1" < "datum_expressie2", wordt er een negatieve waarde geretourneerd. Voorbeeld: _years_between ( 2003-01-30 ; 2001-04-03 ) Resultaat: 1 Voorbeeld: _years_between ( 2001-04-03 ; 2003-01-30 ) Resultaat: -1 _ymdint_between ( datum_expressie1 ; datum_expressie2 ) Retourneert een getal dat het verschil tussen "datum_expressie1" en "datum_expressie2" aangeeft. De geretourneerde waarde heeft de notatie JJJJMMDD, waarbij JJJJ staat voor het aantal jaren, MM voor het aantal maanden en DD voor het aantal dagen. Voorbeeld: _ymdint_between ( 1990-04-30 ; 2003-02-05 ) Resultaat: 120905, dat wil zeggen 12 jaren, 9 maanden en 5 dagen. _year ( datum_expressie ) Retourneert de waarde van het jaarveld in "datum_expressie". Voorbeeld: _year ( 2003-03-01 ) Resultaat: 2003 _month ( datum_expressie ) Retourneert de waarde van het maandveld in "datum_expressie". Voorbeeld: _month ( 2003-03-01 ) Resultaat: 3 _day ( datum_expressie ) Retourneert de waarde van het dagveld in "datum_expressie". Voorbeeld: _day ( 2003-03-01 ) Resultaat: 1 _hour ( datum_expressie ) Retourneert de waarde van het uurveld in "datum_expressie". Voorbeeld: _hour ( 2002-01-31 12:10:10.254 ) Resultaat: 12 _minute ( datum_expressie ) Retourneert de waarde van het minuutveld in "datum_expressie". Voorbeeld: _minute ( 2002-01-31 12:10:10.254 ) Resultaat: 10 _second ( datum_expressie ) Retourneert de waarde van het secondeveld in "datum_expressie". Voorbeeld: _second ( 2002-01-31 12:10:10.254 ) Resultaat: 10.254 _timezone_hour ( tijdsaanduiding_met_tijdzone ) _timezone_hour ( tijd_met_tijdzone ) Retourneert de waarde van het uurveld van de tijdzone in de expressie. De expressie moet van het type "tijdsaanduiding met tijdzone" of "tijd met tijdzone" zijn. Voorbeeld: _timezone_hour ( 2002-01-31 12:10:10.254-05:30 ) Resultaat: -5 _timezone_minute ( tijdsaanduiding_met_tijdzone ) _timezone_minute ( tijd_met_tijdzone ) Retourneert de waarde van het minuutveld van de tijdzone in de expressie. De expressie moet van het type "tijdsaanduiding met tijdzone" of "tijd met tijdzone" zijn. Voorbeeld: _timezone_minute ( 2002-01-31 12:10:10.254-05:30 ) Resultaat: -30 _start_of_day ([ datum_expressie ]) Retourneert het begin van "datum_expressie" of het begin van vandaag als tijdsaanduiding Voorbeeld: _start_of_day ( 2014-11-23 12:10:10.254 ) Resultaat: 2014-11-23 00:00:00 Voorbeeld: _start_of_day () Resultaat: 2016-01-01 00:00:00 _end_of_day ([ datum_expressie ]) Retourneert het einde van "datum_expressie" of het einde van vandaag als tijdsaanduiding. Voorbeeld: _end_of_day ( 2014-11-23 12:10:10.254 ) Resultaat: 2014-11-23 23:59:59 Voorbeeld: _end_of_day () Resultaat: 2016-01-01 23:59:59 _unix_timestamp ( datum_expressie ) Retourneert het aantal seconden sinds 1970-01-01 00:00:00-00 voor de opgegeven "datum_expressie". Voorbeeld: _unix_timestamp ( 2014-11-23 ) Resultaat: 1416718800 _from_unixtime ( geheelgetal_expressie ) Retourneert de Unix-tijd die is opgegeven met "geheelgetal_expressie" als tijdsaanduiding met tijdzone. Voorbeeld: _from_unixtime (1417807335) Resultaat: 2014-12-05 19:22:15+00:00
Macrofuncties In deze lijst worden de functies vermeld die in een macro kunnen worden gebruikt. Een macro kan een of meer macrofuncties bevatten. Een macro staat tussen hekjes (een hekje (#) aan het begin en een hekje aan het einde). Alles tussen de hekjes wordt opgevat als een macro-expressie en wordt uitgevoerd als de macro wordt gestart.Voor macrofuncties die expressies van het gegevenstype tijdsaanduiding accepteren met tijdzones als argumenten, is de geaccepteerde notatie 'jjjj-mm-dd uu:mm:ss[.ff]+uu:mm' waarbij het gedeelte met fracties van seconden optioneel is en kan bestaan uit 1 tot 9 cijfers. In plaats van een spatie tussen het datumgedeelte en het tijdgedeelte kan ook het teken 'T' worden gebruikt. In plaats van de tijdzone, '+uu:mm', kan ook het teken 'Z' worden gebruikt. Dit wordt intern verwerkt als '+00:00'. De macrofuncties die expressies retourneren van het gegevenstype tijdsaanduiding met tijdzone, retourneren standaard negen cijfers voor het gedeelte met fracties van seconden. Desgewenst kan de macrofunctie timestampMask() worden gebruikt om deze uitvoer in te korten. Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "integer_expressie"-seconden bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. _add_seconds ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_seconds ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2005-11-01 11:59:59.000-05:00 Voorbeeld: # _add_seconds ( $current_timestamp ; 1 ) # Resultaat: 2005-11-01 12:00:01.000000000-05:00 Voorbeeld: # timestampMask ( _add_seconds ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultaat: 12:00:01 Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "integer_expressie"-minuten bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. _add_minutes ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_minutes ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2005-11-01 11:59:00.000-05:00 Voorbeeld: # _add_minutes ( $current_timestamp ; 1 ) # Resultaat: 2005-11-01 12:01:00.000000000-05:00 Voorbeeld: # timestampMask ( _add_minutes ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultaat: 12:01:00 Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "integer_expressie"-uren bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. _add_hours ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_hours ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2005-11-01 13:00:00.000-05:00 Voorbeeld: # _add_hours ( $current_timestamp ; 1 ) # Resultaat: 2005-11-01 13:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _add_hours ( $current_timestamp ; 1 ) ; 'hh:mm:ss' ) # Resultaat: 13:00:00 Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "geheelgetal_expressie"-dagen bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. Als het eerste argument een datum is die als tekenreeks is opgegeven met de indeling: jjjj-mm-dd, wordt de retourwaarde een tekenreeks die is ingedeeld als een datum. _add_days ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_days ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2005-10-31 12:00:00.000000000-05:00 Voorbeeld: # _add_days ( $current_timestamp ; 1 ) # Resultaat: 2005-11-02 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _add_days ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Resultaat: 2005-11-02 Voorbeeld: # _add_days( '2019-11-14' , 3 ) # Resultaat: 2019-11-17 Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "geheelgetal_expressie"-maanden bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. Als het eerste argument een datum is die als tekenreeks is opgegeven met de indeling: jjjj-mm-dd, wordt de retourwaarde een tekenreeks die is ingedeeld als een datum. _add_months ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_months ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2005-10-01 12:00:00.000000000-05:00 Voorbeeld: # _add_months ( $current_timestamp ; 1 ) # Resultaat: 2005-12-01 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _add_months ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Resultaat: 2005-12-01 Voorbeeld: # _add_months( '2019-11-14' , -1 ) # Resultaat: 2019-10-14 Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) die het resultaat is van het optellen van het aantal "geheelgetal_expressie"-jaren bij "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. Als het eerste argument een datum is die als tekenreeks is opgegeven met de indeling: jjjj-mm-dd, wordt de retourwaarde een tekenreeks die is ingedeeld als een datum. _add_years ( tekenreeks_expressie ; geheelgetal_expressie ) Voorbeeld: # _add_years ( '2005-11-01 12:00:00.000-05:00' ; -1 ) # Resultaat: 2004-11-01 12:00:00.000000000-05:00 Voorbeeld: # _add_years ( $current_timestamp ; 1 ) # Resultaat: 2006-11-01 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _add_years ( $current_timestamp ; 1 ) ; 'yyyy-mm-dd' ) # Resultaat: 2006-11-01 Voorbeeld: # _add_years( '2019-11-14' , -2 ) # Resultaat: 2017-11-14 _first_of_month ( tekenreeks_expressie ) Retourneert de tijdsaanduiding met tijdzone (als een tekenreeks) door de waarde van de dag in "tekenreeks_expressie" te converteren naar 1, waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. Voorbeeld: # _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultaat: 2005-11-01 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _first_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyymmdd' ) # Resultaat: 20051101 _last_of_month ( tekenreeks_expressie ) Retourneert een tijdsaanduiding met tijdzone (als een tekenreeks) die de laatste dag is van de maand die wordt aangegeven door "tekenreeks_expressie", waarbij "tekenreeks_expressie" staat voor een tijdsaanduiding met tijdzone. Voorbeeld: # _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) # Resultaat: 2005-11-30 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( _last_of_month ( '2005-11-11 12:00:00.000-05:00' ) ; 'yyyy-mm-dd' ) # Resultaat: 2005-11-30 modelj ( 'ID' [ , 'model_zoekpad' [ , 'opties' ] ] ) Retourneert een deel van het metagegevensmodel in json-indeling. Het huidige model wordt gebruikt als 'model_zoekpad' niet opgegeven is. Het argument 'opties' kan worden ingesteld op 'cleanup'; hierdoor wordt een gedeelte van het resultaat veranderd in vaste waarden (nuttig bij tests). sq ( modelj ( '[gosales].[country].[country]' ) Plaatst "tekenreeks_expressie" tussen vierkante haakjes. sb ( tekenreeks_expressie ) Voorbeeld: # sb ( 'abc' ) # Resultaat: [abc] Plaatst "tekenreeks_expressie" tussen enkele aanhalingstekens. sq ( tekenreeks_expressie ) Voorbeeld: # sq ( 'zero' ) # Resultaat: 'nul' Plaatst "tekenreeks_expressie" tussen dubbele aanhalingstekens. dq ( tekenreeks_expressie ) Voorbeeld: # dq ( 'zero' ) # Resultaat: "nul" Gebruikt de identiteitsinformatie van de huidige geverifieerde gebruiker om waarden in de opgegeven parametermap op te zoeken. Elk deel van de identiteit van de gebruiker (accountnaam, groepsnamen, rolnamen) wordt als sleutelinformatie voor de map gebruikt. De unieke lijst met waarden die wordt opgehaald uit de parametermap, wordt vervolgens geretourneerd als een tekenreeks, waarbij elke waarde tussen enkele aanhalingstekens staat en waar meerdere waarden door een komma van elkaar worden gescheiden. CSVIdentityName ( %parameter_map_name [ ; scheidingsteken ] ) Voorbeeld: # CSVIdentityName ( %security_clearance_level_map ) # Resultaat: 'level_500' , 'level_501' , 'level_700' Retourneert delen van de identiteit van de gebruiker (accountnaam, groepsnamen, rolnamen) als een lijst reeksen. De unieke lijst met waarden wordt geretourneerd als een reeks, waarbij elke waarde tussen enkele aanhalingstekens staat en waar meerdere waarden door een komma van elkaar worden gescheiden. CSVIdentityNameList ( [ scheidingstekenreeks ] ) Voorbeeld: # CSVIdentityNameList ( ) # Resultaat: 'Iedereen' , 'Rapportbeheerders' , 'Query-gebruiker' Retourneert het Cognos® Access Manager-paspoort. CAMPassport ( ) Voorbeeld: # CAMPassport ( ) # Resultaat: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 Retourneert de onderdelen van de Cognos® Access Manager ID (CAMID) van de gebruiker, zoals accountnaam, groepsnamen, rolnamen, als een lijst waarden, gescheiden door komma's. CAMIDList ( [ scheidingstekenreeks ] ) Voorbeeld: #CAMIDList ( ) # Resultaat: CAMID ( "::Iedereen" ) ; CAMID ( ":Auteurs" ) ; CAMID ( ":Query-gebruikers" ) ; CAMID ( ":Consumers" ) ; CAMID ( ":Metrics-auteurs" ) Retourneert een array van de Cognos® Access Manager ID's (CAMIDs) van de gebruiker gebaseerd op het identiteitstype (account, groep of rol). U kunt CAMIDListForType gebruiken voor de macrofuncties csv of join. CAMIDListForType ( identiteitstype ) Voorbeeld: [qs].[userRole] in ( # csv ( CAMIDListForType ( 'role' ) ) # ) Resultaat: [qs].[userRole] in ( 'CAMID ( "::Systeembeheerders" ) ' , 'CAMID ( ":Auteurs" )' ) Voegt twee reeksen aaneen. waarde1 + waarde2 Voorbeeld: # '{ ' + $runLocale + ' }' # Resultaat: {en-us} Verwijdert de voorlooptekens van het eerste argument. Het optionele tweede argument definieert de set van tekens die verwijderd worden. Standaard worden met deze functie witruimte verwijderd (i.e. spatie, tab, terugloop en nieuwe regel). lstrip ( tekenreeks_expressie [ ; set_van_tekens ] ) Voorbeeld: # sq( lstrip ( ' abc ' ) ) # Resultaat: 'abc ' Voorbeelde: # lstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultaat: 53.2100 Retourneert de parameterwaarde van "parameternaam", indien deze gedefinieerd is. De waarde van "standaardtekst" wordt geretourneerd als "parameternaam" niet bestaat. Als "gegevenstype" is ingesteld op "string" (tekenreeks), wordt de resultaatwaarde tussen enkele aanhalingstekens geplaatst. Het gebruik van deze functie leidt niet tot een uitzondering voor een ontbrekende parameter. ParamValue ( parameternaam [ , standaardtekst [, gegevenstype ] ] ) Voorbeeld: # ParamValue ( 'p_country' ) # Resultaat: 'Canada' - p_country is ingesteld Resultaat: null - p_country is geen bekende parameter Resultaat: null - p_country wordt gebruikt in een optionele prompt en is niet ingesteld Voorbeeld: # ParamValue ( 'p_country' , 'Nederland' ) # Resultaat: 'Canada' - p_country is ingesteld Resultaat: 'Nederland' - p_country is geen bekende parameter Resultaat: 'Nederland' - p_country wordt gebruikt in een optionele prompt en is niet ingesteld Voorbeeld: # ParamValue ( 'p_country', ' cast ( null as varchar(20)) ' , 'token' ) # Resultaat: 'Canada' - p_country is ingesteld Resultaat: cast ( null as varchar(20)) - p_country is geen bekende parameter Resultaat: cast ( null as varchar(20)) - p_country wordt gebruikt in een optionele prompt en is niet ingesteld Vraagt de gebruiker één waarde of lid in te voeren. Alleen het argument "prompt_naam" is vereist. Als het gegevenstype niet is opgegeven, wordt dit standaard op 'string' ingesteld. De prompt is optioneel wanneer "standaardtekst" is opgegeven. "Tekst", indien opgegeven, gaat vooraf aan de waarde. "QueryItem" kan worden opgegeven om de promptinformatie-eigenschappen van "queryItem" te gebruiken. Als "opvolgende_tekst" is opgegeven, volgt deze op de waarde. Als het gegevenstype 'memberuniquename' is, wordt een aanwijzing gemaakt voor het selecteren van een enkel lid. Het is een goede gewoonte om een standaardwaarde op te geven als derde argument. De standaardwaarde moet een geldige unieke naam van een lid zijn; dit kan ook een alias zijn die verwijst naar een unieke lidnaam, zoals in Report Studio. prompt ( promptnaam ; gegevenstype ; standaardtekst ; tekst ; queryItem ; eindtekst ) Voorbeeld: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt ( 'Begin Landcode' ; 'integer' ; '10' ) # Resultaat: select . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10 Voorbeeld: [gosales].[LAND].[LAND] = # prompt ( 'countryPrompt' , 'string' , '''Canada''' ) # Resultaat: [gosales].[LAND].[LAND] = 'Canada' Voorbeeld: set ( #prompt ('mijnProduct', 'memberuniquename', '[Kampeerbenodigdheden]', '', '[Verkoop].[Product].[Product].[Productlijn]')#) Resultaat: set([Sales].[Product].[Product].[Productlijn]->[alle].[1]) De parameter "standaardtekst" moet worden opgegeven en letterlijk geldig zijn in de context van de macro. Er wordt namelijk geen opmaak toegepast op deze waarde. De standaardtekenreeks '''Canada''' in voorbeeld 2 wordt aangeduid als tekenreeks door deze tussen enkele aanhalingstekens te plaatsen. De ingesloten enkele aanhalingstekens worden verdubbeld, zodat er drie aanhalingstekens om deze tekenreeks staan. Op deze manier wordt de tekenreeks juist weergegeven in de expressie, namelijk tussen enkele aanhalingstekens. Als vuistregel voor het gegevenstype tekenreeks geldt dat "standaardtekst" altijd op deze manier moet worden opgegeven, behalve in de context van een opgeslagen-procedureparameter. Voor "standaardtekst" van het type 'date' of 'datetime', moet een speciale notatie worden gebruikt in de context van SQL. Enkele voorbeelden van deze notaties: 'DATE ''2001-12-25''' en 'DATETIME ''2001-12-25 12:00:00'''. In alle andere contexten kunt u datum/datumtijd gebruiken zonder trefwoord en escapetekens voor de enkele aanhalingstekens (bijvoorbeeld '2001-12-25'). Vraagt de gebruiker een of meer waarden of leden in te voeren. Alleen het argument "prompt_naam" is vereist. Als het gegevenstype niet is opgegeven, wordt dit standaard op 'string' ingesteld. De prompt is optioneel wanneer "standaardtekst" is opgegeven. "Tekst", indien opgegeven, gaat vooraf aan de lijst met waarden. "QueryItem" kan worden opgegeven om de promptinformatie-eigenschappen van "queryItem" te gebruiken. Als "opvolgende_tekst" is opgegeven, volgt deze aan het einde van de lijst met waarden.Als het gegevenstype 'memberuniquename' is, wordt een aanwijzing gemaakt voor het selecteren van meerdere leden. Het is een goede gewoonte om een standaardwaarde op te geven als derde argument. De standaardwaarde moet een geldige unieke naam van een lid zijn; dit kan ook een alias zijn die verwijst naar een unieke lidnaam, zoals in Report Studio. promptmany ( promptnaam ; gegevenstype ; standaardtekst ; tekst ; queryItem ; eindtekst ) Voorbeeld: select . . . where COUNTRY_MULTILINGUAL.COUNTRY in ( # promptmany ( 'Landnaam' ) # ) Resultaat: select . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( 'Canada' ; 'Nederland' ; 'Rusland' ) Voorbeeld: select . . . from gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL ; gosales.gosales.dbo.COUNTRY XX where COUNTRY_MULTILINGUAL.COUNTRY_CODE = XX.COUNTRY_CODE # promptmany ( 'Geselecteerde Landcodes' ; 'integer' ; ' ' ; ' and COUNTRY_MULTILINGUAL.COUNTRY_CODE in ( ' ; '' ; ' ) ' ) # Resultaat: 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' ; 'Nederland' ; 'Rusland' ) Voorbeeld: set ( #promptmany ('mijnProduct', 'memberuniquename', '[Kampeerbenodigdheden]', '', '[Verkoop].[Product].[Product].[Productlijn]')#) Resultaat: set([Sales].[Product].[Product].[Productlijn]->[alle].[1]; [Verkoop].[Product].[Product].[Productlijn]->[alle].[2]) Een query voor een enkele kolom uitvoeren en de waarde in (alleen) de eerste rij retourneren. Het resultaat is niet opgemaakt. Zorg ervoor dat u, waar nodig, de aanroep tussen sq () plaatst. queryValue ( waarde-expressie [ , filterexpressie ] ) Voorbeeld: # sq ( queryValue ( 'TheCalendar.TheWeekdayName' , 'TheCalendar.TheDate = 2018-06-06' ) ) # Resultaat: 'Woensdag' Stelt een array samen uit de lijst met parameters. array ( tekenreeks_expressie|array_expressie { ; tekenreeks_expressie|array_expressie } ) Voorbeeld: # csv ( array ( 'a1' ; array ( 'x1' ; 'x2' ) ; 'a2' ) ) # Resultaat: 'a1' ; 'x1' ; 'x2' ; 'a2' Stelt een tekenreeks samen uit de elementen van de matrix waarbij de waarden door puntkomma's van elkaar worden gescheiden. De te gebruiken scheidingsteken- en aanhalingstekenreeks kan als optie worden ingesteld. Het standaard scheidingsteken is een puntkomma ( ; ) en het standaard aanhalingsteken is een enkel aanhalingsteken ( ' ). csv ( array_expressie [ ; scheidingstekenreeks [ ; aanhalingsreeks ] ] ) Voorbeeld: # sq ( csv ( array ( 'a1' , 'a2' ) ) ) # Resultaat: 'a1' ; 'a2' Een vermelding ophalen uit het IBM® Cognos®-configuratiebestand.force_decode_flag is optioneel en moet een van de volgende waarden hebben: 'true' , '1', 1 , 'false', '0', 0. De standaardwaarde is 'false'. In uitzonderlijke gevallen moet force_decode_flag op true worden ingesteld. Als force_decode_flag ingesteld is op true wordt voor items die in de IBM® Cognos®-configuratie via geavanceerde eigenschappen zijn geconfigureerd de platte-tekstwaarde van het configuratie-item geretourneerd. Voor items die niet in de geavanceerde eigenschappen aangegeven zijn, wordt een lege reeks geretourneerd, ongeacht de aanwezigheid van versleutelde informatie. Het item in de geavanceerde eigenschappen is qs.getConfigurationEntry.1 en bevat een lijst van namen die met puntkomma's gescheiden zijn. Deze lijst is standaard leeg en aanroepen naar deze functie met de vlag ingesteld op true retourneren een lege reeks. getConfigurationEntry ( invoer_tekenreeks ; force_decode_flag ) Voorbeeld: # getConfigurationEntry ( 'serverLocale'  ) # Resultaat: nl Retourneert een item uit een resourcebestand. Het eerste argument is het resource-ID dat in het resource-ID gevonden is. Het optionele tweede argument is de naam van het resourcebestand zonder de localesuffix (b.v. 'mfwa4j' voor het berichtenbestand 'mfwa4j_en.properties'). Het standaard resourcebestand is 'xqejavamsgs'. Het optionele derde argument is de locale, met standaardwaarde 'en'. getResourceString ( resource_id_string [, resource_file_string [ , locale_string ] ] ) Voorbeeld: # getResourceString ( 'XQE_BIN_binLow' ) # Resultaat: XQE-BIN-0001 kleiner dan than %1 Voorbeeld: # getResourceString ( 'MFW_UT_INTERNAL_ERROR' , 'mfw4j' , 'en' ) # Resultaat: MFW-UT-1002 Er is een intern probleem opgetreden. Neem contact op met de systeembeheerder. Zoekt naar en retourneert matrixelementen die overeenkomen met het patroon dat is opgegeven in "patroon_reeks". De enige ondersteunde metatekens zijn: ^ (begin van woord), $ (einde van woord), ! (negatie - alleen ondersteund als eerste teken). grep ( patroon_tekenreeks ; array_expressie ) Voorbeeld: # sq ( csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) ) ) # Resultaat: 'as'; 'arts' Voorbeeld: # sq ( csv ( grep ( '^g' , array ( 'group', 'golf' ) ) ) ) # Resultaat: 'group', 'golf' Voorbeeld: # sq ( csv ( grep ( 's$' , array ( 'oranges', 'mangoes' ) ) ) ) # Resultaat: 'oranges', 'mangoes' Voorbeeld: # sq ( csv ( grep ( '!o' , array ( 'oranges', 'apples' ) ) ) ) # Resultaat: 'apples' Nagaan op welke positie 'substr' aanwezig is in 'str'. Als 'substr' niet wordt gevonden, wordt de waarde -1 geretourneerd. U kunt ook een optionele 'offset' opgeven om aan te geven waar het zoeken moet worden gestart. Het eerste argument 'str' mag ook een array_expressie zijn. In dat geval wordt de functie op elk array-element toegepast en bestaat het resultaat van de functie uit een array van waarden. index ( str , substr [ , offset ] ) # index ( 'The black horse jumped over the black sheep.', 'black' ) # Resultaat: 4 # index ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Resultaat: 32 # index ( 'The black horse jumped over the black sheep.', 'green' ) # Resultaat: -1 # sq ( join ( ' | ', index ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Resultaat: -1 | 1 | 2 Voegt de elementen van een array samen met gebruik van "scheidingstekenreeks". join ( scheidingstekenreeks ; array_expressie ) Voorbeeld: # sq ( join ( ' | | ' ; array ( 'as'; 'an'; 'arts' ) ) ) # Resultaat: 'as | | an | | arts' Berekent het aantal tekens in reeksexpressie. Als het argument een array-expressie is, bestaat het resultaat uit een array van waarden; elk item is dan het aantal tekens in elk van de elementen array-expressie. length ( reeksexpressie | array-expressie ) length ( 'abcdef' ) Resultaat: 6 join ( '--', length ( array ( 'abcdef' , 'xyz' ) ) ) Resultaat: 6--3 Nagaan op welke positie 'substr' het laatst aanwezig is in 'str'. Deze functie wordt reverse index genoemd; u kunt het zich voorstellen alsof het scannen aan het eind van de tekenreeks begint. Als 'substr' niet wordt gevonden, wordt de waarde -1 geretourneerd. U kunt ook een optionele 'offset' opgeven om aan te geven waar het zoeken moet worden beëindigd. Het eerste argument 'str' mag een array_expressie zijn. In dat geval wordt de functie op elk array-element toegepast en bestaat het resultaat van de functie uit een array van waarden. rindex ( str , substr [ , offset ] ) # rindex ( 'The black horse jumped over the black sheep.', 'black' ) # Resultaat: 32 # rindex ( 'The black horse jumped over the black sheep.', 'black', 10 ) # Resultaat: 4 # rindex ( 'The black horse jumped over the black sheep.', 'green' ) # Resultaat: -1 # sq ( join ( ' | ', rindex ( array ('black' , 'red', 'green' ) , 'e' ) ) ) # Resultaat: -1 | 1 | 3 Verwijdert de volgtekens van het eerste argument. Het optionele tweede argument definieert de set van tekens die verwijderd worden. Standaard worden met deze functie witruimte verwijderd (i.e. spatie, tab, terugloop en nieuwe regel). rstrip ( tekenreeks_expressie [ ; set_van_tekens ] ) Voorbeeld: # sq( rstrip ( ' abc ' ) ) # Resultaat: 'abc ' Voorbeelde: # rstrip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultaat: 0053.21 Sorteert de elementen van de array op alfabetische volgorde. Dubbele waarden worden behouden. sort ( array_expressie ) Voorbeeld: # csv ( sort ( array ( 's3'; 'a'; 'x' ) ) ) # Resultaat: 'a'; 's3'; 'x' Splitst een tekenreeks of de tekenreekselementen van de matrix in afzonderlijke elementen. split ( patroon_tekenreeks; tekenreeks_expressie|array_expressie ) Voorbeeld: # sq ( csv ( split ( '::', 'ab=c::de=f::gh=i' ) ) ) # Resultaat: 'ab=c' ; 'de=f'; 'gh=i' Voorbeeld: # sq ( csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) ) ) # Resultaat: 'ab' ; 'c' ; 'de' ; 'f'; 'gh' ; 'i' Verwijdert de voorloop- en volgtekens van het eerste argument. Het optionele tweede argument definieert de set van tekens die verwijderd worden. Standaard worden met deze functie witruimte verwijderd (i.e. spatie, tab, terugloop en nieuwe regel). strip ( tekenreeks_expressie [ ; set_van_tekens ] ) Voorbeeld: # sq( strip ( ' abc ' ) ) # Resultaat: 'abc' Voorbeelde: # strip ( ' 0053.2100 ' ; '0 \t\r\n' ) # Resultaat: 53.21 Zoekt naar een patroon in een tekenreeks of binnen de tekenreekselementen van een matrix en vervangt de eerste instance van "patroon_reeks" door "vervangende_reeks". De enige ondersteunde metatekens zijn: ^ (begin van woord), $ (einde van woord) substitute ( patroon_tekenreeks; vervangings_tekenreeks; tekenreeks_expressie|array_expressie ) Voorbeeld: #sq ( substitute ( '^cn='; '***'; 'cn=help' ) )# Resultaat: '***help' Voorbeeld: # csv ( substitute ( '^cn='; '***'; array ( 'cn=help' ; 'acn=5' ) ) ) # Resultaat: '***help' ; 'acn=5' Voorbeeld: # csv ( substitute ( 'cn='; ''; array ( 'cn=help' ; 'acn=5' ) ) ) # Resultaat: 'help' ; 'a5' Voorbeeld: #sq ( substitute ( 'help$', '***', 'cn=help' ) )# Resultaat: 'cn=***' Extraheert een gedeelte uit 'reeksexpressie', te beginnen op 'startpositie'. U kunt opgeven dat het aantal tekens van 'lengte' geëxtraheerd moet worden. Als 'lengte' niet is opgegeven, wordt alles tot het eind van 'reeksexpressie' geretourneerd. Het eerste argument mag ook een array_expressie zijn. In dat geval wordt de functie op elk array-element toegepast en bestaat het resultaat van de functie uit een array van tekenreeksen. substr ( reeksexpressie , beginpositie [ , lengte ] ) substr ( 'The horse is black.', 0, 3 ) Resultaat: The substr ( 'The horse is black.', 4 ) Resultaat: horse is black. substr ( 'The horse is black', index ('The horse is black.' , 'green' ) ) Resultaat: The horse is black. join ( ' | ', substr ( array ('black' , 'red', 'green' ) , 2, 2 ) ) Resultaat: ac | d | en substr ('over the moon', -2, 4) Leidt tot een fout: Het tweede argument van de functie 'substr' moet groter zijn dan of gelijk zijn aan -1.' . Retourneert "tekenreeks_expressie1", die staat voor een tijdsaanduiding met tijdzone, ingekort tot de notatie die is opgegeven in "tekenreeks_expressie2". "Tekenreeks_expressie2" moet een van de volgende indelingen hebben:'jjjj', 'mm', 'dd', 'jjjj-mm', 'jjjjmm', 'jjjj-mm-dd', 'jjjjmmdd', 'jjjj-mm-dduu:mm:ss', 'jjjj-mm-dd uu:mm:ss+uu:mm', 'jjjj-mm-dd uu:mm:ss.ff3', 'jjjj-mm-dd uu:mm:ss.ff3+uu:mm', 'jjjj-mm-ddTuu:mm:ss', 'jjjj-mm-ddTuu:mm:ss+uu:mm', 'jjjj-mm-ddTuu:mm:ss.ff3+uu:mm' of 'jjjj-mm-ddTuu:mm:ss.ff3+uu:mm'.De macrofuncties die een tekenreeksweergave van een tijdsaanduiding met tijdzone retourneren, bevatten standaard negen cijfers voor het gedeelte met fracties van seconden. U kunt dit aantal met behulp van opmaakopties inkorten tot drie of nul cijfers. timestampMask ( tekenreeks_expressie1 ; tekenreeks_expressie2 ) Voorbeeld: # timestampMask ( $current_timestamp ; 'yyyy-dd-mm' ) # Resultaat: 2005-11-01 Voorbeeld: # timestampMask (  '2005-11-01 12:00:00.000-05:00' ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # Resultaat: 2005-11-01 12:00:00-05:00 Voorbeeld: # timestampMask (  '2005-11-01 12:00:00.123456789-05:00' ; 'yyyy-mm-ddThh:mm:ss+hh:mm.ff3+hh:mm' ) # Resultaat: 2005-11-01T12:00:00.123-05:00 Retourneert de tekenreeksrepresentatie van een tijdsaanduiding met tijdzone als resultaat van het aanpassen van "tekenreeks_expressie" aan de tijdzone van het besturingssysteem.U kunt de macrofunctie timestampMask() gebruiken om de uitvoer in te korten. toLocal ( tekenreeks_expressie ) Voorbeeld: # toLocal ( '2005-11-01 17:00:00.000-00:00' ) # waarbij de lokale tijdzone van het besturingssysteem -05:00 is Resultaat: 2005-11-01 12:00:00.000000000-05:00 Voorbeeld: # timestampMask ( toLocal ( '2005-11-01 17:00:00.000-00:00' ) ; 'yyyy-mm-dd hh:mm:ss+hh:mm' ) # waarbij de lokale tijdzone van het besturingssysteem -05:00 is Resultaat: 2005-11-01 12:00:00-05:00 Voorbeeld: # toLocal ( '2005-11-01 13:30:00.000-03:30' ) # waarbij de lokale tijdzone van het besturingssysteem -05:00 is Resultaat: 2005-11-01 12:00:00.000000000-05:00 Retourneert de tekenreeks "tekenreeks_expressie" met alle tekens omgezet naar kleine letters met behulp van de regels van de locale "locale_tekenreeks". Als er geen locale opgegeven is, wordt de locale 'en' gebruikt. tolower ( tekenreeks_expressie [ ; locale_tekenreeks ] ) Voorbeeld: # tolower ( 'ABC' ) # Resultaat: abc Voorbeeld: # tolower ( 'ABC' ; 'fr' ) # Resultaat: abc Retourneert de tekenreeks "tekenreeks_expressie" met alle tekens omgezet naar hoofdletters met behulp van de locale die gedefinieerd is in "locale_tekenreeks". Als "locale_tekenreeks" niet opgegeven is, wordt de locale 'en' gebruikt. toupper ( tekenreeks_expressie [ ; locale_tekenreeks ] ) Voorbeeld: # toupper ( 'abc' ) # Resultaat: ABC Voorbeeld: # toupper ( 'abc' ; 'fr' ) # Resultaat: ABC Retourneert de tekenreeksrepresentatie van een tijdsaanduiding met tijdzone als resultaat van het aanpassen van "tekenreeks_expressie" aan de tijdzone van het nulpunt van UTC, ook wel GMT genoemd. U kunt de macrofunctie timestampMask() gebruiken om de uitvoer in te korten. toUTC ( tekenreeks_expressie ) Voorbeeld: # toUTC ( '2005-11-01 12:00:00.000-05:00' ) # Resultaat: 2005-11-01 17:00:00.000000000-00:00 Voorbeeld: # timestampMask ( toUTC ( '2005-11-01 12:00:00.000-05:00' ) ; 'yyyy-mm-dd hh:mm:ss.ff3+hh:mm' ) # Resultaat: 2005-11-01 17:00:000.000-00:00 Voorbeeld: # toUTC ( $current_timestamp ) # Resultaat: 2005-11-01 17:00:00.000000000-00:00 Verwijdert dubbele gegevens uit de array. De volgorde van de elementen blijft behouden. unique ( array_expressie ) # csv ( unique ( array ( 's3'; 'a'; 's3'; 'x' ) ) ) # Resultaat: 's3', 'a', 'x' URL-encodes het doorgegeven argument. Dit is een handige functie wanneer u XML-verbindingstekenreeksen opgeeft. urlencode ( prompt ( 'gebruikerswaarde' ) ) urlencode ( prompt ( 'een_waarde' ) ) %27testValue%27 simple case Deze macroconstructie is de sjabloon voor een eenvoudige case, die de functies case, when, then, else en end bevat. Let wel, deze macroconstructie wordt alleen in DQM-modus ondersteund. CASE <expressie> WHEN <literaal> THEN <expressie> [ELSE <expressie>] END Voorbeeld: #CASE prompt('pDateRange';'token') WHEN 'Current Week' THEN '[PR Current Week]' ELSE '[PR Prior Week]' END# Resultaat: [PR Current Week]
Blokfuncties Deze lijst bevat functies die worden gebruikt om toegang te krijgen tot leden van een set, gewoonlijk in de context van Analysis Studio. Retourneert de eerste leden die worden gevonden in de set tot "numerieke_expressie_maximum" + "numerieke_expressie_overloop". Als "numerieke_expressie_maximum" + "numerieke_expressie_overloop" wordt overschreden, wordt alleen het maximumaantal leden geretourneerd. Bij een set die slechts een paar leden meer bevat dan opgegeven in numerieke_expressie_maximum, zorgt numerieke_expressie_overloop ervoor dat deze kleine set met extra leden ook wordt opgenomen. Als de set meer leden heeft dan de overloop toestaat, worden alleen de leden voor numerieke_expressie_maximum geretourneerd. _firstFromSet ( set_expressie ; numerieke_expressie_maximum ; numerieke_expressie_overflow ) _firstFromSet ( [Alles_voor_Buitensport_en_Camping].[Producten].[Producten].[Productlijn] , 2 , 8 ) Resultaat: retourneert de vijf leden in de set Productlijn. De eerste twee leden worden geretourneerd op basis van de maximum-expressie en de volgende drie leden worden geretourneerd als overloop. Kampeerartikelen Golfartikelen Bergsportartikelen Buitensport - preventie Persoonlijke accessoires _firstFromSet ( [Alles_voor_Buitensport_en_Camping].[Producten].[Producten].[Productlijn] , 2 , 2 ) Resultaat: Kampeerartikelen, Golfartikelen Retourneert de set die "lid_expressie" bevat wanneer "set_expressie" groter is dan "numerieke_expressie", dat wil zeggen, er wordt een nieuw lid gegenereerd als het aantal leden in "set_expressie" groter is dan de opgegeven waarde voor "numerieke_expressie". _remainderSet ( lid_expressie; set_expressie ; numerieke_expressie ) _remainderSet ( member ( aggregate ( currentMeasure within set [great_outdoors_company].[Producten].[Producten].[Productlijn] ) , 'Productaggregatie' , 'Productaggregatie' , [great_outdoors_company].[Producten].[Producten] ) , [great_outdoors_company].[Producten].[Producten].[Productlijn] , 1 ) Resultaat: Aantal verkopen voor productaggregatie