Wyn Enterprise User Guide

Wyn Enterprise: Common Functions

You can use a function in an expression to perform actions on data in data regions, groups and datasets. You can access these functions under the Common Functions node within the Expression Editor dialog. In any property that accepts expressions, you can drop down the property and select <Expression...> to open the dialog.

Refer to the following tables that contain details about each of the functions included in Wyn Enterprise for use in property expressions.

Date & Time

The following table lists out all the available date and time functions:

Function Syntax Example
DateAdd

Returns a date and time value that is the result of adding the interval to the date and time field of the specified unit.
DateAdd(<DateInterval>, <Number>, <DateTime>) {DateAdd("d", 5, SaleDate)}; {DateAdd(DateInterval.Day, 5, SaleDate)}
DateDiff

Returns the difference between the start date and time and end date and time of the specified unit.
DateDiff(<DateInterval>, <DateTime1>, <DateTime2>[, <DayOfWeek>[, <WeekOfYear>]]) {DateDiff("yyyy", SaleDate, "1/1/2015")}; {DateDiff(DateInterval.Year, SaleDate, "1/1/2015")}
DatePart

Returns the Integer value that represents the specified part of the given date.
DatePart(<DateInterval>, <DateTime>[, <FirstDayOfWeek>[, <FirstWeekOfYear>]]) {DatePart("m", SaleDate)}
DateSerial

Returns a Date value that represents a specified year, month, and day, with the time information set to midnight (00:00:00).
DateSerial(<Year Number>, <Month Number>, <Day Number>) {DateSerial(DatePart("yyyy", SaleDate) - 10, DatePart("m", SaleDate) + 5, DatePart("d", SaleDate) - 1)}
DateString

Returns the String value that represents the current date in your system.
DateString() {DateString()}; {DatePart("m", DateString())}
DateValue

Returns a Date value that contains the information on date represented by a string, with the time set to midnight (00:00:00).
DateValue(<StringDate>) {DateValue("December 12, 2015")}
Day

Returns an Integer value from 1 through 31 that represents the day of the month.
Day(<DateTime>) {Day(SaleDate)}
Hour

Returns an Integer value from 0 through 23 that represents the hour of the day.
Hour(<DateTime>) {Hour(SaleDate)}
Minute

Returns an Integer value from 0 through 59 that represents the minute of the hour.
Minute(<DateTime>) {Minute(SaleDate)}
Month

Returns an Integer value from 1 through 12 that represents the month of the year.
Month(<DateTime>) {Month(SaleDate)}
MonthName

Returns the name of the month specified in the date as a String.
MonthName(<Month Number>[, <Abbreviate>]) {MonthName(MonthNumber)}
Now

Returns the current date and time in your system.
Now() {Now()}
Second

Returns an Integer value from 0 through 59 that represents the second of the minute.
Second(<DateTime>) {Second(SaleDate)}
TimeOfDay

Returns a Date value containing the current time of day in your system.
TimeOfDay() {TimeOfDay()}
Timer

Returns a Double value that represents the number of seconds elapsed since midnight.
Timer() {Timer()}
TimeSerial

Returns a Date value that represents a specified hour, minute, and second, with the date information set relative to January 1 of the year 0001.
TimeSerial(<Hour Number>, <Minute Number>, <Second Number>) {TimeSerial(DatePart("h", SaleDate), DatePart("n", SaleDate), DatePart("s", SaleDate))}
TimeString

Returns the String value that represents the current time of day in your system.
TimeString() {TimeString()}
TimeValue

Returns a Date value that contains the information on time represented by a string, with the date set to January 1 of the year 0001.
TimeValue(<StringTime>) {TimeValue("15:25:45")}; {TimeValue(SaleDate)}
Today

Returns a Date value that contains the current date in your system.
Today() {Today()}
Weekday

Returns an Integer value that contains a number representing the day of the week.
Weekday(<DateTime>[, <DayOfWeek>]) {Weekday(SaleDate, 0)}
WeekdayName

Returns a String value that contains the name of the specified weekday.
WeekdayName(<WeekDay>[, <Abbreviate>[, <FirstDayOfWeek>]]) {WeekdayName(3, true, 0)}; {WeekDayName(DatePart("w", SaleDate), true, 0)}
Quarter

Returns an Integer value from 1 through 4 that represents the quarter of the year.
Quarter(<DateTime>) {Quarter(SaleDate)}
QuarterName

Returns a String value that represents the quarter of the year.
QuarterName(<DateTime>) {QuarterName(SaleDate)}
Year

Returns an Integer value from 1 through 9999 representing the year.
Year(<DateTime>) {Year(SaleDate)}
AddYears

Returns a date and time value that is a result of adding the date interval in years. The specified date interval can be negative.
<DateTime>.AddYears(<Number>) {OrderDate.AddYears(3)}
AddMonths

Returns a date and time value that is a result of adding the date interval in months. The specified date interval can be negative.
<DateTime>.AddMonths(<Number>) {OrderDate.AddMonths(2)}
AddDays

Returns a date and time value that is a result of adding the date interval in days. The specified date interval can be negative.
<DateTime>.AddDays(<Number>) {OrderDate.AddDays(5)}
AddHours

Returns a date and time value that is a result of adding the time interval in hours. The specified time interval can be negative.
<DateTime>.AddHours(<Number>) {OrderDate.AddHours(12)}
AddMinutes

Returns a date and time value that is a result of adding the time interval in minutes. The specified time interval can be negative.
<DateTime>.AddMinutes(<Number>) {OrderDate.AddMinutes(30)}
AddSeconds

Returns a date and time value that is a result of adding the time interval in seconds. The specified time interval can be negative.
<DateTime>.AddSeconds(<Number>) {OrderDate.AddSeconds(30)}
AddMilliseconds

Returns a date and time value that is a result of adding the time interval in milliseconds. The specified time interval can be negative.
<DateTime>.AddMilliseconds(<Number>) {OrderDate.AddMilliseconds(500)}
DateTime.Parse

Converts the specified string value to a date and time value.
DateTime.Parse(<String>[, <String>]) {DateTime.Parse("01/01/1970")}

Math

The following table describes all the available math functions along with their syntax and example.

Function Syntax Example
Abs

Returns the absolute or positive value of a single-precision floating-point number.
Abs(<Number>) {Abs(-5.5)}; {Abs(YearlyIncome - 80000)}
Acos

Returns the angle whose cosine is the specified number.
Acos(<Number>) {{Acos(0.5)}; {Acos(Angle)}
Asin

Returns the angle whose sine is the specified number
Asin(<Number>) {Asin(0.5)}; {Asin(Angle)}
Atan

Returns the angle whose tangent is the specified number.
Atan(<Number>) {Atan(0.5)}; {Atan(Angle)}
Atan2

Returns the angle whose tangent is the quotient of two specified numbers.
Atan2(<Number1>,<Number2>) {Atan2(3, 7)}; {Atan2(CoordinateY, CoordinateX)}
BigMul

Returns the multiplication of two 32-bit numbers.
BigMul(<Number1>,<Number2>) {BigMul(4294967295, -2147483647)}; {BigMul(Int32Value, Int32Value)}
Ceiling

Returns the smallest integer greater than or equal to the specified double-precision floating-point number.
Ceiling(<Number>) {Ceiling(98.4331)}; {Ceiling(AnnualSales / 6)}
Cos

Returns the smallest integer greater than or equal to the specified double-precision floating-point number.
Cos(<Number>) {Cos(60)}
Cosh

Returns the hyperbolic cosine of the specified angle.
Cosh(<Number>) {Cosh(60)}
E

Returns the value of E, which is 2.71828182845905.
E {E*2}
Exp

Returns e raised to the specified ^, where is Euler s number. It is the inverse of the Log function.
Exp(<Number>) {Exp(3)}; {Exp(IntegerCounter)}
Fix

Returns the integer portion of a number.
Fix(<Number>) {Fix(-7.15)}; {Fix(AnnualSales / -5)}
Floor

Returns the longest integer less than or equal to the specified double-precision floating-point number.
Floor(<Number>) {Floor(4.67)}; {Floor(AnnualSales / 12)}
IEEERemainder

Returns the remainder after division of one number by another according to IEEE standards.
IEEERemainder(<Number1>,<Number2>) {IEEERemainder(9,8)}
Log

Returns the logarithm of the specified number.
Log(<Number>) {Log(20.5)}; {Log(NumberValue)}
Log10

Returns the logarithm of the specified number to the base 10.
Log10(<Number>) {Log10(20.5)}; {Log10(NumberValue)}
Max

Returns the maximum non-null value from the specified expression.
Max(<Value>) {Max(OrderTotal)}
Min

Returns the minimum non-null value from the specified expression.
Min(<Value>) {Min(OrderTotal)}
PI

Returns the value of PI, which is 3.14159265358979.
PI {2 ∗ PI ∗ Radius}
Pow

Returns one number raised to the ^ of another number.
Pow(<Number1,<Number2>) {Pow(Quantity, 2)}
Round

Returns the round-off of a decimal number to the nearest integer or to the nearest decimal number up to the specified digits.
Round(<Number>) {Round(12.456)}; {Round(AnnualSales / 12.3)}
Sign

Returns a value indicating the sign of an 8-bit signed integer.
Sign(<Number>) {Sign(AnnualSales - 60000)}
Sin

Returns the sine of the specified number.
Sin(<Number>) {Sin(60)}
Sinh

Returns the hyperbolic sine of the specified angle.
Sinh(<Number>) Sinh(60)
Sqrt

Returns the square root of the specified number.
Sqrt(<Number>) {Sqrt(121)}
Tan

Returns the tangent of the specified number.
Tan(<Number>) {Tan(60)}
Tanh

Returns the hyperbolic tangent of the specified angle.
Tanh(<Number>) {Tanh(60)}
Truncate

Calculates an integral part of a number.
Truncate(<Number>) {Truncate(123.654)}

Text

Refer to the following table for the available text related functions.

Function Syntax Example
Contains

Returns True if the string contains the specified substring.
<String>.Contains(<String>) {ShipAddress.Contains("street")}
EndsWith

Returns True if the string ends with the specified substring.
<String>.EndsWith(<String>) {Description.EndsWith("documents")}
IndexOf

Returns the index of the first occurrence of the specified substring within the string.
<String>.IndexOf(<String>[, <Number>]) {Description.IndexOf("documents")}
InStr

Returns the start position of the first occurrence of the specified substring within the string.
InStr(<String>, <String>) {InStr(Description, "documents")}
LastIndexOf

Returns the index of the last occurrence of the specified substring within the string.
<String>.LastIndexOf(<String>[, <Number>]) {Description.LastIndexOf("documents")}
Replace

Replaces all the occurrences of the first specified substring with the second specified substring within the string.
<String>.Replace(<String>, <String>) {Description.Replace("documents", "invoices")}
StartsWith

Returns True if the string starts with the specified substring.
<String>.StartsWith(<String>) {Description.StartsWith("Invoice")}
Substring

Returns the substring at the specified position (zero-based) of the specified length.
<String>.Substring(<Number>, <Number>) {Description.Substring(1, 10)}
ToLower

Returns the specified string in lower case.
<String>.ToLower() {ShipCountry.ToLower()}
ToUpper

Returns the specified string in upper case.
<String>.ToUpper() {ShipCountry.ToUpper()}
Trim

Returns the string after removing all the white-space characters from both the start and the end of the specified string.
<String>.Trim() {@Info.Trim()}
TrimEnd

Returns the string after removing all the white-space characters from the end of the specified string.
<String>.TrimEnd() {@Info.TrimEnd()}
TrimStart

Returns the string after removing all the white-space characters from the start of the specified string.
<String>.TrimStart() {@Info.TrimStart()}

Inspection

The following table describes all the available inspection functions along with their syntax and example.

Function Syntax Example
IsArray

Returns True if the expression can be evaluated as an array.
IsArray(<Expression>) {IsArray(@Initials)}
IsDate

Returns True if the expression represents a valid Date value.
IsDate(<Expression>) {IsDate(BirthDate)}; {IsDate("31/12/2010")}
IsDBNull

Returns True if the expression evaluates to a null.
IsDBNull(<Expression>) {IsDBNull(MonthlySales)}
IsError

Returns True if the expression evaluates to an error.
IsError(<Expression>) {IsError(AnnualSales = 80000)}
IsNothing

Returns True if the expression evaluates to nothing.
IsNothing(<Expression>) {IsNothing(MiddleInitial)}
IsNumeric

Returns True if the expression can be evaluated as a number.
IsNumeric(<Expression>) {IsNumeric(AnnualSales)}
DBNull

Allows checking whether a value is a DBNull value.
DBNull {IIF(Organization is DBNull, "<NULL>", Organization)}

ProgramFlow

This table describes all the available program flow methods along with their syntax and example.

Function Syntax Example
Choose

Returns a value from a list of arguments.
Choose(<Index>,<Value>[, <Value2>,...[, <Value N>]]) {Choose(3, "10", "15", "20", "25")}
IIF

Returns the value if the expression evaluates to True, and the second value if the expression evaluates to False.
IIF(<Condition>, <TruePart>, <FalsePart>) {IIF(AnnualSales >= 80000, "Above Average", "Below Average")}
Partition

Returns a string (in the form x : y) that represents the calculated range based on the specified interval containing the specified number.
Partition(<Value>, <Start>, <End>, <Interval>) {Partition(1999, 1980, 2000, 10)}
Switch

Returns the value of the first expression that evaluates to True among a list of expressions.
Switch(<Condition1>, <Value1>[, <Condition2>, <Value2>,...[,<ConditionN>, <ValueN>]]) {Switch(FirstName = "Abraham", "Adria", FirstName = "Charlotte", "Cherrie")}

Aggregate

You can use aggregate functions within report control value expressions to accrue data. These are all the available aggregate functions:

Function Syntax Example
AggregateIf

Decides whether to calculate a custom aggregate from the data provider of the values returned by the expression based on a Boolean expression.
AggregateIf(<Condition>, <AggregateFunction>, <AggregateArguments>) {AggregateIf(Discontinued=True, Sum, InStock)}
AggregateIf (with scope)

Calculates the aggregate of the values from the specified expression if the Boolean expression meets the given condition, within the specified scope.
AggregateIf(<Condition>, <AggregateFunction>, <AggregateArguments>, <Scope>) {AggregateIf(Discontinued = true, "Sum", InStock, "Category")}
Avg

Calculates the average of the non-null values returned by the expression.
Avg(<Values>) {Avg(Cost, Nothing)}
Avg (with scope)

Calculates the aggregate of the values from the specified expression if the Boolean expression meets the given condition, within the specified scope.
AggregateIf(<Condition>, <AggregateFunction>, <AggregateArguments>, <Scope>) {AggregateIf(Discontinued = true, "Sum", InStock, "Category")}
Count

Calculates the number of non-null values returned by the expression.
Count(<Values>) {Count(EmployeeID, Nothing)}
Count (with scope)

Calculates the aggregate of the values from the specified expression if the Boolean expression meets the given condition, within the specified scope.
AggregateIf(<Condition>, <AggregateFunction>, <AggregateArguments>, <Scope>) {AggregateIf(Discontinued = true, "Sum", InStock, "Category")}
CountDistinct

Calculates the number of non-repeated values returned by the expression.
CountDistinct(<Values>) {CountDistinct(ManagerID, "Department")}
CountDistinct (with scope)

Calculates the number of non-repeated values from the specified expression within the specified scope.
CountDistinct(<Values>, <Scope>) {CountDistinct(OrderID, "GroupByCategory")}
CountRows

Calculates the number of rows in the scope returned by the expression.
CountRows() {CountRows("Department")}
CountRows (with scope)

Calculates the number of non-repeated values from the specified expression within the specified scope.
CountDistinct(<Values>, <Scope>) {CountDistinct(OrderID, "GroupByCategory")}
CrossAggregate

Calculates the specified function with the specified expression as an argument in the cross of the specified row and column.
CrossAggregate(<Expression>, <FunctionName>, <ColumnGroupName>, <RowGroupName>) {CrossAggregate(Count, "Sum", "MonthGroup", "ProductGroup")}
CumulativeTotal

Calculates the sum of page-level aggregates returned by the expression for current and previous pages.
CumulativeTotal(<Expression>, <Aggregate>) {CumulativeTotal(OrderID, Count)}
DistinctSum

Calculates the sum of the values returned by an expression using only the rows when the value of another expression is not repeated.
DistinctSum(<Values>, <Value>) {DistinctSum(OrderID, OrderFreight, "Order")}
DistinctSum (with scope)

Calculates the sum of values of the specified expression when the value of the other expression is not repeated, within the specified scope.
DistinctSum(<Values>, <Value>, <Scope>) {DistinctSum(OrderID, OrderFreight, "Order")}
First

Shows the first value returned by the expression.
First(<Values>) {First(ProductNumber, "Category")}
First (with scope)

Returns the first value from the specified expression within the specified scope.
First(<Values>, <Scope>) {First(ProductNumber, "Category")}
Last

Shows the last value returned by the expression.
Last(<Values>) {Last(ProductNumber, "Category")}
Last (with scope)

Returns the last value from the specified expression within the specified scope.
Last(<Values>, <Scope>) {Last(ProductNumber, "Category")}
Max

Shows the largest non-null value returned by the expression.
Max(<Values>) {Max(OrderTotal, "Year")}
Max (with scope)

Returns the maximum non-null value from the specified expression within the specified scope.
Max(<Values>, <Scope>) {Max(OrderTotal, "Year")}
Median

Shows the value that is the mid-point of the values returned by the expression. Half of the values returned will be above this value and half will be below it.
Median(<Values>) {Median(OrderTotal)}
Median (with scope)

Returns the value that is the mid-point of the ordered values in the specified expression, within the specified scope. Median is the center value in a sequence of values.
Median(<Values>, <Scope>) {Median(OrderTotal, "Year")}
Min

Shows the smallest non-null value returned by the expression
Min(<Values>) {Min(OrderTotal)}
Min (with scope)

Returns the minimum non-null value from the specified expression within the specified scope.
Min(<Values>, <Scope>) {Min(OrderTotal, "Year")}
Mode

Shows the value that appears most frequently in the values returned by the expression.
Mode(<Values>) {Mode(OrderTotal)}
Mode (with scope)

Returns the most frequently occurring value from the specified expression, within the specified scope.
Mode(<Values>, <Scope>) {Mode(OrderTotal, "Year")}
RunningValue

Shows a running aggregate of values returned by the expression (Takes one of the other aggregate functions as a parameter),
RunningValue(<Values>, <AggregateFunction>) {RunningValue(Cost, Sum, Nothing)}
RunningValue (with scope)

Calculates a running aggregate of all non-null numeric values from the specified expression, using another aggregate function as a parameter, within the specified scope.
RunningValue(<Values>, <AggregateFunction>, <Scope>) {RunningValue(Price, "Sum", "Nwind")}
StDev

Calculates the dispersion (standard deviation) of all non-null values returned by the expression.
StDev(<Values>) {StDev(LineTotal, "Order")}
StDev (with scope)

Calculates the standard deviation of all non-null values of the specified expression, within the specified scope.
StDev(<Values>, <Scope>) {StDev(LineTotal, "Nwind")}
StDevP

Calculates the population dispersion (population standard deviation) of all non-null values returned by the expression.
StDevP(<Values>) {StDevP(LineTotal, "Order")}
StDevP (with scope)

Calculates the population standard deviation of all non-null values of the specified expression within the specified scope.
StDevP(<Values>, <Scope>) {StDevP(LineTotal, "Order")}
Sum

Calculates the sum of the values returned by the expression.
Sum(<Values>) {Sum(LineTotal, "Order")}
Sum (with scope)

Calculates the sum of the values of the specified expression within the specified scope.
Sum(<Values>, <Scope>) {Sum(Price, "Category")}
Var

Calculates the variance (standard deviation squared) of all non-null values returned by the expression.
Var(<Values>) {Var(LineTotal, "Order")}
Var (with scope)

Calculates the variance (standard deviation squared) of all non-null values of the specified expression.
Var(<Values>, <Scope>) {Var(LineTotal, "Order")}
VarP

Calculates the population variance (population standard deviation squared) of all non-null values returned by the expression.
VarP(<Values>) {VarP(LineTotal, "Order")}
VarP (with scope)

Calculates the population variance (population standard variation squared) of all non-null values of the specified expression, within the specified scope.
VarP(<Values>, <Scope>) {VarP(LineTotal, "Order")}

Conversion

This table describes all the available conversion methods along with their syntax and example.

Function Syntax Example
ToBoolean

Converts the specified value to Boolean.
ToBoolean(<Value>) {ToBoolean(HouseOwnerFlag)}
ToByte

Converts the specified value to Byte.
ToByte(<Value>) {ToByte(ProductNumber)}
ToChar

Converts a specified value to a Unicode character.
ToChar(<Value>) {ToChar(OrderStatus)}; {ToChar(“Hello”)}
ToDateTime

Converts the specified value to a Date and Time value.
ToDateTime(<Value>) {ToDateTime(SaleDate)}; {ToDateTime("1 January, 2017")}
ToDecimal

Converts the specified value to Decimal.
ToDecimal(<Value>) {ToDecimal(Sales)}
ToDouble

Converts the specified value to Double.
ToDouble(<Value>) {ToDouble(AnnualSales)}; {ToDouble(535.85 .2691 67483)}
ToInt16

Converts the specified value to a 16-bit signed Integer.
ToInt16(<Value>) {ToInt16(AnnualSales)}; {ToInt16(535.85)}
ToInt32

Converts the specified value to a 32-bit signed Integer.
ToInt32(<Value>) {ToInt32(AnnualSales)}
ToInt64

Converts the specified value to a 64-bit signed Integer.
ToInt64(<Value>) {ToInt64(AnnualSales)}
ToSingle

Converts the specified value to a single-precision floating-point number.
ToSingle(<Value>) {ToSingle(AnnualSales)}; {ToSingle(15.857692134)}
ToString

Converts the specified value to String.
ToString(<Value>) {ToString(YearlyIncome)}; {ToString(13.5)}
.ToString

Converts the value to String in the specified format.
<Value>.ToString(<String>) {OrderDate.ToString("dd MMM yyyy")}
ToUInt16

Converts the specified value to a 16-bit unsigned Integer.
ToUInt16(<Value>) {ToUInt16(AnnualSales)}
ToUInt32

Converts the specified value to a 32-bit unsigned Integer.
ToUInt32(<Value>) {ToUInt32(AnnualSales)}
ToUInt64

Converts the specified value to a 64-bit unsigned Integer.
ToUInt64(<Value>) {ToUInt64(AnnualSales)}
Format

Formats the value to the specified format.
Format(<Value>, <String>) {Format(OrderDate, "dd MMM yyyy")}
NumberToWords

Converts the specified value to words. The supported cultures are "zh-cn", "en-us", "ja-jp".
UserContext.NumberToWords(<Number>, <String>) {UserContext.NumberToWords(123.5)}; {UserContext.NumberToWords(981, "zh-CN")}

Miscellaneous

Wyn Enterprise also offers several functions which do not aggregate data, but which you can use with an IIf function to help determine which data to display or how to display it.

[SCROLL-HORIZ]

Function Syntax Example
GetFields

Returns an IDictionary<string,Field> object that contains the current contents of the Fields collection. Only valid when used within a data region.
GetFields() {GetFields()}; {Code.DisplayAccountID(GetFields())}
InScope

Evaluates to true or false depending on whether the current value is in the specified scope.
InScope(<Scope>) {InScope("Order")}
Level

Returns a zero-based integer representing the current level of depth in a recursive hierarchy in the current scope. The first level in the hierarchy is 0.
Level() {Level()}
Level (with scope)

Returns a zero-based integer representing the current level of depth in a recursive hierarchy in the specified scope. The first level in the hierarchy is 0.
Level(<Scope>) {Level("Order")}
Lookup

Returns the first matching value for the specified name from the dataset with name and value pairs.
Lookup(<Source>, <Destination>, <Result>, <DataSet>) {Lookup(ProductID, ProductID, Quantity, "DataSet2")}
LookupSet

Returns the set of matching values for the specified name from the dataset that contains name/value pairs.
LookupSet(<Source>, <Destination>, <Result>, <DataSet>) {LookupSet(ProductID, ProductID, Quantity, "DataSet2")}
Previous

Calculates the value of the expression for the previous row of data.
Previous(<Expression>) {Previous(OrderID)}
Previous (with scope)

Calculates the value of the expression for the previous row of data within the specified scope.
Previous(<Expression>, <Scope>) {Previous(OrderID, "Order")}
RowNumber

Returns the running count of all the rows.
RowNumber() {RowNumber()}
RowNumber (with scope)

Returns the running count of all the rows in the specified scope.
RowNumber(<Scope>) {RowNumber("OrderID")}
GetLength

Returns the number of elements in the specified array.
<Collection>.GetLength(<Number>) {@MultiValueParameter.GetLength(0)}
Item

Returns an item by its name from Fields/Parameters/ReportItems.
<Object | Record>.Item(<String>) {Fields.Item("Company Name").Name}; {Parameters.Item("Parameter1").Name}; {ReportItems.Item("TextBox1")}
Join

Returns a string that is a result of joining the elements of an array, using the specified delimiter between elements.
Join(<Values>, <String>) {Join(@MultiValueParameter, ", ")}
GetUserValue

Displays the user context value for specified property, e.g. "name","email".
UserContext.getValue(<String>) {UserContext.getValue("name")}

[/SCROLL-HORIZ]

Scope


All functions have a Scope parameter which determines the grouping, data region, or dataset to be considered when calculating the aggregate or other function. Within a data region, the Scope parameter's default value is the innermost grouping to which the report control belongs. Alternately, you can specify the name of another grouping, dataset, or data region, or you can specify 'Nothing', which sets it to the outermost data region to which the report control belongs.

The Scope parameter must be a data region, grouping, or dataset that directly or indirectly contains the report control using the function in its expression. If the report control is outside of a data region, the Scope parameter refers to a dataset. If there is only one dataset in the report, you can omit the Scope parameter. If there are multiple datasets, you must specify which one to use to avoid ambiguity.

Note: You cannot set the Scope parameter to Nothing outside of a data region.