Documente Academic
Documente Profesional
Documente Cultură
Version 7.3
Advanced Manual
Page 1 of 66
Contents
Welcome ....................................................................................................................................................... 5
Course Pre-Requisites .................................................................................................................................. 5
Course Objective ........................................................................................................................................... 5
How to Use the Curriculum ............................................................................................................................ 5
Document Conventions ................................................................................................................................. 5
Course Outline .............................................................................................................................................. 6
Sample Company Information ....................................................................................................................... 6
Page 2 of 66
Page 3 of 66
Deleting an Expression................................................................................................................................ 57
Modifying the Lookup Location of an Expression ......................................................................................... 58
Page 4 of 66
Welcome
The Sage Intelligence Advanced course is designed to introduce you to the way Sage Intelligence Reporting
connects to data sources. Highlights include an overview of the modules, how to connect to data sources,
how to create and modify expressions as well as Best Practices to create the most efficient connectivity.
With your instructors assistance and your efforts, you will become familiar with this Sage Alchemex product
through hands on classroom training.
Course Pre-Requisites
Completion of the Sage Intelligence Reporting Beginners and Intermediate course or hands on
experience working with the Report Manager is required.
Course Objective
The objective of this course is to enable you to build more advanced custom reports using the connector.
The Connector incorporates a number of innovative features. It enables you to connect to any supported
ODBC compliant database and extract the data into an Excel workbook in the way you want it to be
presented.
Through the course instruction you will learn to:
Document Conventions
Sage Alchemex uses the Microsoft Manual of Style (MMOS), Third Edition, as its corporate authority for
technical terminology and references to user interface elements as well as terms approved by the Sage
Softwares Training Council or the CSC for references to specific training types, individual roles, certification
terms, and specific elements of the curriculum.
Page 5 of 66
Course Outline
The Sage Intelligence Intermediate Report Writing course is divided into 10 lessons. Each lesson is
designed to provide you with practical knowledge and experience that can be applied to your specific needs.
This course includes the following lessons:
Lesson
Purpose
This lesson will provide you with the steps to create connectivity to
a data source.
This lesson will provide you with the understanding of how to use
Excel as a Data source.
This lesson provides you with best practices to create the most
flexible efficient reports.
Page 6 of 66
The different modules Sage Intelligence Reporting offers and their functions.
Page 7 of 66
Need a business dashboard with sales and customer information to help them quickly understand the
health of their business
Require customized reports tailored to answering their business needs without manually formatting the
report each time they use it
Need access to additional information (such as inventory usage and collections issues) without learning
a new reporting tool.
Sage Intelligence Reporting not only creates real value beyond standard offerings, but also helps companies
make sense of what is going on in their businesses to make better decisions and become more profitable.
The end result is better information, better decision making and better companies.
Page 8 of 66
Page 9 of 66
Report Viewer
The Report Viewer provides an interface to run the reports directly.
Report Designer
The Report Designer is a component of Sage Intelligence Reporting that allows you to fast track the building
of powerful financial reports via the Layout Generator which provides an easy-to-use, drag-and-drop
interface to allow for flexible financial reporting with multi-level groupings according to your unique business
needs.
Page 10 of 66
The Report Designer Add-in is the newest addition to the Report Designer module which presents an
alternative to the current report layout generator to empower users to take control of all design aspects of
their reporting layouts within Excel.
The Report Designer is covered in detail in the Sage Intelligence course designed for your ERP.
Connector
The Connector maintains the connectivity between Sage Intelligence Reporting and the data sources. The
groups of connections are called containers, and the administration of these is the primary focus of the
Advanced course.
Page 11 of 66
Security Manager
The Security Manager controls the accessibility of Sage Intelligence Reporting reports by the various users.
Page 12 of 66
License Manager
The License Manager maintains the licenses installed for Sage Intelligence Reporting.
Page 13 of 66
To effectively use the Connector, you need an understanding of the interface and how to perform actions.
The layout of the interface is divided into two main areas: the object window on the left, and the properties
window, on the right. Each is described in detail below.
Object
Window
Properties
Window
Page 14 of 66
Object Window
You are able to select objects using your mouse from the object
window in order to either view the objects' properties or perform a
task with the object. For example, you are able to select an object
in the object window and rename the object just as youd rename
a file in Windows Explorer.
From the object window, you can also double-click on an object to
expand or collapse the objects.
Referential Integrity
To protect structural relationships, the principle of Referential Integrity is applied to prevent the deletion of
the following:
Connection - if there are any containers linked to it that are used in reports as could be seen in the
Report Manager module.
Container - if there are any reports linked to it in the Report Manager module. Right-click on any
container and select Show Dependencies to see if there are any Report Manager Module reports
currently associated to this container.
Page 15 of 66
Expression - if there are any reports in the Report Manager that use it.
Properties Window
The properties window on the right displays the properties of whichever object is selected on the left in the
object window.
To maintain or view the fields, first select the relevant object (Enterprise. Connection, Container or
Expression) on the object window. All properties windows have editable and read-only fields to setup and
display various configurations, except the Enterprise object (has only read-only display fields and is not able
to be edited).
1.
2.
The various Properties windows are used to setup and display important object configurations. Certain
fields across all Properties windows are read-only and subsequently display with a blue background.
Page 16 of 66
All selected objects also has a Show Advanced option to display more options, with the exception of
Enterprise and the expressions.
3.
Page 17 of 66
Accessing Commands
There are two ways to access menu commands within the Connector interface:
1.
There are additional tabs which will give you access to more options. For example, in the Tools tab,
options are available to view system variables and run SQL queries. From the Help tab, you can open
the help file, connect to the online academy or the knowledge base.
2.
To view an object's associated elements, double-click on the object. This action is called drilling down
or expanding. To drill down is to show additional information. To hide an object's associated
elements, double-click an open object. This action is called drilling up, or collapsing thereby hiding the
additional information.
Page 18 of 66
The Connector maintains the connectivity between Sage Intelligence Reporting and the data source. The
data source is usually your ERP accounting system but can be other sources as well. The Report Manager
uses the connectivity to extract the data required for reports.
The steps to create connectivity to the source data is as follows:
1.
Add a Connection - A connection holds the relevant connection information to connect to a supported
ODBC or OLEDB compliant data source. By adding a connection to one of the defined connection
types, the Connector module can make data available from this data source. During this course, we
only use the RKL Trading Demo database which is an ODBC Driver for Access database. If you
open the connector and double-click on Enterprise, you will see the many other connection types that
are available.
2.
Add a Container - A Container is a set of metadata which is made available (published) by the
Connector module which will allow users access to the data using the Report Manager module. The
source of this data can be a database table, view, sql query, stored procedure or a custom join based
on two or more tables/views.
Page 19 of 66
3.
Add Expressions - An expression is a selection from the available fields of the selected container. In
addition to a data field from the container, an expression can be a:
Data Field - This is an expression that is directly linked to the database field.
SQL Expression - Returns data from a field or combination of fields based on a SQL expression;
the data reflected in this expression is based on the SQL syntax entered into the expression.
Microsoft Excel Formula - This is an Excel formula that will only resolve once it opens in Excel;
the data reflected in this expression is based on the Excel syntax entered into the expression.
Pass Through Variable - Pass Through Variables enable the queries (or SQL statements) that are
sent to the database systems during report execution to be affected at run time.
Excel formula
SQL Expression
Data Field
Pass Through Variable
Page 20 of 66
Adding a container
Adding an expression
Lets go through the procedure to create data connectivity to an access database by adding a connection,
container and expressions.
Adding a Connection
1.
From the object window, click on the ODBC Driver for Access.
2.
Page 21 of 66
3.
4.
5.
6.
Select Add.
The new connection is now available under the chosen connection type.
Page 22 of 66
Adding a Container
1.
From the object window, right-click on the RKL Trading Demo Connection.
2.
3.
Select the desired container type. (Table, SQL Join, View, Graphical Join, Stored Procedure, SQL
Query)
4.
Select OK.
5.
6.
Select OK. A container has now been created based on this single table.
Page 23 of 66
2.
3.
4.
Select OK.
Page 24 of 66
2.
3.
Page 25 of 66
Adding an Expression
1.
2.
3.
4.
Select OK.
Page 26 of 66
5.
Select the table which contains the expressions youd like to add and click OK.
6.
7.
Select OK. The fields will now be added under the container.
Page 27 of 66
Named Ranges
To use an existing Excel Workbook as a data source for a report, the data needs to be organized into
named ranges, and must not be formatted.
To create named ranges in Excel, do the following:
1.
2.
Make sure that the data is stored with accurate headings because the expressions will be created using
the heading names and we need to know what data we will be referring to later.
3.
Select the entire data range. There are some shortcuts you can use to select the entire data range but
lets stick to basics.
4.
5.
6.
7.
Select only the Top Row and click OK. This will create a named range for each column using the
column heading. Well use those for our expressions.
8.
Page 28 of 66
2.
3.
On the Home tab, select Add Connection. The Connection Info window will appear.
4.
Page 29 of 66
5.
In the Excel Workbook box, use the ellipses to browse to the location of the Excel workbook that you
will be accessing. If the workbook has been protected, you will need to add the relevant user id and
correct password.
6.
Click Add.
7.
Open the Excel workbook. You need to have it open to add a container to the workbook.
8.
In the Connector, click on the connection and select Add Data Containers.
9.
Select Table.
10. Select the table with the named range for the entire data.
11. Click OK.
Page 30 of 66
Graphical Joins
Up to now we have only linked to a single table. Many reports require you to join related database tables
together to retrieve the required data.
The JOIN keyword is used in SQL statements to query data from two or more tables, based on a
relationship between certain columns in these tables.
Its possible, in the Connector module, to create the join using SQL script, but if you are unfamiliar with SQL
script, you are able to create the join using the graphical join tool.
The graphical join tool enables you to create joins between tables using a graphical click and drag method.
This method enables you to create SQL joins that would normally require a technical understanding of SQL
scripting language.
Page 31 of 66
There are two main SQL Join styles that are used by database systems. For some systems either will work,
while for others only one of the methods will work. Its recommended where possible to use Syntax 2 (the
newer ANSI style Join).
Join Syntax 1
TABLE1, TABLE2, TABLE3
WHERE TABLE1.KEYFIELD = TABLE2.KEYFIELD
AND TABLE2.KEYFIELD_2 = TABLE3.KEYFIELD
Example
timesheet, employee, department
WHERE timesheet.employee_id = employee.id
AND employee.department_id = department.id
Join Syntax 2
TABLE1
[INNER | LEFT | RIGHT] JOIN TABLE2
ON TABLE1.KEYFIELD = TABLE2.KEYFIELD
[INNER | LEFT | RIGHT] JOIN TABLE3
AND TABLE2.KEYFIELD_2 = TABLE3.KEYFIELD
Example
timesheet
INNER JOIN employee
ON timesheet.employee_id = employee.id
INNER JOIN department
ON employee.department_id = department.id
INNER JOIN ON
TIP: Some systems allow tables to have names, which include space characters. Where this is the case,
its necessary to surround table names and field names with square brackets.
Page 32 of 66
This is the simplest, most understood Join and is the most common. This query will return all of the records
in the left table (table A) that have a matching record in the right table (table B)
Example:
Table A Customers Table:
P_ID
LastName
FirstName
Region
Hansen
Oleg
North
Teller
Tammy
North
Petersen
Karl
South
OrderNo
P_ID
77895
44678
22456
24562
34764
15
Page 33 of 66
FirstName
OrderNo
Hansen
Oleg
22456
Hansen
Oleg
24562
Petersen
Karl
77895
Petersen
Karl
44678
This Join can also be referred to as a FULL OUTER JOIN or a FULL JOIN. This query will return all of the
records from both tables, joining records from the left table (table A) that match records from the right table
(Table B).
Example:
Table A - Customers Table:
P_ID
LastName
FirstName
Region
Hansen
Oleg
North
Teller
Tammy
North
Petersen
Karl
South
Page 34 of 66
OrderNo
P_Id
77895
44678
22456
24562
34764
15
To list all the customers and their orders, and all the orders with their customers, the SQL script will be:
SELECT Customers.LastName, Customers.FirstName, Orders.OrderNo from Customers
FULL JOIN Orders
ON Customers.P.Id=Orders.P_Id
ORDER BY Customers.LastName
Result of above:
LastName
FirstName
OrderNo
Hansen
Oleg
22456
Hansen
Oleg
24562
Petersen
Karl
77895
Petersen
Karl
44678
Teller
Tammy
Page 35 of 66
Outer Join
An Outer join can be either a Left Outer or a Right Outer join.
Example:
LastName
FirstName
Region
Hansen
Oleg
North
Teller
Tammy
North
Petersen
Karl
South
OrderNo
P_Id
77895
44678
22456
24562
34764
15
To list all the Customers and their orders, the following SQL script can be used:
SELECT Customers.Lastname, Customers.FirstName, Orders.OrderNo from Customers
LEFT JOIN Orders
ON Customers.P_Id=Orders.P_Id
ORDER BY Customers.LastName
Page 36 of 66
Result of above:
LastName
FirstName
OrderNo
Hansen
Oleg
22456
Hansen
Oleg
24562
Petersen
Karl
77895
Petersen
Karl
44678
Teller
Tammy
34764
Even though the Customer. Tammy Teller, has no order, she will still be returned.
This query will return all of the records in the right table (table B) regardless if any of those records have a
match in the left table (table A). It will also return any matching records from the left table.
Example
Table A - Customers Table:
P_ID
LastName
FirstName
Region
Hansen
Oleg
North
Teller
Tammy
North
Petersen
Karl
South
Page 37 of 66
OrderNo
P_Id
77895
44678
22456
24562
34764
15
To list all the Orders with Customers, the following SQL script can be used:
SELECT Customers.Lastname, Customers.FirstName, Orders.OrderNo from Customers
RIGHT JOIN Orders
ON Customers.P_Id=Orders.P_Id
ORDER BY Customers.LastName
Result:
LastName
FirstName
OrderNo
Hansen
Oleg
22456
Hansen
Oleg
24562
Petersen
Karl
77895
Petersen
Karl
44678
34764
Page 38 of 66
A unique key or primary key must uniquely identify all possible rows that exist in a table and not only the
currently existing rows.
Examples of unique keys are:
Employee Numbers
Page 39 of 66
2.
3.
4.
Select OK.
5.
From the Specify a Name for the Container box, enter in the desired name.
6.
Select OK.
7.
8.
From the properties window select the Graphical Join Tool button.
Page 40 of 66
9.
10. Select OK. The tables will now appear in the properties window.
NOTE: To resize the tables, drag the lower border. To position the tables, click in a blank area of the
table and drag.
Page 41 of 66
Identify the common join key from the one table: Example, ID
2.
Drag the common join key from the one table to the other.
3.
Do the same for all additional tables you have added to the join.
5.
You can select to Set Join Type, Remove Join and you can check that you have joined the corrected
fields.
6.
7.
Select Apply.
8.
Page 42 of 66
9.
NOTE: To edit the graphical join, select the Graphical Join Tool button to activate the graphical join
tool. To Change the Container Type: You are able to edit the SQL syntax directly by changing the
container type to the SQL Join type, then editing the SQL syntax in the Join SQL text field.
Page 43 of 66
2.
3.
4.
Select OK.
5.
6.
7.
Select OK.
The expressions will now be added under the container. Sample any of the expressions from the list:
8.
9.
Select Sample Data. The data will be displayed in the Properties window.
Page 44 of 66
Custom SQL expressions are expressions that have been customized using SQL functions or operators.
This enables you to apply changes to an expression, such as combining one expression with another, or
applying a mathematical equation to the expression.
SQL functions are commonly used for:
Casting one data type to another e.g. a date stored as a text field could be cast to a real date.
Returning a certain value based on some logic, e.g. returning the text YES whenever a certain Boolean
field is equal to 1.
Page 45 of 66
The SQL functions available are specific to the ODBC driver used.
For example, the SQL functions available for a Microsoft Access database may be different to those
available for a Pervasive database. For information about the available functions for a connection type see
the help files or documentation provided by the driver.
2.
3.
Select Copy.
4.
5.
Select Paste.
6.
From the properties window, in the Expression Name box, rename the expression.
7.
From the Expression Type drop down arrow, select SQL Expression.
Page 46 of 66
8.
Select Apply.
From the properties window, you can now edit the Lookup SQL SELECT Statement or make changes to
the expression source.
Page 47 of 66
2.
3.
4.
Select OK.
5.
Type in the desired name in the Enter a Name for an Excel Expression box.
6.
Select OK.
7.
Type in the desired formula in the Enter the Excel Formula box. Spaces in field names must be
replaced with an underscore. Example, IF(Account_ID="RETINC","RETAINED
EARNINGS",IF(Financial_Type_Code="I","INCOME STATEMENT","BALANCE SHEET"))
8.
Select OK.
2.
3.
In the Expression Source field, type in the correct syntax for the expression type chosen.
4.
Page 48 of 66
Pass Through Variables enable the queries (or SQL statements) that are sent to the Database Systems
during report execution to be affected at run time. Where ordinary parameters are used to modify the
filtering element (or WHERE clause) of a query, only Pass Through Variables can be used with parameters
to modify other parts of the query. Pass Through Variables must be used in conjunction with a reports
parameters to be effective.
Pass Through Variables can also be effectively used to pass common parameter values through a series of
union child reports within a union report. In this way a union report may be configured to use one pop up
parameter screen to parameterize a number of union child reports.
Terminology
A Pass Through Variable is a type of Container Expression used to hold a variable value that can be
used within a report.
Pass Through Variable code is the Expression Source property defined as a unique code prefixed
and suffixed with @ symbols. This code can be used in Report Filters, Report Aggregate Filters and
in other Expression Source properties. Where literal values are usually placed in filter comparison
values, the Pass Through Variable code may be substituted.
Pass Through Variable value is the value held within a Pass Through Variable during the execution
of a Report.
NOTE: The value can only be set through a report parameter based on the Pass Through Variable. The
lifetime of the Pass Through Variable value is from when the value is set during report parameterization to
when the report execution completes.
Page 49 of 66
Dynamically modifying the outcome of a report column through display fields that are based on
expressions which include variables.
Apply multiple filters that use a single parameter which is based on a Pass Through Variable.
Create aggregate parameters by using aggregate filters with Pass Through Variable based parameters.
2.
3.
4.
When prompted for the type of expression select Pass Through Variable.
5.
Select OK.
6.
7.
8.
You will then be prompted for a code for the Pass Through Variable. The code is a unique identifier for
the Pass Through Variable. The code must be prefixed and suffixed with @ symbols. For example,
@COMPANY@.
TIP: This code that you choose for the Pass Through Variable has no relation to any existing expressions
in the container. The code must however be unique within the container and should preferably be unique
within your intelligence application to prevent conflicts when using Pass Through Variables in union
reports.
NOTE: Having done this you may then use the code @COMPANY@ in any of the containers
expressions or any report filters to dynamically affect queries at report run time.
To set the Pass Through Variable value you must define a parameter on a report that uses the Pass
Through Variable. Add a parameter to a report in the usual way but specifying the defined Pass Through
Variable as the expression to use for the report. When you run the report you will be prompted for a
parameter which will then set the Pass Through Variable value and any occurrences of the variable within
the underlying queries will be replaced with the variable value.
Page 50 of 66
Modify the Expression Source of the Expression to include the Pass Through Variable code. See the
example below where a SQL Expression has included a Pass through Variable code:
2.
Add a Parameter to your report and select the Pass Through Variable expression as the source.
3.
Run your report and enter a value for the parameter. In this example, the value that you enter for the
parameter will be placed into the variable @COMPANY@ and substituted into the expression
Company & Department.
Page 51 of 66
Make sure that the container that is used in your report has Pass Through Variable(s) defined as
explained above.
2.
NOTE: Running the report and entering a value for the Pass Through Variable will have no effect on the
report output until the Pass Through Variable code has been added to a filter (or aggregate filter) as in
step 3 below.
3.
Add a filter to the report that you wish to base on an expression that must be filtered in conjunction with
the Pass Through Variable code. Select the relevant comparison method for the filter (for example, Is
Equal To) and then enter the code for the pass through variable (for example, @COMPANY@).
4.
Run the Report. The parameter prompt will be used to set the Pass Through Variable value. This
value will be substituted for the Pass Through Variable code (@COMPANY@) in the filter set in step 3
above and will thus effect the output of the report query (through the SQL WHERE clause).
3.
4.
5.
Add the unique code beginning and ending with @, for example @CompanyName@
6.
Click OK.
Page 52 of 66
1.
2.
3.
Click Add.
4.
In the Choose Filter Fields window that appears, select the Pass Through Variable expression you
created in the connector.
5.
2.
Select Add.
3.
4.
Click OK.
5.
6.
In the Enter Comparison Value window, type the pass through variable name. Remember the name is
always in the form of @xxxxxx@.
2.
Select Add.
3.
4.
Click OK.
5.
6.
In the Enter Comparison Value window, type the pass through variable name. Remember the name is
always in the form of @xxxxxx@.
Page 53 of 66
Select a folder.
2.
3.
4.
5.
6.
Select OK.
7.
2.
Select Run.
3.
4.
Click OK.
5.
The report will open in Excel applying the pass through variable as a filter on the data that is retrieved.
WARNING: Make sure that the order of the union sub reports is correct. The last sub report must
contain the parameter because union Reports use LIFO (Last In First Out) and the Pass Through Variable
will need to be set upfront to be available to the other subreports.
Page 54 of 66
Moving a Container
You are able to move containers from one connection to another to save time.
WARNING: Although you can move a data container to a connection in a completely different connection
type, this may lead to issues around SQL syntax.
From the object window in the Connector, right-click on the desired container.
2.
3.
From the Move Data Container to Connection window, select the connection you want to move the
container to.
4.
Select OK.
2.
3.
Page 55 of 66
The reports in the Report Manager that utilize that specific container will be listed.
Renaming an Expression
Its always advisable to use meaningful names in the container and expressions so that the data is easily
identifiable later.
To rename a container or expression, do the following:
1. Select the container or expression.
2. Select Rename.
3. Type in the new name in the Rename dialog box.
4. Select OK.
NOTE: Its always best to rename you expression when you initially set it up because if an expression is
already in use as a field (Column) on a report, and you then rename the expression, it wont automatically
2014 Sage Intelligence Reporting
Page 56 of 66
change on the report. Youd have to remove the field from the column property screen of the report and
then add it back again.
Deleting an Expression
To delete an expression, do the following:
1. From the object window, double-click on the desired container to view the expressions.
2. Click on the expression.
3. Select Delete.
4. Confirm by selecting Yes.
NOTE: If an expression is in use on a report then you wont be able to delete the expression. The
column field will need to be removed from the report first, then youll be able to delete it from the
container.
Page 57 of 66
2.
Set the Lookup Type property to the required lookup type and click Apply.
Page 58 of 66
This is useful where the parameter value required is not meaningful to the user. An example would be
where Store Code is required as a parameter value, however users only know stores by the Store
Name. By using a Code & Desc Pair lookup, the store names will be displayed in the lookup list but the
store code will be passed through as the parameter value when a store name is selected from the list.
Using this option requires that you be familiar with SQL and with any SQL specifics of the database
system being accessed. Once you select this option and click Apply, a new property named Lookup
SQL SELECT Statement will appear and you can edit it to customize the lookup.
Text File
This option allows you to specify a text file which will be used to define the lookup. The text file must
contain a single item on each line.
Using text files can be useful when the list provided in a parameter lookup is very specific. Where a
normal SQL lookup might bring back some items which are not relevant to a user then a text file can be
used to populate with just the relevant items.
NOTE: The text files that are used for lookups lie outside of the containers and are not bundled with a
report that is exported for redistribution. The text files would need to be implemented in the target system
manually.
Page 59 of 66
PICKLISTS
Consolidated Connections
Creating a PICKLIST
PICKLIST
Youd use PICKLIST when you want to run a consolidated report from multiple databases. PICKLISTS are
set up in the Access Database (mdb) textbox in the properties of the connection in the Connector.
Page 60 of 66
Navigate to the Access Database (mdb) textbox in the properties pane and replace the existing
database details with the following: PICKLISTM=Select from List;MyCompanyA::DataA;
MyCompanyB::DataB; MyCompanyC::DataC; MyCompanyD::DataD
This will give us a PICKLIST showing four companies database connections A through D which we can
choose from.
PICKLIST Variables
PICKLIST=
Presents you with a list of all connections but only allows you to select ONE.
PICKLISTA=
Will automatically run ALL the connections listed in the PICKLIST, thus no popup list to select from. This
option is great for a consolidated Management Pack that consists of all the Companies in the list.
PICKLISTM=
Presents you with a list of all the connections and allows you the option of specifying which connections to
run. Make your choice by checking one or more of the check boxes next to your Company Names.
PICKLISTDSN=
Presents you with a list of all connections available DSN connections but only allows you to select ONE
Select from List;
This is the text that will appear in the popup box and you can change it to whatever you like. Remember to
always end with ; This is only really useful when used with the straight PICKLIST= option, thus you can
safely leave the comments out if you wish provided you still end in ;
e.g. PICKLIST=; MyCompanyA::DataA; MyCompanyB::DataB;
MyCompanyA::DataA; - Defines your various database connections.
MyCompanyA:: - Is your descriptive name so anything goes remember to end in ::
DataA; - is the exact database path and name so it has to be exact remember to end in ;
Page 61 of 66
Right-click the connection and select Check/Test to ensure the syntax and connection is correct.
Once it is working, export the report that needs to use the PICKLIST from the Report Manager.
Import this report by right-clicking on the PICKLIST connection and selecting Import Report.
2.
3.
4.
5.
Select Apply.
6.
7.
8.
9.
The consolidation connection has now been set up. You now need to import the report youd like to see
consolidated against the new consolidation connection.
Page 62 of 66
In the Report Manager select the folder youd like to import the report into.
2.
3.
The Select Import Report window will open select the report that you are importing, and click Open.
4.
5.
You can rename your Report Name, and select the newly created Consolidated Connection.
6.
Click Import
7.
8.
The newly imported consolidated report will appear in the Report Manager.
9.
You now need to set up the Database Consolidation List in the properties window of the report.
Select the ellipsis button.
10. Select the databases you wish to consolidate. They will then appear in the Database Consolidation
List in the properties window of the report.
11. You can now run your consolidated report into Excel and customize it to suite your specific reporting
requirements.
Page 63 of 66
Pre-Requisites
Automation
Flexibility
Performance
Pre-Requisites
We recommend that prior to configuring the connector, you first create a comprehensive requirement
document in addition to:
A sufficient Data Dictionary (A data dictionary is a collection of descriptions of the data objects or items
in a data model for the benefit of programmers and others who need to refer to them) of the database
being reported off.
Page 64 of 66
Stored procedures and SQL query containers provide less flexibility when creating new or modifying
existing reports off these containers. For example: parameterization of reports built off SQL Query and
Stored Procedure containers can only be achieved using Pass Through Variables which is an advanced
feature of Sage Intelligence Reporting.
Views and Stored Procedures should only be used if designing a report from a database where they are
standard within the database and not client specific. An exception would be if the need arises for an
extremely complex report where the end result cannot be achieved in any other way.
Name containers similar to the report name. This is for ease of use in recognizing the contents of the
container.
Use Graphical Joins unless you require specific clauses within the join, as this is a graphically intuitive
means of joining tables by linking primary fields in one table to secondary fields in another table.
For performance, its best to join index fields. However, where joins are required on non-indexed fields,
its recommended that you index the required fields.
Page 65 of 66
Use Data Fields and SQL Expressions as much as possible. SQL Expressions should be used as often
as possible as these have a faster run time as Excel expressions and can also be used in aggregates.
Include expressions with meaningful names in the container that may be useful for future use, even if
they are not required on the report in question.
Pass Through Variables are a powerful feature but can make containers more complex to use. Only
use them when there is no better way to achieve the same result.
Excel Formulas should be a last resort if the end result cannot be achieved through SQL Expressions.
Excel formulas have a negative effect on file size and performance.
Where possible, use SQL expressions to create calculated fields as opposed to using Excel formulas at
the front end within Excel.
Ensure that lookups are working properly on all expressions in the container and not just the
expressions intended to be used in the report, as other users may create reports off the same
container.
Where the functionality of the database allows for the use of the SQL Distinct keyword, ensure that
lookups display a distinct list of values.
For containers that access large data sets, its recommended that the SQL lookup type for all
expressions be changed to Direct from Container or SQL Statement Defined. This will optimize
lookups and minimize the load on the database server.
Where necessary, set the lookup type to a Customized SQL Statement and customize the statement in
order to achieve the preferred end result. The lookup of the expression does not always have to come
from the table listed in the expression source; it can be set to obtain the value from a different table.
Page 66 of 66