[CronHumanReadable:]
Converts a CRON expression to human-readable text.
Macro Compatibility
The macro can be used in all input document types and in Report Studio.
Parameter | Type | Presence | Purpose | Options | Default |
---|---|---|---|---|---|
String | Mandatory | The string value. | N/A | N/A | |
String | Optional | Post processing formula. Use {value} for the macro output, e.g. {value}/1024. | N/A | N/A | |
Boolean | Optional | Whether to color table cells if thresholds are breached, rather than color the text. |
|
true | |
String | Optional | Add a comment to make your document template more readable. The comment is discarded in the output document. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'critical' if the output is after this DateTime UTC. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'critical' if the output is before this DateTime UTC. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the output is equal to this value. | N/A | N/A | |
Color | Optional | The critical font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The critical font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the critical font size in points. If omitted, no change is made. |
|
N/A | |
String | Optional | The macro is considered 'critical' if the output is greater than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the output is greater than this value. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the output is less than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the output is less than this value. | N/A | N/A | |
String | Optional | The macro is considered 'critical' if the output is not equal to this value. | N/A | N/A | |
Color | Optional | The critical table cell background color to use. |
|
N/A | |
Char | Optional | When using selectDistinct or find/replaceWith or regexFind/regexReplaceWith, this specifies the delimiter character. | N/A | ; | |
DateTimeOffset | Optional | The macro is considered 'error' if the output is after this DateTime UTC. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'error' if the output is before this DateTime UTC. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the output is equal to this value. | N/A | N/A | |
Color | Optional | The error font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the error font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The error font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the error font size in points. If omitted, no change is made. |
|
N/A | |
String | Optional | The macro is considered 'error' if the output is greater than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the output is greater than this value. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the output is less than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the output is less than this value. | N/A | N/A | |
String | Optional | The macro is considered 'error' if the output is not equal to this value. | N/A | N/A | |
Boolean | Optional | Whether to generate a macro parameter error when the CRON is invalid. When set to false (and the specified CRON cannot be parsed), the error text will be output in the document and there will be no macro error. |
|
true | |
Boolean | Optional | Should NCalc expression evaluation throw error on Overflow |
|
true | |
Color | Optional | The error table cell background color to use. |
|
N/A | |
String | Optional | The text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'fatal' if the output is after this DateTime UTC. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'fatal' if the output is before this DateTime UTC. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the output is equal to this value. | N/A | N/A | |
Color | Optional | The fatal font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the fatal font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The fatal font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the fatal font size in points. If omitted, no change is made. |
|
N/A | |
String | Optional | The macro is considered 'fatal' if the output is greater than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the output is greater than this value. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the output is less than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the output is less than this value. | N/A | N/A | |
String | Optional | The macro is considered 'fatal' if the output is not equal to this value. | N/A | N/A | |
Color | Optional | The fatal table cell background color to use. |
|
N/A | |
List<String> | Optional | The string value(s) to find in the value. | N/A | N/A | |
Color | Optional | The font background color to use. |
|
N/A | |
Boolean | Optional | Change the font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The font color to use. |
|
N/A | |
Double | Optional | Change the font size in points. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Whether to hide the macro output. |
|
false | |
String | Optional | The condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z'). | N/A | true | |
DateTimeOffset | Optional | The macro is considered 'info' if the output is after this DateTime UTC. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'info' if the output is before this DateTime UTC. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the output is equal to this value. | N/A | N/A | |
Color | Optional | The info font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the info font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The info font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the info font size in points. If omitted, no change is made. |
|
N/A | |
String | Optional | The macro is considered 'info' if the output is greater than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the output is greater than this value. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the output is less than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the output is less than this value. | N/A | N/A | |
String | Optional | The macro is considered 'info' if the output is not equal to this value. | N/A | N/A | |
Color | Optional | The info table cell background color to use. |
|
N/A | |
MacroMode | Optional | The mode in which variables are stored. In the legacy mode (default for Schedules), the variable created is a string and formatted. In the normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a List |
|
Legacy | |
Color | Optional | The normal font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the normal font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The normal font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the normal font size in points. If omitted, no change is made. |
|
N/A | |
Color | Optional | The normal table cell background color to use. If omitted, no change is made. |
|
N/A | |
ObfuscationType | Optional | Obfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen. |
|
None | |
Boolean | Optional | Whether substituted variables are hidden from macro results (and the word 'REDACTED' will appear in progress screens and elsewhere in the web UI). |
|
false | |
List<String> | Optional | The Regex pattern(s) to find in the value. | N/A | N/A | |
List<String> | Optional | The Regex string value(s) to use to replace the string specified in the regexFind parameter. Ignored if the regexFind parameter is not specified. Mandatory if the regexFind parameter is specified and the number of replacements must match the number of regexFinds. | N/A | N/A | |
List<String> | Optional | The string value(s) to use to replace the string specified in the find parameter. Ignored if the find parameter is not specified. Mandatory if the find parameter is specified and the number of replacements must match the number of finds. | N/A | N/A | |
String | Optional | The variable to store the result as. | N/A | N/A | |
String | Optional | The variable to store the result as, while hiding the output. Equivalent to 'storeAs=ThisValue, hidden=true'. | N/A | N/A | |
String | Optional | The name of the STRING variable to store the result as and output (both will use the same format) into the report. Note that if you also use 'storeAsHidden' in the same macro, you should not expect the output to be hidden, as this parameter overrides that. | N/A | N/A | |
Boolean | Optional | Whether to use 24-hour time format, e.g. '00:00' instead of '12:00 AM'. |
|
true | |
Boolean | Optional | Whether to use verbose output, e.g. 'At 12:00 every day' (verbose) instead of 'At 12:00' (non-verbose). |
|
true | |
String | Optional | If specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'warning' if the output is after this DateTime UTC. | N/A | N/A | |
DateTimeOffset | Optional | The macro is considered 'warning' if the output is before this DateTime UTC. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the output is equal to this value. | N/A | N/A | |
Color | Optional | The warning font background color to use. If omitted, no change is made. |
|
N/A | |
Boolean | Optional | Change the warning font weight (true=strong, false=normal). If omitted, no change is made. |
|
N/A | |
Color | Optional | The warning font color to use. If omitted, no change is made. |
|
N/A | |
Double | Optional | Change the warning font size in points. If omitted, no change is made. |
|
N/A | |
String | Optional | The macro is considered 'warning' if the output is greater than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the output is greater than this value. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the expression evaluates to true. Use 'value' as the macro output in the expression. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the output is less than or equal to this value. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the output is less than this value. | N/A | N/A | |
String | Optional | The macro is considered 'warning' if the output is not equal to this value. | N/A | N/A | |
Color | Optional | The warning table cell background color to use. |
|
N/A |
Examples (18)
Example 1:
[CronHumanReadable: value="0 0 * * *", storeAs=A]
Outputs:
At 00:00, every dayExample 2:
[CronHumanReadable: value="0 0 * * *", verbose=false, storeAs=B]
Outputs:
At 00:00Example 3:
[CronHumanReadable: value="0 0 * * *", use24HourTimeFormat=false, verbose=false, storeAs=C]
Outputs:
At 12:00 AMExample 4:
[CronHumanReadable: value="0 0 * * *", use24HourTimeFormat=false, storeAs=D]
Outputs:
At 12:00 AM, every dayExample 5:
[CronHumanReadable: value="0 0 * * 1", storeAs=E]
Outputs:
At 00:00, only on MondayExample 6:
[CronHumanReadable: value="0 0 * * 1,2,3,4,5", storeAs=F]
Outputs:
At 00:00, only on Monday, Tuesday, Wednesday, Thursday, and FridayExample 7:
[CronHumanReadable: value="0 0 * * 1-5", storeAs=G]
Outputs:
At 00:00, Monday through FridayExample 8:
[CronHumanReadable: value="0 13 * * 6-7", storeAs=H]
Outputs:
At 13:00, Saturday through SundayExample 9:
[CronHumanReadable: value="1 15 1 1 *", storeAs=J]
Outputs:
At 15:01, on day 1 of the month, only in JanuaryExample 10:
This example has an invalid CRON, and normally causes a macro error (with the reason), but in this case we use 'errorOnInvalidCron=false', and so the macro succeeds and outputs the error message into the document and the variable 'K':
[CronHumanReadable: value="xxx", storeAs=K, errorOnInvalidCron=false]
Outputs:
Error: Expression only has 1 parts. At least 5 part are required.Example 11:
This example uses the 'find' and 'replaceWith' parameters to change the input CRON's meaning FROM midnight only on a Monday, TO midnight only on a Friday:
[CronHumanReadable: value="0 0 * * 1", find=1, replaceWith=5, storeAs=L]
Outputs:
At 00:00, only on FridayExample 12:
This example uses the 'find' and 'replaceWith' parameters to change the input CRON's meaning FROM midnight only on Monday through Friday, TO midnight only on Monday through Wednesday and Saturday through Sunday. It also uses the 'delimiter' to indicate the separator character which delimits each item specified by the 'find' and 'replaceWith' parameters (i.e. multiple items separated by a % sign). Omit this parameter to use the default semi-colon:
[CronHumanReadable: value="0 0 * * 1,2,3,4,5", find=4%5, replaceWith=6%7, delimiter=%, storeAs=M]
Outputs:
At 00:00, only on Monday, Tuesday, Wednesday, Saturday, and SundayExample 13:
This example uses the 'find' and 'replaceWith' parameters to change the input CRON's meaning FROM midday only on a Monday, Tuesday, and Sunday TO 2pm only on a Monday, Tuesday, and Sunday:
[CronHumanReadable: value="0 0 12 ? * MON,TUE,SUN *", find=12, replaceWith=14, storeAs=N]
Outputs:
At 14:00, only on Monday, Tuesday, and SundayExample 14:
This example uses the 'find' and 'replaceWith' parameters to change the input CRON's meaning FROM 3am only on Monday through Friday, TO 3am only on Monday through Sunday:
[CronHumanReadable: value="0 0 3 ? * MON-FRI *", find=FRI, replaceWith=SUN, storeAs=O]
Outputs:
At 03:00, Monday through SundayExample 15:
This example uses the 'find' and 'replaceWith' parameters to change the input CRON's meaning FROM midday only on a Monday, Tuesday and Sunday, TO midday only on Friday through Sunday. It also uses the 'delimiter' parameter to indicate the separator character which delimits each item specified by the 'find' and 'replaceWith' parameters (i.e. multiple items separated by a % sign). Omit this parameter to use the default semi-colon:
[CronHumanReadable: value="0 0 12 ? * MON,TUE,SUN *", find=MON%TUE, replaceWith=FRI%SAT, delimiter=%, storeAs=P]
Outputs:
At 12:00, only on Friday, Saturday, and SundayExample 16:
This example uses the 'regexFind' and 'regexReplaceWith' parameters to change the input CRON's meaning FROM midnight only on a Monday, TO midnight only on a Tuesday. Note the use of back-ticks in the '{Parameters.RegexFind}' parameter which is used to ensure that square brackets in the regex expression do not affect macro parsing:
[CronHumanReadable: value="0 0 * * 1", regexFind=`([1])`, regexReplaceWith=2, storeAs=Q]
Outputs:
At 00:00, only on TuesdayExample 17:
This example uses the 'regexFind' and 'regexReplaceWith' parameters to change the input CRON's meaning FROM midnight only on Monday through Friday, TO midnight only on Monday through Wednesday and Saturday through Sunday. It also uses the 'delimiter' parameter to indicate the separator character which delimits each item specified by the 'find' and 'replaceWith' parameters (i.e. multiple items separated by a % sign). Omit this parameter to use the default semi-colon. Note the use of back-ticks in the 'regexFind' parameter which is used to ensure that square brackets in the regex expression do not affect macro parsing:
[CronHumanReadable: value="0 0 * * 1,2,3,4,5", regexFind=`([4])%([5])`, regexReplaceWith=6%7, delimiter=%, storeAs=R]
Outputs:
At 00:00, only on Monday, Tuesday, Wednesday, Saturday, and SundayExample 18:
This example uses the 'regexFind' and 'regexReplaceWith' parameters to change the input CRON's meaning FROM 3am only on Monday through Friday, TO 3am only on Monday through Sunday. Note the use of back-ticks in the 'regexFind' parameter which is used to ensure that square brackets in the regex expression do not affect macro parsing:
[CronHumanReadable: value="0 0 3 ? * MON-FRI *", regexFind=`([FRI])`, regexReplaceWith=SUN, storeAs=S]
Outputs:
At 03:00, Monday through Sunday