Syntaxe pro definici kritérií
V následujících tabulkách jsou uvedeny operátory, funkce a konstanty, které jsou podporovány editorem výrazů při definici kritérií.
- 1 Operátory
- 2 Funkce
- 2.1 Funkce časové
- 2.2 Logické funkce
- 2.3 Matematické funkce
- 2.4 Řetězcové funkce
- 3 Konstanty
Operátory
Operátor | Popis | Příklad |
|---|---|---|
+ | Sčítá dva číselné operandy. Pokud jsou oba operandy řetězce, vrátí řetězec, který je výsledkem připojení prvního operandu k druhému. | [FirstName] + ' ' + [LastName] |
- | Odečítá druhý operand od prvního. Oba operandy musí být čísla. | [Price1] - [Price2] |
* | Násobí dva operandy, které musí být čísla. | [Quantity] * [UnitPrice] * (1 - [BonusAmount]) |
/ | Dělí první operand druhým operandem. Oba operandy musí být čísla. Výsledkem je vždy reálné číslo. | [Quantity] / 2 |
% | Vrací zbytek po celočíselném dělení prvního operandu druhým operandem. Oba operandy musí být čísla. | [Quantity] % 3 |
| | Provádí logickou operaci AND na každém bitu operandů. Výsledek je pak hodnota 1, pokud alespoň jeden bit (nebo také oba dva) mají hodnotu 1, nebo je výsledek hodnota 0, pokud oba dva bity mají hodnotu 0. | [Flag1] | [Flag2] |
& | Provádí logickou operaci OR na každém bitu operandů. Hodnota bitu na dané pozici ve výsledku je 1, pokud jsou hodnoty bitů na téže pozici v obou vstupních bitových vzorech 1, jinak je hodnota bitu na dané pozici ve výsledku 0 | [Flag] & 10 |
^ | Provádí logickou operaci XOR na každém bitu operandů. Ve výsledku je bit nastaven pouze tehdy, je-li odpovídající bit nastaven v jednom, ale nikoli v obou operandech. | [Flag1] ^ [Flag2] |
== | Vrací TRUE jestliže jsou si operandy rovny, jinak vrací FALSE. | [Quantity] == 10 |
!= | Vrací FALSE jestliže jsou si operandy rovny, jinak vrací TRUE . | [Country] != 'France' |
< | Vrací TRUE v případě, že první operand je menší než druhý, jinak vrací FALSE . | [UnitPrice] < 20 |
<= | Vrací TRUE v případě, že první operand je menší nebo roven druhému operandu, jinak vrací FALSE . | [UnitPrice] <= 20 |
>= | Vrací TRUE v případě, že první operand je větší nebo roven druhému operandu, jinak vrací FALSE . | [UnitPrice] > 30 |
> | Vrací TRUE v případě, že první operand je větší než druhý, jinak vrací FALSE . | [UnitPrice] >= 30 |
In (,,,) | Testuje, zda je hodnota výrazu rovna některé z několika hodnot z určeného seznamu. | [Country] In ('USA', 'UK', 'Italy') |
Like | Porovnává řetězec se vzorkem. Vrací TRUE , pokud hodnota řetězce odpovídá vzorku. Vrací FALSE , pokud hodnota řetězce neodpovídá vzorku. Pokud jsou řetězce i vzorek prázdné řetězce, výsledek je TRUE . | [Name] Like 'An%' |
Between (,) | Specifikuje zda hodnota leží v určitém rozsahu. Vrací TRUE, pokud je hodnota větší nebo rovna hodnotě prvního operandu a zároveň menší nebo rovna hodnotě druhého operandu. | [Quantity] Between (10, 20) |
And | Provádí logický součin dvou výrazů. | [InStock] And ([ExtendedPrice]> 100) |
Or | Provádí logický součet dvou logických výrazů. | [Country]=='USA' Or [Country]=='UK' |
Not | Provádí negaci zadaného výrazu (invertuje bitové hodnoty). | Not [InStock] |
Funkce
Funkce časové
Funkce | Popis | Příklad |
|---|---|---|
AddDays(DateTime, DaysCount) | Přidá k hodnotě data/času určitý počet dní definovaný druhým parametrem. | AddDays([OrderDate], 30) |
AddHours(DateTime, HoursCount) | Přidá k hodnotě data/času určitý počet hodin definovaný druhým parametrem. | AddHours([StartTime], 2) |
AddMilliSeconds(DateTime, MilliSecondsCount) | Přidá k hodnotě data/času určitý počet milisekund definovaný druhým parametrem. | AddMilliSeconds(([StartTime], 5000)) |
AddMinutes(DateTime, MinutesCount) | Přidá k hodnotě data/času určitý počet minut definovaný druhým parametrem. | AddMinutes([StartTime], 30) |
AddMonths(DateTime, MonthsCount) | Přidá k hodnotě data/času určitý počet měsíců definovaný druhým parametrem. | AddMonths([OrderDate], 1) |
AddSeconds(DateTime, SecondsCount) | Přidá k hodnotě data/času určitý počet sekund definovaný druhým parametrem. | AddSeconds([StartTime], 60) |
AddTicks(DateTime, TicksCount) | Přidá k hodnotě data/času určitý počet tiků (1 tik = 100 nanosekund) definovaný druhým parametrem. | AddTicks([StartTime], 5000) |
AddTimeSpan(DateTime, TimeSpan) | Přidá k hodnotě data/času určitou dobu trvání definovanou druhým parametrem. | AddTimeSpan([StartTime], [Duration]) |
AddYears(DateTime, YearsCount) | Přidá k hodnotě data/času určitý počet let definovaný druhým parametrem. | AddYears([EndDate], -1) |
DateDiffDay(StartDate, EndDate) | Vrací počet dnů mezi dvěma časovými hodnotami. | DateDiffDay([Day Worked], [Date Update]) |
DateDiffHour(StartDate, EndDate) | Vrací počet hodin mezi dvěma časovými hodnotami. | DateDiffHour([Day Worked], [Date Update]) |
DateDiffMilliSecond(StartDate, EndDate) | Vrací počet milisekund mezi dvěma časovými hodnotami. | DateDiffMilliSecond([Day Worked], [Date Update]) |
DateDiffMinute(StartDate, EndDate) | Vrací počet minut mezi dvěma časovými hodnotami. | DateDiffMinute([Day Worked], [Date Update]) |
DateDiffMonth(StartDate, EndDate) | Vrací počet měsíců mezi dvěma časovými hodnotami. | DateDiffMonth([Day Worked], [Date Update]) |
DateDiffSecond(StartDate, EndDate) | Vrací počet sekund mezi dvěma časovými hodnotami. | DateDiffSecond([Day Worked], [Date Update]) |
DateDiffTick(StartDate, EndDate) | Vrací počet tisků mezi dvěma časovými hodnotami. | DateDiffTick([Day Worked], [Date Update]) |
DateDiffYear(StartDate, EndDate) | Vrací počet let mezi dvěma časovými hodnotami. | DateDiffYear([Day Worked], [Date Update]) |
GetDate(DateTime) | Vrací datum a čas z definované časové hodnoty. | GetDate([OrderDateTime]) |
GetDay(DateTime) | Vrací pořadí dne v měsíci (1-31) z definované časové hodnoty. | GetDay([OrderDate]) |
GetDayOfWeek(DateTime) | Vrací pořadí dne z týdne (1-7) z definované časové hodnoty. | GetDayOfWeek([OrderDate]) |
GetDayOfYear(DateTime) | Vrací pořadí dne z roku (1-365) z definované časové hodnoty. | GetDayOfYear([OrderDate]) |
GetHour(DateTime) | Vrací hodinu z definované časové hodnoty. | GetHour([StartTime]) |
GetMilliSecond(DateTime) | Vrací milisekundu z definované časové hodnoty. | GetMilliSecond([StartTime]) |
GetMinute(DateTime) | Vrací minutu z definované časové hodnoty. | GetMinute([StartTime]) |
GetMonth(DateTime) | Vrací pořadí měsíce z roku (1-12) z definované časové hodnoty. | GetMonth([StartTime]) |
GetSecond(DateTime) | Vrací sekundu z definované časové hodnoty. | GetSecond([StartTime]) |
GetTimeOfDay(DateTime) | Vrací počet tiků z definované časové hodnoty. | GetTimeOfDay([StartTime]) |
GetYear(DateTime) | Vrací rok z definované časové hodnoty. | GetYear([StartTime]) |
LocalDateTimeDayAfterTomorrow() | Vrací datum odpovídající dni pozítří. | AddDays(LocalDateTimeDayAfterTomorrow(), -7) |
LocalDateTimeLastWeek() | Vrací datum odpovídající prvnímu dni předchozího týdne. | AddDays(LocalDateTimeLastWeek(), -1) |
LocalDateTimeNextMonth() | Vrací datum odpovídající prvnímu dni následujícího měsíce. | AddMonths(LocalDateTimeNextMonth(), -12) |
LocalDateTimeNextWeek() | Vrací datum odpovídající prvnímu dni následujícího týdne. | AddDays(LocalDateTimeNextWeek(), 1) |
LocalDateTimeNextYear() | Vrací datum odpovídající prvnímu dni následujícího roku. | AddYears(LocalDateTimeNextYear(), -1) |
LocalDateTimeNow() | Vrací aktuální datum a čas. | AddHours(LocalDateTimeNow(), 12) |
LocalDateTimeThisMonth() | Vrací datum odpovídající prvnímu dni aktuálního měsíce. | AddDays(LocalDateTimeThisMonth(), -31) |
LocalDateTimeThisWeek() | Vrací datum odpovídající prvnímu dni aktuálního týdne. | AddMonths(LocalDateTimeThisWeek(), 12) |
LocalDateTimeThisYear() | Vrací datum odpovídající prvnímu dni aktuálního roku. | AddDays(LocalDateTimeThisYear(), 10) |
LocalDateTimeToday() | Vrací aktuální datum. | AddMonths(LocalDateTimeToday(), 1) |
LocalDateTimeTomorrow() | Vrací datum odpovídající následujícímu dni. | AddDays(LocalDateTimeTomorrow(), 7) |
LocalDateTimeTwoWeeksAway() | Vrací datum odpovídající prvnímu dni v týdnu po následujícím týdnu. | AddMonths(LocalDateTimeTwoWeeksAway(), 2) |
LocalDateTimeYesterday() | Vrací datum odpovídající předchozímu dni. | AddDays(LocalDateTimeYesterday(), 1) |
Now() | Vrací aktuální systémový datum a čas. | AddDays(Now(), 5) |
Today() | Vrací aktuální datum. | AddMonths(Today(), 1) |
UtcNow() | Vrací aktuální systémový datum a čas vyjádřený v UTC. | AddDays(UtcNow(), 7) |
Logické funkce
Funkce | Popis | Příklad |
|---|---|---|
Iif(Expression, TruePart, FalsePart) | Vrací hodnotu TRUE nebo FALSE v závislosti na hodnocení logického výrazu. | Iif([Quantity]>=10, 10, 0 ) |
IsNull(Value) | Vrací hodnotu TRUE v případě, že je hodnota výrazu prázdná, tzn. neobsahuje platná data. | IsNull([OrderDate]) |
IsNull(Value1, Value2) | Vrací Value1 za předpokladu, že hodnota není prázdná, jinak vrací Value2. | IsNull([ShipDate], [RequiredDate]) |
IsNullOrEmpty(String) | Vrací hodnotu TRUE v případě, že je textový řetězec prázdný, jinak vrací FALSE. | IsNullOrEmpty([ProductName]) |
IsOutlookIntervalBeyondThisYear(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: (DateTime) >= první den následujícího roku. | IsOutlookIntervalBeyondThisYear([OrderDate]) |
IsOutlookIntervalEarlierThisMonth(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den aktuálního měsíce <= (DateTime) < první den předchozího týdne. | IsOutlookIntervalEarlierThisMonth([OrderDate]) |
IsOutlookIntervalEarlierThisWeek(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den aktuálního týdne <= (DateTime) < včerejší datum. | IsOutlookIntervalEarlierThisWeek([OrderDate]) |
IsOutlookIntervalEarlierThisYear(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den aktuálního roku <= (DateTime) < první den aktuálního měsíce. | IsOutlookIntervalEarlierThisYear([OrderDate]) |
IsOutlookIntervalLastWeek(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den předchozího týdne <= (DateTime) < první den aktuálního týdne. | IsOutlookIntervalLastWeek([OrderDate]) |
IsOutlookIntervalLaterThisMonth(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: poslední den následujícího týdne < (DateTime) < první den následujícího měsíce. | IsOutlookIntervalLaterThisMonth([OrderDate]) |
IsOutlookIntervalLaterThisWeek(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: pozítří <= (DateTime) < první den následujícího týdne. | IsOutlookIntervalLaterThisWeek([OrderDate]) |
IsOutlookIntervalLaterThisYear(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den následujícího měsíce <= (DateTime) < první den následujícího roku. | IsOutlookIntervalLaterThisYear([OrderDate]) |
IsOutlookIntervalNextWeek(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: první den následujícího týdne <= (DateTime) <= poslední den následujícího týdne. | IsOutlookIntervalNextWeek([OrderDate]) |
IsOutlookIntervalPriorThisYear(DateTime) | Vrací hodnotu TRUE v případě, že platí tato definice: (DateTime) < první den aktuálního roku | IsOutlookIntervalPriorThisYear([OrderDate]) |
IsOutlookIntervalToday(DateTime) | Vrací hodnotu TRUE v případě, že se definovaná časová hodnota rovná datu aktuálního dne. | IsOutlookIntervalToday([OrderDate]) |
IsOutlookIntervalTomorrow(DateTime) | Vrací hodnotu TRUE v případě, že se definovaná časová hodnota rovná datu následujícího dne. | IsOutlookIntervalTomorrow([OrderDate]) |
IsOutlookIntervalYesterday(DateTime) | Vrací hodnotu TRUE v případě, že se definovaná časová hodnota rovná včerejšímu datum. | IsOutlookIntervalYesterday([OrderDate]) |
IsThisMonth(DateTime) | Vrací hodnotu TRUE v případě, že definovaná časová hodnota spadá do intervalu aktuálního měsíce. | IsThisMonth([OrderDate]) |
IsThisWeek(DateTime) | Vrací hodnotu TRUE v případě, že definovaná časová hodnota spadá do intervalu aktuálního týdne. | IsThisWeek([OrderDate]) |
IsThisYear(DateTime) |