Report Rule Expression
General Expression
Check Count of Objects
The Count() function or, Count keyword is used to determine the number of elements within an object or collection. It's utilized without any parameters to count all elements or with specific conditions to count elements that meet certain criteria.
Example
To verify if the count of visuals in a collection named
Visualsis greater than 3:
Visuals.Count() > 3To check if visuals with a specific filter type exceed 4:
Visuals.Count(Filters.Any(FilterType == "TopN")) > 4Check Bool Values
This expression compares a property or variable to a Boolean value (true or false) to evaluate a condition.
Example
To evaluate if a property
IsInUseisFalse:
IsInUse == FalseCheck Value is Null or Empty
The string.IsNullOrWhitespace(propertyName) is a method used to check if a string variable named propertyName is null, empty, or consists only of whitespace characters.
Example
To ensure
ShowAllRolesis not null or empty:
!string.IsNullOrWhitespace(ShowAllRoles)Check Multiple Levels
This expression accesses properties or methods of nested objects by chaining their names together.
Example
To check if the count of fields in a single visual within the Config object exceeds 7:
Config.SingleVisual.Fields.Count() > 7Check Value Contains Some Text
This expression checks if a string contains a specific sequence of characters.
Example
To verify if an object type contains the text "Measure":
ObjectType.Contains("Measure")Report Scope
When the score of the rule is set to Report then, we can add/edit LINQ expression as shown in the following examples:
Examples
To retrieve the name property of the base theme used in the report:
BaseTheme.NameTo calculate the total number of pages within the report:
Pages.Count()To verify whether the default cross-filtering behavior is set to true in the report configuration:
Config.DefaultDrillFilterOtherVisuals == "true"To check if there are any custom visuals present in the report by verifying the count of such visuals:
CustomVisuals.Count > 0Page Scope
When the score of the rule is set to Page then, we can add/edit LINQ expression as shown in the following examples:
Examples:
To check if the current page is hidden based on the configuration settings.
Config.IsHidden == trueVerifies if there are more than two visuals present on the current page.
Visuals.Count > 2Check for the existence of any filters applied at the page level.
Filters.Any()Assesses whether there is any visual on the page with a width greater than 500 units.
Visuals.Any(Width > 500)Verifies if all visuals across all pages have a width greater than 500 units.
Visuals.All(Width > 500)Visual Scope
When the score of the rule is set to Visual then, we can add/edit LINQ expression as shown in the following examples:
Examples:
Check if the name property of visual matches the specified name "Visual Name".
Name == "Visual Name"Examines whether there are any filters applied at the visual level.
Filters.Any()Last updated