# Acterys Reporting

Acterys Reporting enables you to render professional financial reports in Power BI with:

Flexible formatting options on a per row and column

Adding your own custom calculations in a very easy way

IBCS variance visualization

Row based comments

Integrated with all Acterys Planning & CPM features

Just add the visual directly from Power BI in the Visual Marketplace, Appsource (coming soon) or the Acterys download area.

Once you have added the visual to a report page you can add fields from the Power BI dataset in rows and columns and measures or value fields in the visual definition:

# Custom Calculations

## Row Calculations

To add custom calculations click on “edit” in the visual settings in the top right hand corner of the visual:

In the edit section you can now add new rows by a right click on the position where you want to add:

## Column Calculations

This equally works with column calculations: just right click on the column header where you want to add your calculation and choose before or after:

then click on the column header items that you want to use in the calculation:

In the editor at the top right you can see a list of all row and column calculations:

To edit a calculations just click on the item that you want to use.

## Supported Operators

The following operators are supported in calculations:

Operator | Name | Syntax | Associativity | Example | Result |
---|---|---|---|---|---|

(, ) | Grouping | (x) | None | 2 * (3 + 4) | 14 |

[, ] | Matrix, Index | [...] | None | [[1,2],[3,4]] | [[1,2],[3,4]] |

{, } | Object | {...} | None | {a: 1, b: 2} | {a: 1, b: 2} |

, | Parameter separator | x, y | Left to right | max(2, 1, 5) | 5 |

. | Property accessor | obj.prop | Left to right | obj={a: 12}; obj.a | 12 |

; | Statement separator | x; y | Left to right | a=2; b=3; a*b | [6] |

; | Row separator | [x; y] | Left to right | [1,2;3,4] | [[1,2],[3,4]] |

\n | Statement separator | x \n y | Left to right | a=2 \n b=3 \n a*b | [2,3,6] |

+ | Add | x + y | Left to right | 4 + 5 | 9 |

+ | Unary plus | +y | Right to left | +4 | 4 |

- | Subtract | x - y | Left to right | 7 - 3 | 4 |

- | Unary minus | -y | Right to left | -4 | -4 |

* | Multiply | x * y | Left to right | 2 * 3 | 6 |

.* | Element-wise multiply | x .* y | Left to right | [1,2,3] .* [1,2,3] | [1,4,9] |

/ | Divide | x / y | Left to right | 6 / 2 | 3 |

./ | Element-wise divide | x ./ y | Left to right | [9,6,4] ./ [3,2,2] | [3,3,2] |

%, mod | Modulus | x % y | Left to right | 8 % 3 | 2 |

^ | Power | x ^ y | Right to left | 2 ^ 3 | 8 |

.^ | Element-wise power | x .^ y | Right to left | [2,3] .^ [3,3] | [8,27] |

' | Transpose | y' | Left to right | [[1,2],[3,4]]' | [[1,3],[2,4]] |

! | Factorial | y! | Left to right | 5! | 120 |

& | Bitwise and | x & y | Left to right | 5 & 3 | 1 |

~ | Bitwise not | ~x | Right to left | ~2 | -3 |

| | Bitwise or | x | y | Left to right | 5 | 3 | 7 |

^| | Bitwise xor | x ^| y | Left to right | 5 ^| 2 | 7 |

<< | Left shift | x << y | Left to right | 4 << 1 | 8 |

>> | Right arithmetic shift | x >> y | Left to right | 8 >> 1 | 4 |

>>> | Right logical shift | x >>> y | Left to right | -8 >>> 1 | 2147483644 |

and | Logical and | x and y | Left to right | true and false | false |

not | Logical not | not y | Right to left | not true | false |

or | Logical or | x or y | Left to right | true or false | true |

xor | Logical xor | x xor y | Left to right | true xor true | false |

= | Assignment | x = y | Right to left | a = 5 | 5 |

? : | Conditional expression | x ? y : z | Right to left | 15 > 100 ? 1 : -1 | -1 |

: | Range | x : y | Right to left | 1:4 | [1,2,3,4] |

to, in | Unit conversion | x to y | Left to right | 2 inch to cm | 5.08 cm |

== | Equal | x == y | Left to right | 2 == 4 - 2 | true |

!= | Unequal | x != y | Left to right | 2 != 3 | true |

< | Smaller | x < y | Left to right | 2 < 3 | true |

> | Larger | x > y | Left to right | 2 > 3 | false |

<= | Smallereq | x <= y | Left to right | 4 <= 3 | false |

>= | Largereq | x >= y | Left to right | 2 + 4 >= 6 | true |

## Precedence

The operators have the following precedence, from highest to lowest:

Operators | Description |
---|---|

(...) | Grouping |

x(...) | Function call |

' | Matrix transpose |

! | Factorial |

^, .^ | Exponentiation |

+, -, ~, not | Unary plus, unary minus, bitwise not, logical not |

See section below | Implicit multiplication |

*, /, .*, ./, %, mod | Multiply, divide, modulus |

+, - | Add, subtract |

: | Range |

to, in | Unit conversion |

<<, >>, >>> | Bitwise left shift, bitwise right arithmetic shift, bitwise right logical shift |

==, !=, <, >, <=, >= | Relational |

& | Bitwise and |

^| | Bitwise xor |

| | Bitwise or |

and | Logical and |

xor | Logical xor |

or | Logical or |

?, : | Conditional expression |

= | Assignment |

, | Parameter and column separator |

; | Row separator |

\n, ; | Statement separators |

For each row and column you can either assign a style that you can set in the visual properties or specify that the measure format should be used by selecting “Measure”:

In the Format section you can set a variety of other formatting options for the report.

# Formatting

## Row and Column Styles

Particularly important for your report are row and column styles. You can assign these to the calculations and achieve that a format option applies to all items that use this style e.g. text formats: bold, color, underlines, overlines etc:

## IBCS Variance Visualization

Acterys Reporting allows you to add variance visualization according to IBCS principles. To add it to your reporting turn on “Variance” in the visual properties:

You can flexibly set the value and comparison columns by pointing to the column number:

In the properties you can also specify a variety of formatting options like color, scaling and variance visualization e.g. absolute or relative layout:

Absolute Variance Display

Relative Variance Display

You can switch between absolute and relative variance display by clicking the respective symbol: Delta symbol “**Δ”** or “**%**”:

## Comments

Acterys Reporting supports the display of cell based comments that can be formatted in html. To activated them turn on the “Comments” in the properties. Here you can also specify the width of the comment box:

## Measure Header

Using the measure Header section in the visual properties you can set the format for a measure underline to clearly identify a particular scenario type according to IBCS guidelines: