CQS Fund Reporting
Toolkit 1.0
Help & Documentation
1.
Overview
2.
How
to …. (User Help)
3.
Auditing
Functions
4.
Specifications
& Limitations
5.
Technical
Construct
1.Overview
The CQS
reporting toolkit has been designed to assist with the creation of CQS monthly
fund reports with an ability to quickly and easily make subtle changes without
the need for major re-design work or skilled reporting design knowledge. The
essence of the system is a simple to use DTP style front end that enables a
‘designer’ style view of the resulting report. Individual manual and proc data
items can be added, deleted, moved or hidden quickly whilst the system takes
care of where on the physical report page each data item fits, and dynamically
changes its position according to the overall requirements and each data item’s
varying size. The toolkit is written in VBA and the functionality is available
entirely within Excel to any person with access to the report. Stored procedure
data is (re)acquired each month by a second system requiring a simple Excel
installation (please speak to CQS technical department for instructions on the
necessary installation)
2.How to…
N.B. The userform mentioned in these
instructions is accessed by pressing the ‘Utilities’ button on the CQS
Reporting Tab which will automatically be present when any report is opened.
Remember to enable macros when you open the workbook or the functions will not
be available
Re-Arrange the items in my report
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Designer’ from the list of
control sheets
2.
Drag
the object(s) to be moved to their new positions relevant to the other objects
in the report. The exact position is unimportant, which will be calculated when
the report is created. Move, create or delete control objects (e.g. Page Breaks)
if required.
3.
Press
the ‘Create Report’ button from the ribbon to check the new format
Hide some items on a current report
for one month
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Designer’ from the list of
control sheets
2.
Select
a single item that you do not wish to see on the report
3.
From
the ‘Report’ tab on the ‘Utilities’ userform press ‘Show / Hide Active Object’.
4.
The
object will be shown with a bright red border to indicate that it will not be shown.
Control objects cannot be hidden.
5.
Repeat
step 2 for any other objects to be hidden, or depress the button a second time
to show the object again
6.
Press
the ‘Create Report’ button from the ribbon to check the new report
Remove an item from my report
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Designer’ from the list of
control sheets
2.
Select
a single item that you wish to delete
3.
From
the ‘Report’ tab on the ‘Utilities’ userform press ‘Delete Active Object’. The
object and all its associated data (such as user data or SProc instructions)
will be deleted. This process cannot be undone.
4.
Press
the ‘Create Report’ button from the ribbon to check the new report
Insert a new Manual table or chart on
a report
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Designer’ from the list of
control sheets
2.
Insert
the cursor in the relative position where the new data should reside (Insert
rows on the Excel sheet if required)
3.
From
the ‘New Data’ tab of the ‘Utilities’ userform, select ‘Data Table (Manual)’ or
‘Chart (Manual)’ from the list of option buttons on the left hand side
4.
Enter
a meaningful name (e.g. Historic Data) in the object name textbox just above
the option buttons. The text must be simple character only (A-Z, a-z, 0-9,
dash, space)
5.
Set
the desired relative or absolute width of the new object in the ‘Width
Information’ section on the right hand side of the tab. Remember to select
whether or not the item should reside in the container or be anchored to the
bottom of the page.
6.
Press
the ‘Create New Object’ button on the bottom right of the tab
7.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select your new ‘User’ sheet from
the list of User sheets. It will be named the same as the name you gave the
object with the prefix ‘User_’, e.g. User_Historic Data
8.
Copy
or enter the data you exactly as you wish it to be shown on the final report
including all formatting. Formula may not refer to any other workbook or
worksheets EXCEPT the ‘Variables’ sheet. If inserting a chart, the chart should
reference data on the user sheet only.
9.
When
you create the report, the toolkit will take a snapshot picture of the entire
used range used, or in the case of a chart sheet a snapshot of the chart
itself, exactly as it is displayed
Insert a new SProc table or chart on
a report
1.
Up
to and including step 6, follow the instructions for creating a manual table or
chart above, selecting the relevant SProc option button from the user form
2.
In
addition a new entry will be made on the ‘Control’ sheet, that informs the system
which SProc data to return. From the
‘Goto’ tab of the ‘Utilities’ userform, select ‘Data Control’ from the list of
control sheets.
3.
Complete
the 4 relevant required details: Stored Procedure, Parameters, Database &
Table
4.
Import
the SProc data (this can only be done through the additional CQS Data tool
which will need to be installed separately)
5.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select your new ‘User’ sheet from
the list of User sheets. It will be named the same as the name you gave the
object with the prefix ‘User_’, e.g. User_Historic Data
6.
Copy
or enter the data you exactly as you wish it to be shown on the final report
including all formatting. Formula may refer only to the associated SProc sheet
(e.g. SProc_Historc Data) or ‘Variables’ sheet. If inserting a chart, the chart
should reference data on the Sproc sheet or user sheet only.
7.
When
you create the report, the toolkit will take a snapshot picture of the entire
used range used, or in the case of a chart sheet a snapshot of the chart
itself, exactly as it is displayed
Force a page break in my report
1.
If
no forced page breaks are present the toolkit will automatically insert them
when required according to the size of the data and margins. However to
manually force a break, from the ‘Goto’ tab of the ‘Utilities’ userform, select
‘Designer’ from the list of control sheets
2.
Move
the cursor to the desired position
3.
From
the ‘New Object’ tab of the ‘Utilities’ userform, select ‘Force Page Break’
4.
Press
‘Create New Object’
Change exactly what is shown from my
user sheet on the final report
1.
By
default the entre used range is taken as a picture snapshot by the toolkit. In
order to display a cut down view, for example to hide some pre-calculations,
set the print area of the sheet to that
desired. (From the Page Layout / Print Area / Set Print Area)
Understand why I get ‘Integrity’
messages
To help
ensure integrity and stability there are several rules around what can be
reference sin formulae. These rules are NOT forcibly enforced, but are there
for the protection of all users, and to help keep consistency throughout the
company. Whenever a user produces a PDF of the report tests are undertaken to
check the integrity and any undesirable results are displayed. The following
rules are checked …
2.
‘User_’
sheets for manual data and charts may only refer to themselves or the
‘Variables’ sheet
3.
‘User_’
sheets for SProc data and charts may only refer to themselves, their associated
SProc sheet or the ‘Variables’ sheet
4.
All
‘User_’ sheets may refer to a SProc sheet that has no associated User sheet or
a User sheet that is hidden
5.
No
‘User_’ sheets may refer to external data (e.g. links)
Insert / Delete or Change the size
and underlining of a title
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Title Control’ from the
list of control sheets
Subtly alter the positioning of an
object
Sometimes
the position of an object on the final report needs to be adjusted a little,
consider the following options
1.
Increase/Decrease
the row height of any title just before the object .. this will create
additional white space
2.
Nudge
the picture(s) of the object to the desired position from the relevant Report
Sheet in Excel using the up, down, left, right buttons. From the ‘Report’ tab of
the ‘Utilities’ userform, select ‘Store Report Nudges’ and check the ‘Apply
stored nudges’ checkbox. Each subsequent time the report is created the nudges
will be applied.
Change the Width/Location of the
Container
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Margin Control’ from the
list of control sheets
2.
The
width and location of the container can be amended from the Margins Page using
the Container Object Width and Indent settings
Add a Header/Footer
Headers are
not supported in version1 of the reporting tool. Footers are applied at
‘Background’ level …that is to say footer text (such as ‘Confidential’) can be
applied to every page with the same background. The footer text for each
background is set on the Margin Control sheet
Add Page Numbering
1.
From
the ‘New Object’ tab of the ‘Utilities’ userform, select ‘Page Numbering’ from
the list of options
2.
Press
‘Create New Object’
3.
This
will toggle page numbering on or off from the desired position in the
‘Designer’ sheet. The page numbering text resides alongside any footer text ,
and can be toggled on or off by inserting
Change the background
1.
On
the designer sheet, select an area at the END of the page BEFORE the different
background is required (By default Background 1 is used at the start, which can
be changed by entering a different background at the top of the designer page)
2.
From
the ‘New Object’ tab of the ‘Utilities’ userform, select ‘Force background’
from the list of options, and choose the appropriate background
3.
Press
‘Create New Object’
4.
The
new background control will appear on the designer sheet. The new background
will start on the NEXT new report page when the report is created
Adjust the column widths in my user
tables to fit the titles
The toolkit
will automatically adjust chart widths and the column widths in User_ sheets
before copying them as a picture to the report. To adjust column widths to fit
prior to report creation (for example when testing to see if titles will fit)
the toolkit can be used resize the columns automatically sp when the report
created no column width adjustment is required. One or more columns can be ‘excluded’
from the resizing if required.
1.
Select
the ‘User_’ page containing the columns to be resized.
2.
If
all the columns are to be resized equally (by percent) select a cell OUTSIDE
the range to be printed. If one or more columns are to be ‘Fixed’ in width,
highlight those column(s)
3.
From
the ‘Advanced’ tab of the ‘Utilities’ userform, select the required relative or
specific width
1.
Press
‘Resize Column Widths’
Insert commentary that might run over
2 pages
The system
will not automatically create a second page to accommodate long text. If text
is likely to run into multiple pages then create two or more user text objects
and manually split the text across them. If the test ‘sometimes’ goes over
multiple pages use the Show/Hide feature to hide any text boxes that are not
required to be shown
Format commentary
All commentary
is held in text boxes which can be formatted as normal text. If copying a text
box from another application remember that the margins INSIDE the textbox can
alter the text position (right click and format shape / text box / margins to
adjust these settings)
Add a new standard object
1.
From
the ‘Goto’ tab of the ‘Utilities’ userform, select ‘Standard Objects’ from the
list of Advanced control sheets
2.
Insert
a GRAPHICAL object on to the sheet (This can be also be Excel cells, if they
are copied and pasted as a picture)
3.
Rename
the Graphical object to an appropriate name starting with the text ‘StdObj_’,
e.g. StdObj_Logo (Enter the name in the name box just below the ribbon on the
left hand side and press enter)
4.
Close
and reopen the userform, and select the ‘New Object’ tab, from where the new
object will be listed
Please note
standard objects are NOT resized by the toolkit when the report is created.
Move an item in or out of the
container
In version 1
of the reporting tool report objects cannot be moved in or out of the
container. The object will need to be deleted and re-created inside or outside
(By checking or unchecking the box in the ‘Width Information’ section of the
#New Data’ tab
Change an item from user defined to
SProc data
In version 1
of the reporting tool report objects cannot be changes from manual to SProc.
The object will need to be deleted and re-created in the correct format
Change from Portrait to Landscape
In version 1
of the reporting tool report there is no direct way to change a report from
Portrait to Landscape.
3.Auditing Functions:
The system can
ascertain that a change has been made to the structure or contents of any SProc_
sheet or User_ sheet in the report since the last time it was approved. This
can be useful as a check to make sure (for instance) that SProc data has been
updated, that Commentary has changed, or if a new column of data has been
introduced into a User_ sheet.
**All
comparisons are made using the last time the report was ‘Approved’ as their
basis **
At any time
a check can be made to see the differences since last approval by pressing ‘Differences
Since Approval’ button on the ‘Report’ tab of the userform. A list of the SProc
sheets, User_sheets and Text sheets is displayed and are colour coded green if
they met the following criteria, otherwise they are coloured red.
SProc
Sheets: Content has changed, Size and Structure has remained the same
User_
Sheets: Content has changed, Size and Structure has remained the same
Text_
Sheets: Content of the text box has changed.
*In version
1, differences in Charts or Chart contents are not discerned by the toolkit.
It is
possible to override the logic when there is a different expectation in the
following ways ,,,
If the
content is expected to remain the same (for example a legal notice) then change
the
‘No change
expected!’ column (Column F) to TRUE on the appropriate line of the Audit
sheet. This setting will remain unless it is reversed.
If the
structure is ALWAYS expected to change, for example a sproc that returns a new
month of data each month it is run, then change the ‘Structure change (e.g. new
row/col) always expected’ column (Column G) to TRUE on the appropriate line of
the Audit sheet. This setting will remain unless it is reversed.
A 4-Eyes
approval can be made that formally records the changes before release to
4-Eyes.
A maximum of
500 lines of Audit information is held. Data is removed from the bottom of the
sheet when this limit is exceeded.
Full Audit
Approval information is held permanently, subject to the 500 line limit above
4 Eyes
Approval information is held until the next 4-Eyes approval is made, subject to
the 500 line limit
Changes
since last approval information is held until any other approval request is
made.
4.Specifications
& Limitations
Requirements:
Windows
Excel 2007 or Excel 2010 32 Bit with SP2
(API
calls will fail on 64 Bit versions, SP2 is required for conversion to PDF)
Limitations:
99
Report Objects
3
Different Background Styles
Maximum of 1 container object size/
position in any report
A4 Paper
5.Technical
Construct
The toolkit
has been designed to operate entirely within the confines of a standard Excel 2007
installation and requires no special programmatic references. The system is
best understood as a series of XML ‘objects’ that reside on the ‘Designer’
worksheet. The XML for each object is held as a custom document property in
Excel which can be viewed, extracted, manipulated or imported by external
programs if required even if the
workbook is closed. As the CDPs are limited to 255 characters a compact format
was used, with each XML comprising a single ‘Report Object’ element containing
23 attributes, as described below.
|
XML Att |
Excel Variable |
Excel Type |
Description |
|
'N' |
strName |
String |
Object Name as shown on the Designer page |
|
'S' |
blnShowInReport |
Boolean |
Whether or not the object is currently displayed in the report |
|
'T' |
strType |
String |
Type of object: Must be one of the following… |
|
'CT' |
blnContainer |
Boolean |
Whether or not the object resides in the 'container' on the
report |
|
'DT' |
lngDesignerTop |
String |
Distance from the top of the designer page (Points) |
|
'DH' |
lngDesignerHeight |
Long |
Height of the object on the designer page (Points) |
|
'DL' |
lngDesignerLeft |
Long |
Distance from the left of the designer page (Points) |
|
'DW' |
strWidthDescription |
String |
The width of the object. This can either be directly specified
in mm by using "User specified width: " plus the number, or one of the
following width descriptions … |
|
'RS' |
intReportSheet |
Integer |
Distance from the top of the designer page (Points) |
|
'RT' |
lngReportTop |
Long |
Distance from the top of the designer page (Points) |
|
'RL' |
lngReportLeft |
Long |
Distance from the left on the final reprt page (Points) |
|
'RW' |
lngReportWidth |
Long |
Width in points on the final reprt page (Points) |
|
'RH' |
lngReportHeight |
Long |
Height in points on the final reprt page (Points) |
|
'FIX' |
blnFixedWidth |
Boolean |
Whether or not the width can be adjusted automatically by the toolkit
to allow for changes in page formatting (e.g. margins) |
|
'LW' |
lngLastReportWidth |
Long |
Width in the last rport created (for future auditing purposes) |
|
'LH' |
lngLastReportHeight |
Long |
Height in the last rport created (for future auditing purposes) |
|
'NL' |
lngNudgedLeft |
Long |
How far (in points) the object has been nudged on the final
report by the user |
|
'NLF' |
strNudgedLeftFromObj |
String |
Not currently used |
|
'ND' |
lngNudgedDown |
Long |
How far (in points) the object has been nudged on the final
report by the user |
|
'NDF' |
strNudgedDownFromObj |
String |
Used to determin if the object is fixed to the bottom of the report page |
|
'CRC' |
strCRC |
String |
Cyclical Used for Auditing purposes |
|
'OR' |
lngOriginalRows |
Long |
For titles, used to designate which row on the titles sheet the
text resides |
|
'OC' |
lngOriginalCols |
Long |
Not currently used |
Test Information:
The toolkit was
designed in Excel 2010 on Windows 7 where initial testing took place. The
toolkit is entirely backwards compatible to Excel 2007. Final testing was on
Windows XP. At CQS some Virtual Machines showed errors which were identified as
a Windows error. Please see http://support.microsoft.com/default.aspx?scid=kb;en-us;840872
for more information. A VM re-boot appeared to solve the issue most of the
time.