2. Goals of this Session
1. Tell you more about the ARM enhancements in
5.0
2. Show you examples of how these enhancements
can be used
3. Give you a glimpse at 5.1, and other upcoming
ARM enhancements
5. What is ARM?
“The Analytical Report Manager is a web-based report
access and management tool for creating and modifying
analytical reports. Report designers can use this tool to
design and run custom analytical reports using advanced
data selection criteria, data calculation rules, and
customizable report layout design features”
8. Performance Improvements
• Completely refactored design, which now takes
advantage of multiple cores available on modern
servers
• Uses less memory
0
100
200
300
400
500
600
700
P&L (560 rows, 24 columns, 10 000 accounts,
3500 subaccounts, 250K GLHistory entries)
4.2
5.0
9. Merging of Data Sources
• At run-time, system combines data source from
unit set, column set, row set and report
parameters
• Prior to 5.0, Acumatica didn’t support overlapping
ranges of accounts/subaccounts
• In the example below, system is now able to
intersect the accounts of the row set and the
column set, and only include the right accounts in
the calculation Columns Devices Accessories
Rows ???010 ???020
iPhone 410??? $10 000 $2 000
Android 420??? $5 000 $1 000
All phones
410???-
420???
$15 000 $3 000
Columns Devices Accessories
Rows ???010 ???020
iPhone 410??? $10 000 $2 000
Android 420??? $5 000 $1 000
All phones 410???-420??? $17 000 $8 000
< 5.0 5.0
10. Account Ranges
• ARM allows you to include multiple accounts or
subaccounts in a single cell by specifying a start and end
account.
• But what if you want to combine non-consecutive ranges in
a single cell? (ex: 401000 to 401500, and 401900, and
402000 to 499999)
• Prior to Acumatica 5.0, you had to create to hidden rows,
and add them
• Major drawback: you loose drill-down
11. Account Ranges in 5.0
• Start Account, Start Sub and Start Branch now
allows you to specify a list of accounts, a range of
accounts, or a combination of both
• Syntax is similar to Microsoft Excel ranges:
400000:420000
• You can combine multiple ranges or accounts,
separate them with coma:
400000:420000,425000,426000:426099
• Wildcards are also supported in ranges: 4260??
12. Handling of NaN/Infinity
Values• Scenario: Variance & in Comparative Balance
Sheet
• What if the first column is 0? Division by zero error!
• Before: =IIf( ISNULL(B,0)<>0 ,D/B, 0)
• Now: =D/B – much more simple!
13. Relative Calculations
• Scenario: in P&L, indicate percentage of account
relative to total sales
• Formula: =B/Value(@BaseRowCode, 'B')
• @BaseRowCode refers to the row code specified
in the row set
• Value(row, column) functions retrieves the value
of a cell at a given position.
14. Sorting
• Scenario: in Balance Sheet, assets should be
sorted from highest value to lowest value
• New type of row: “Sort”
• Value has to contain sort expression:
=SORT(fromrow, torow, column)
• Descending sort using =SORTD function.
Example: =SORTD('00110','00140', 'B')
15. Unit Set Auto-Expansion
• Scenario: you have 50
branches, and 10 different
departments and need to
dynamically filter data based
on the selected branch and
department
• Configuring and maintaining
all the combinations in unit
sets is a time-consuming
process
16. Unit Set Auto-Expansion
• Configured in the Data Source
panel by configuring the
“Expand” property
• GL reports: expansion possible by account and
subaccount
• PM reports: expansion possible by account group,
project, project task and inventory
• Non-expanding wildcard char = asterisk. Ex: EU-
??-**-**-***, the system will generate 6 units in
the tree view, with the following subacount data
source: EU-00-??-??-???, EU-AD-??-??-???, EU-
FN-??-???, EU-MR-??-??-???, EU-PU-??-??-??? and
EU-SL-??-??-???.
17. Project Management Reports
• Completely Reviewed in 5.0; numerous design
issues identified
• All the new features presented so far also apply to
Project Management reports
• If you need to create PM reports, please migrate
to 5.0 immediately
19. Rounding
• Scenario: you need to present your financials in
whole dollars, thousands, or millions of dollars
• Was previously accomplished using column
format: #,##0 or formulas – but it’s a bad
solution
• Doesn’t play nice with Hide Zero / Suppress Empty
settings and
• Breaks hyperlinking
• Doesn’t handle rounding differences
20. Rounding
• In Acumatica 5.1, we will be adding a new
Rounding setting configurable in the Column Set:
• For Balance Sheet, it will be possible to calculate
rounding differences and use that in a formula to
ensure Assets = Liabilities
21. Lazy Loading
• Problem: when previewing a report containing
unit sets, system has to process every unit before
the report can be viewed
• Solution: load units on demand, as they are
requested by the user
• In benchmarks, a very complex ARM report that
used to take 40 minutes to rend now opens in less
than 40 seconds
22. Other Enhancements
• Format Property on Row
• Denominated Accounts
• Visibility Conditions for Columns and Rows
23. Wrap-Up
To learn more on this and other 5.0
changes, check-out the technical release
notes available on the portal
What else would you like to see in ARM?
Questions?
Present myself and my role at Acumatica (the bridge between the engineering team, sales & marketing teams; the voice of the customer and partner for product development and design)
Today I’m here to present you…
Q: who attended
No, this is not ARM!
No, this is not ARM!
Read definition on screen
ARM is based on the concept of rows, columns and units, which people using Microsoft FRx may already be familiar with
Two different type of ARM reports can be created: GL (account) and PM (project management) reports
Here’s a real-life example of something that was close to impossible to achieve in Acumatica 4:
Actual customer with 100 branches
For each branch, P&L report contains 560 rows, 24 columns and aggregates data from 10 000 accounts and 3500 subaccounts
Before: 675 seconds (11 minutes)
After: 17 seconds
Extreme example, but even on small database the difference is quite visible - DEMO
In prior versions of Acumatica, for the All Phones – Devices cell, the system would have included *all* accounts between 410010 and 420010, and for the All Phones - Accessories, *all* accounts between 410020 and 420020. Now, the system will properly intersect the accounts and only include 410010+420010 for All Phones - Device, and 410020+420020 for All Phones - Accessories.
***DEMO***
DEMO – take formula from existing balance sheet comparative
DEMO
DPL – put base row 0102 for row 0100 – Sales – Details
Column set – removed PTD column and add Calc column with =B/Value(@BaseRowCode, 'B')
We had some customers actually editing the row set every month to manually sort the data for presentation.
DBALSHEET00200
=SORTD('00110','00140', 'B')
Note: be careful about being too aggressive on unit set expansion – all units are pre-generated. In 5.1 we’ll have something new, I’ll explain later