[LogicMonitor.SummaryValueList:]UPDATED

Produces a list of summary values for instances.


Compatibility

The macro can be used in all input document types and in Report Studio.


Usage

In Normal mode, the output variable is a JArray.


Updates

v4.615 days ago · September 2026

A list can now be passed to deviceIds, as well as semicolon-separated text, for example deviceIds={=DeviceIds}.

History (2)
v4.615 days ago · September 2026

Added 'excludeDeletedResources', which leaves out any device that no longer exists in LogicMonitor instead of failing, and 'deletedResourceIdsVariable', which stores the IDs of the devices left out.

3 years ago · January 2023

Added the 'outputDateTimes' parameter which lists date ranges were the condition matched (PercentConditionMet only).


Parameters (114)
Mandatory (2)
Parameter TypePurpose Options Default
aggregations
List<String>Various macros can use aggregations to summarise the data, such as counting a list of values, averaging them, and so on. This can be useful in your reports as it enables you to easily obtain daily, weekly, or monthly values to use in your charts and tables. For more information about using aggregations, see: using aggregations in the help. NOTE: when using PercentUpTime, the dataSourceInstanceName must be set to 'SNMP_Host_Uptime', and the dataPoint set to 'Uptime', or the macro will fail.
  • All
  • Count
  • CountConditionMet
  • Delta
  • DeltaPercent
  • First
  • Last
  • Max
  • MaxDateTime
  • Mean
  • Min
  • MinDateTime
  • PercentConditionMet
  • Percentile
  • PercentUpTime
  • PercentUpTimeAdvanced
  • Sum
N/A
dataPointSpecs
List<String>A list of DataPoint specs, each consisting unique DataSource name/id, Graph name/id and DataPoint name/id in the format DataSourceName/Id^GraphName/GraphId^DataPointName/DataPointId. Note that using Ids is faster. Use a graph ID of -1 to access raw data. e.g.: DataSource1^-1^DataPoint1;DataSource2^GraphName2^DataPoint2. N/A N/A
Behaviour (2)12 additional
Parameter TypePresencePurpose Options Default
maxAttempts
Int32OptionalThe maximum number of attempts when requesting data via the LogicMonitor API.
  • From 1 to 2147483647
N/A
waitDuringUpgrades
BooleanOptionalWhether to wait during LogicMonitor upgrades (i.e. execution essentially pauses).
  • true
  • false
N/A
Additional (12)
Parameter TypePresencePurpose Options Default
auto
BooleanOptionalIf 'true', the reporting period will be the last calendar month and neither startDate nor endDate parameters may be used.
  • true
  • false
false
calculate
StringOptionalPost processing formula. Use {value} to substitute the macro's output into the formula as text, e.g. {value}/1024, or the bare word value to use the output itself, e.g. jPath(value, 'id') to read a property from an object. If the result is fractional it is shown to two decimal places unless you also set format, e.g. format=G to show it in full; a value kept by storeAs always retains its full precision. N/A N/A
desiredExecutionResult
List<ExecutionResult>OptionalIf specified, asserts the expected execution result of the macro. Accepts a single value or a semicolon-separated list of acceptable values (e.g. 'Success;Warning'). The macro executes normally; if the actual result matches any of the desired values, the result is converted to Success. If the actual result does not match, the result is converted to MacroError with a descriptive message. This is primarily used for testing and diagnostic purposes. Valid values are: 'Unknown', 'Success', 'MacroError', 'WorkerStopped', 'Running', 'Warning', 'NeverRun', 'Cancelled', 'Pending', 'Paused', 'SystemError', 'Deferred' and 'Stopped'.
  • Cancelled
  • Deferred
  • MacroError
  • NeverRun
  • Paused
  • Pending
  • Running
  • Stopped
  • Success
  • SystemError
  • Warning
  • WorkerStopped
N/A
errorOnOverflow
BooleanOptionalShould NCalc expression evaluation throw error on Overflow
  • true
  • false
true
expectedType
StringOptionalIf specified, asserts the expected output type of the macro result. The macro executes normally; if the actual type does not match, a macro error is generated. Requires 'storeAs', 'storeAsHidden', or 'storeFormattedValueAs' to be set for typed validation. Valid types include CLR names (e.g. Int32, Int64, Single, Double, Boolean, String, JArray, JObject) and C# keyword aliases (e.g. int, long, float, double, bool, string, uint, ulong, short, ushort, byte, sbyte, decimal, char, object). The special value 'Number' matches any numeric type. N/A N/A
expectedValue
StringOptionalIf specified, asserts the expected output value of the macro result. The macro executes normally; if the actual value does not match, a macro error is generated. When 'storeAs' or 'storeAsHidden' is set, the stored variable value is compared. Otherwise, the document output text is compared. N/A N/A
hidden
BooleanOptionalWhether to hide the macro output.
  • true
  • false
false
if
StringOptionalThe 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
mode
MacroModeOptionalThe mode in which variables are stored. In legacy mode (default for Schedules), the variable created is a string and formatted. In normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a JArray etc., rather than a formatted string.
  • Legacy
  • Normal
Legacy
obfuscation
ObfuscationTypeOptionalObfuscation 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
  • UkTown
  • DeviceName
  • Company
  • IpAddress
  • PrivateIpAddress
None
redact
BooleanOptionalWhether substituted variables are hidden from macro results (and the word 'REDACTED' will appear in progress screens and elsewhere in the web UI).
  • true
  • false
false
warning
StringOptionalIf 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
Colours (21)
Parameter TypePresencePurpose Options Default
colorTableCell
BooleanOptionalWhether to color table cells if thresholds are breached, rather than color the text.
  • true
  • false
true
criticalFontBackgroundColor
ColorOptionalThe critical font background color to use. If omitted, no change is made. N/A
criticalFontColor
ColorOptionalThe critical font color to use. If omitted, no change is made. N/A
criticalTableCellBackgroundColor
ColorOptionalThe critical table cell background color to use. If omitted, no change is made. N/A
errorFontBackgroundColor
ColorOptionalThe error font background color to use. If omitted, no change is made. N/A
errorFontColor
ColorOptionalThe error font color to use. If omitted, no change is made. N/A
errorTableCellBackgroundColor
ColorOptionalThe error table cell background color to use. If omitted, no change is made. N/A
fatalFontBackgroundColor
ColorOptionalThe fatal font background color to use. If omitted, no change is made. N/A
fatalFontColor
ColorOptionalThe fatal font color to use. If omitted, no change is made. N/A
fatalTableCellBackgroundColor
ColorOptionalThe fatal table cell background color to use. If omitted, no change is made. N/A
fontBackgroundColor
ColorOptionalThe font background color to use. N/A
fontColor
ColorOptionalThe font color to use. N/A
infoFontBackgroundColor
ColorOptionalThe info font background color to use. If omitted, no change is made. N/A
infoFontColor
ColorOptionalThe info font color to use. If omitted, no change is made. N/A
infoTableCellBackgroundColor
ColorOptionalThe info table cell background color to use. If omitted, no change is made. N/A
normalFontBackgroundColor
ColorOptionalThe normal font background color to use. If omitted, no change is made. N/A
normalFontColor
ColorOptionalThe normal font color to use. If omitted, no change is made. N/A
normalTableCellBackgroundColor
ColorOptionalThe normal table cell background color to use. If omitted, no change is made. N/A
warningFontBackgroundColor
ColorOptionalThe warning font background color to use. If omitted, no change is made. N/A
warningFontColor
ColorOptionalThe warning font color to use. If omitted, no change is made. N/A
warningTableCellBackgroundColor
ColorOptionalThe warning table cell background color to use. If omitted, no change is made. N/A
Formatting (15)
Parameter TypePresencePurpose Options Default
criticalFontBold
BooleanOptionalChange the critical font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
criticalFontSize
DoubleOptionalChange the critical font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
errorFontBold
BooleanOptionalChange the error font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
errorFontSize
DoubleOptionalChange the error font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
fatalFontBold
BooleanOptionalChange the fatal font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
fatalFontSize
DoubleOptionalChange the fatal font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
fontBold
BooleanOptionalChange the font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
fontSize
DoubleOptionalChange the font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
format
StringOptionalThe format to apply to each output value. N/A F2
infoFontBold
BooleanOptionalChange the info font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
infoFontSize
DoubleOptionalChange the info font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
normalFontBold
BooleanOptionalChange the normal font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
normalFontSize
DoubleOptionalChange the normal font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
warningFontBold
BooleanOptionalChange the warning font weight (true=strong, false=normal). If omitted, no change is made.
  • true
  • false
N/A
warningFontSize
DoubleOptionalChange the warning font size in points. If omitted, no change is made.
  • From 2 to 200
N/A
Conditional Formatting (35)
Parameter TypePresencePurpose Options Default
criticalEq
StringOptionalThe macro is considered 'critical' if the output is equal to this value. N/A N/A
criticalGe
StringOptionalThe macro is considered 'critical' if the output is greater than or equal to this value. N/A N/A
criticalGt
StringOptionalThe macro is considered 'critical' if the output is greater than this value. N/A N/A
criticalIf
StringOptionalThe macro is considered 'critical' if the expression evaluates to true. Use 'value' as the macro output in the expression. N/A N/A
criticalLe
StringOptionalThe macro is considered 'critical' if the output is less than or equal to this value. N/A N/A
criticalLt
StringOptionalThe macro is considered 'critical' if the output is less than this value. N/A N/A
criticalNe
StringOptionalThe macro is considered 'critical' if the output is not equal to this value. N/A N/A
errorEq
StringOptionalThe macro is considered 'error' if the output is equal to this value. N/A N/A
errorGe
StringOptionalThe macro is considered 'error' if the output is greater than or equal to this value. N/A N/A
errorGt
StringOptionalThe macro is considered 'error' if the output is greater than this value. N/A N/A
errorIf
StringOptionalThe macro is considered 'error' if the expression evaluates to true. Use 'value' as the macro output in the expression. N/A N/A
errorLe
StringOptionalThe macro is considered 'error' if the output is less than or equal to this value. N/A N/A
errorLt
StringOptionalThe macro is considered 'error' if the output is less than this value. N/A N/A
errorNe
StringOptionalThe macro is considered 'error' if the output is not equal to this value. N/A N/A
fatalEq
StringOptionalThe macro is considered 'fatal' if the output is equal to this value. N/A N/A
fatalGe
StringOptionalThe macro is considered 'fatal' if the output is greater than or equal to this value. N/A N/A
fatalGt
StringOptionalThe macro is considered 'fatal' if the output is greater than this value. N/A N/A
fatalIf
StringOptionalThe macro is considered 'fatal' if the expression evaluates to true. Use 'value' as the macro output in the expression. N/A N/A
fatalLe
StringOptionalThe macro is considered 'fatal' if the output is less than or equal to this value. N/A N/A
fatalLt
StringOptionalThe macro is considered 'fatal' if the output is less than this value. N/A N/A
fatalNe
StringOptionalThe macro is considered 'fatal' if the output is not equal to this value. N/A N/A
infoEq
StringOptionalThe macro is considered 'info' if the output is equal to this value. N/A N/A
infoGe
StringOptionalThe macro is considered 'info' if the output is greater than or equal to this value. N/A N/A
infoGt
StringOptionalThe macro is considered 'info' if the output is greater than this value. N/A N/A
infoIf
StringOptionalThe macro is considered 'info' if the expression evaluates to true. Use 'value' as the macro output in the expression. N/A N/A
infoLe
StringOptionalThe macro is considered 'info' if the output is less than or equal to this value. N/A N/A
infoLt
StringOptionalThe macro is considered 'info' if the output is less than this value. N/A N/A
infoNe
StringOptionalThe macro is considered 'info' if the output is not equal to this value. N/A N/A
warningEq
StringOptionalThe macro is considered 'warning' if the output is equal to this value. N/A N/A
warningGe
StringOptionalThe macro is considered 'warning' if the output is greater than or equal to this value. N/A N/A
warningGt
StringOptionalThe macro is considered 'warning' if the output is greater than this value. N/A N/A
warningIf
StringOptionalThe macro is considered 'warning' if the expression evaluates to true. Use 'value' as the macro output in the expression. N/A N/A
warningLe
StringOptionalThe macro is considered 'warning' if the output is less than or equal to this value. N/A N/A
warningLt
StringOptionalThe macro is considered 'warning' if the output is less than this value. N/A N/A
warningNe
StringOptionalThe macro is considered 'warning' if the output is not equal to this value. N/A N/A
Time & Date (3)
Parameter TypePresencePurpose Options Default
endDate
DateTimeOffsetOptionalThe end date in the format YYYY-MM-DD. N/A Midnight on the first day of this month
monthsToReport
Int32OptionalIf set, sets 'endDate' to the 'start' plus the specified number of months. N/A N/A
startDate
DateTimeOffsetOptionalThe start date in the format YYYY-MM-DD. N/A Midnight on the first day of last month
Filtering & Sorting (6)
Parameter TypePresencePurpose Options Default
matchAppliesToQuery
StringConditionalThe applies to function that the included devices match. Provide either this or 'deviceIds'. N/A N/A
excludeDeletedResources
BooleanOptionalWhether to leave out any device that no longer exists in LogicMonitor, rather than failing. Every other device is still evaluated, and each device left out is named in a warning, not in the report. If none of the devices exists, the macro still fails. Instances that exist but have no data are left out by 'excludeNoDataInstances' instead.
  • true
  • false
false
excludeNoDataInstances
BooleanOptionalWhether to exclude instances that have no data for the entire reporting period.
  • true
  • false
true
excludeSdt
BooleanOptionalWhether to exclude periods of SDT from the macro results. Only works for Devices (not Websites, etc.).
  • true
  • false
false
skip
Int32OptionalThe number of items to skip. N/A 0
take
Int32OptionalThe number of items to take. N/A 2147483647
Output (3)7 additional
Parameter TypePresencePurpose Options Default
deletedResourceIdsVariable
StringOptionalThe name of a variable to receive the IDs of the devices left out by 'excludeDeletedResources', as a list, which is empty when none were. N/A N/A
delimiter
CharOptionalThe delimiter to use between multiple items in the output. N/A ;
outputDateTimes
BooleanOptionalRelevant only for the PercentConditionMet aggregation. In Legacy mode, this outputs the date time ranges that the condition, rather than the aggregation values, and in Normal mode these are added onto the 'Aggregations' object as a jArray (of strings) in the 'PercentConditionMetDateRanges' property.
  • true
  • false
false
Additional (7)
Parameter TypePresencePurpose Options Default
failureText
StringOptionalThe 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
failureVariable
StringOptionalThe name of a variable to create should the macro fail to execute. The variable will be a text variable, and will contain either the failure text (only if the failureText parameter is set), otherwise it will contain the exception / failure message. N/A N/A
outputListsAsJarray
Normal mode
BooleanOptionalAny macros that output lists can optionally (in Normal mode) output a jArray instead.
  • true
  • false
true
storeAs
StringOptionalThe variable to store the result as. If the variable name ends 'Json' (any casing) its value is wrapped in json tags. That marks the value as JSON so it can be passed straight into a parameter that expects json content, and the RMScript editor also displays it with JSON highlighting. When several variables are stored at once each one is judged by its own name. N/A N/A
storeAsHidden
StringOptionalThe variable to store the result as, while hiding the output. Equivalent to 'storeAs=ThisValue, hidden=true'. N/A N/A
storeAsVariableDelimiter
CharOptionalThe delimiter used by storeAs to split a TEXT value, when there are multiple stored variables. For example, in this macro, we indicate that the value to be stored should be split by the asterisk when being stored: [String:value=a*b*c*d, storeAs=var1;var2;var3;var4, storeAsVariableDelimiter=*]. If splitting on this delimiter does not produce one value per variable, the '^' character is tried instead; that applies whatever this parameter is set to, and is what allows a single variable to hold a value containing a ';'. Note this delimiter is only used for a TEXT value. A list or a JSON array is instead shared out one element per variable, and a JSON object by its property values in order, so storing jObject('a',1,'b',2) as two variables gives 1 and 2. Any other type cannot be split across several variables at all. N/A ;
storeFormattedValueAs
StringOptionalThe 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. As with 'storeAs', a name ending 'Json' has its value wrapped in json tags. N/A N/A
General (5)2 additional
Parameter TypePresencePurpose Options Default
aggregations
List<String>MandatoryVarious macros can use aggregations to summarise the data, such as counting a list of values, averaging them, and so on. This can be useful in your reports as it enables you to easily obtain daily, weekly, or monthly values to use in your charts and tables. For more information about using aggregations, see: using aggregations in the help. NOTE: when using PercentUpTime, the dataSourceInstanceName must be set to 'SNMP_Host_Uptime', and the dataPoint set to 'Uptime', or the macro will fail.
  • All
  • Count
  • CountConditionMet
  • Delta
  • DeltaPercent
  • First
  • Last
  • Max
  • MaxDateTime
  • Mean
  • Min
  • MinDateTime
  • PercentConditionMet
  • Percentile
  • PercentUpTime
  • PercentUpTimeAdvanced
  • Sum
N/A
dataPointSpecs
List<String>MandatoryA list of DataPoint specs, each consisting unique DataSource name/id, Graph name/id and DataPoint name/id in the format DataSourceName/Id^GraphName/GraphId^DataPointName/DataPointId. Note that using Ids is faster. Use a graph ID of -1 to access raw data. e.g.: DataSource1^-1^DataPoint1;DataSource2^GraphName2^DataPoint2. N/A N/A
deviceIds
List<Int32>ConditionalThe list of device IDs, e.g. 1234;5678. A list can also be passed, e.g. deviceIds={=DeviceIds}. Provide either this or 'matchAppliesToQuery'. N/A N/A
connectionName
StringOptionalThe name of the LogicMonitor Connection. N/A N/A
precision
PrecisionTypeOptionalThe data precision. Use 'High' to fetch data in 8-hour chunks, which fetches many more data points. Note: this option may be very slow, so use with caution.
  • Normal
  • High
Normal
Additional (2)
Parameter TypePresencePurpose Options Default
comment
StringOptionalAdd a comment to make your document template more readable. The comment is discarded in the output document. N/A N/A
singleValueList
Normal mode
BooleanOptionalIn Normal Mode and for macros that output JArrays only, whether to convert a JArray of single-property jObjects into a flat JArray of values.
  • true
  • false
false
Deprecated (3)
Parameter TypePreferred ParameterPurpose Options Default
aggregation
List<String>aggregationsVarious macros can use aggregations to summarise the data, such as counting a list of values, averaging them, and so on. This can be useful in your reports as it enables you to easily obtain daily, weekly, or monthly values to use in your charts and tables. For more information about using aggregations, see: using aggregations in the help. NOTE: when using PercentUpTime, the dataSourceInstanceName must be set to 'SNMP_Host_Uptime', and the dataPoint set to 'Uptime', or the macro will fail.
  • All
  • Count
  • CountConditionMet
  • Delta
  • DeltaPercent
  • First
  • Last
  • Max
  • MaxDateTime
  • Mean
  • Min
  • MinDateTime
  • PercentConditionMet
  • Percentile
  • PercentUpTime
  • PercentUpTimeAdvanced
  • Sum
N/A
dataPointSpec
List<String>dataPointSpecsA list of DataPoint specs, each consisting unique DataSource name/id, Graph name/id and DataPoint name/id in the format DataSourceName/Id^GraphName/GraphId^DataPointName/DataPointId. Note that using Ids is faster. Use a graph ID of -1 to access raw data. e.g.: DataSource1^-1^DataPoint1;DataSource2^GraphName2^DataPoint2. N/A N/A
deviceId
List<Int32>deviceIdsThe list of device IDs, e.g. 1234;5678. A list can also be passed, e.g. deviceIds={=DeviceIds}. Provide either this or 'matchAppliesToQuery'. N/A N/A

Examples (4)

Example 1
[LogicMonitor.SummaryValueList: matchAppliesToQuery=`isWindows() && displayName != "dev.panoramicdata.com"`, dataPointSpecs=WinCPU^-1^CPUBusyPercent, aggregations=Max]

Example 2

This example outputs 2 aggregations:

[LogicMonitor.SummaryValueList: matchAppliesToQuery=`isWindows() && displayName != "dev.panoramicdata.com"`, dataPointSpecs=WinCPU^-1^CPUBusyPercent, aggregations=Max;PercentConditionMet(value>10)]

Example 3

This example outputs 2 PercentConditionMet aggregations. It's similar to the previous example, however because we are using 2 aggregations with the same name (but different value conditions), we can name the properties differently (Normal mode output) by using the 'as XYZ' notation in the 'aggregations' parameter to avoid JObject/JArray errors:

[LogicMonitor.SummaryValueList: matchAppliesToQuery=`isWindows() && displayName != "dev.panoramicdata.com"`, dataPointSpecs=WinCPU^-1^CPUBusyPercent, aggregations=PercentConditionMet(value>5) as PercentConditionMet5;PercentConditionMet(value>15) as PercentConditionMet15]

Example 4

This example leaves out any device that no longer exists in LogicMonitor, rather than failing, and stores the IDs of the devices left out in the DeletedIds variable:

[LogicMonitor.SummaryValueList: deviceIds=1234;5678, dataPointSpecs=WinCPU^-1^CPUBusyPercent, aggregations=Max, excludeDeletedResources=true, deletedResourceIdsVariable=DeletedIds]

Reconnection

Reconnection

Reconnection

timed out

timed out

Attempt of

Reload
An unhandled error has occurred. Reload 🗙