Using Atelerix in Report Items

Atelerix lets you alter data for the purposes of the report. Common tasks are:

  • Concatenating strings (combining them)
  • Formatting numbers (setting the number of decimal places, adding commas, etc.)
  • Formatting dates (setting the date and or time string)
  • Rounding numbers (trimming numbers to a certain number of decimal places)

Concatenating (combining) Text (Strings)

Text may be combined by using the plus sign. Given the following data we can combine things in several ways.

age (Age) city (City) height (Height) state (State)
31 Portland 1803.48274 Oregon

To combine Portland and Oregon with a comma:

> data.city.value + ', ' + data.state.value
'Portland, Oregon'

You can also combine the field name or alias with a value:

> data.city.alias + ': ' + data.city.value
'City: Portland'

Numbers can also be combined into a string:

> data.age.alias + ': ' + data.age.value
'Age: 31'

Formatting Numbers

Sometimes you want to round and also to format the number as a string. To do this you can use the text() function with the optional second parameter format. For all the nitty-gritty details about formatting see the Format Text section. (You can format dates too) Given the following data ( assume that the birthday field is a date ) let’s see how we can format some numbers.

age (Age) birthday (Birthday) height (Height)
31 6/1/1980 1803.4827

To format a number to have a certain number of decimal places:

> Text(data.height.value, '0.0')
1803.5
> Text(data.height.value, '0.000') 
1803.483

or add a thousands separator:

> Text(data.height.value, '0,0.0')
1,803.5

Formatting Dates

Formatting a date is similar to Formatting Numbers. See all of the details in the Format Text section. But given the following data ( assume that the birthday field is a date ) let’s see how we can format some dates.

age (Age) birthday (Birthday) height (Height)
31 6/1/1980 1803.4827

Without a format, we get the full date string:

> Text(data.birthday.value)
6/1/1980 12:00:00 AM +00:00

We can extract just the year:

> Text(data.birthday.value, 'yyyy')
1980

(hint: you could convert that to a number using the number() function and then do math on it)

Or format it using hyphens:

> text(data.birthday.value, 'MM-dd-yyyy')
06-01-1980

You can even get the day of the week

> text(data.birthday.value, 'dddd')
Sunday

Rounding (trimming) Numbers

To round a number, atelerix provides the Number.Round. Given the following data in infomaptic, let’s create a few examples on how a number can be rounded.

age (Age) city (City) height (Height) state (State)
31 Portland 1803.48274 Oregon

To round the person’s height to the nearest whole number we would use:

> number.round(data.height.value, 0)
1803

That rounds the height value to zero decimal places. If we wanted to round it to include just one decimal place:

> number.round(data.height.value, 1)
1803.5

Let’s say that the height is in mm, but we want it in inches and rounded to the nearest inch. There are 25.4 mm per inch, so we can just divide:

> number.round(data.height.value / 25.4, 0)
71