Scheduling with the File-based Repository
![]() |
This page describes Scheduling with the file-based Repository. For the SQL Repository, please see Scheduling with the SQL Repository. |
Contents
[hide]Introduction
XLCubed Web Edition can be used to deliver reports to users automatically.
Using a schedule you can define which reports go to which users, and can optionally parameterise the results.
Scheduling maintenance is set up in the browser using the Scheduling menu (or the icon in v7.6 and older).
This article is about configuring XLCubed Scheduling, you can also find more information about Scheduling Installation or, for using it with the SQL Repository, please see Scheduling with the SQL Repository.
Concepts
The scheduling module is made up of a few key parts.
SMTP Servers
An SMTP server is a computer that is configured to send emails. You will need to set one up so that reports can be delivered to your users.
Report Distribution
XLCubed allows two different ways to set up the recipients for a report. The first is ideal for where the report needs to be sent to just one or two people. Just type in the email addresses and it’s ready to go.
The alternative is slightly more complex to set up, but once set up, it’s easy to make new reports with the same recipients. To use this, you set up a Distribution Group, composed of any number of people. To make it easy to set up the reports as needed, each Group is assigned a Database Role to use and a Locale to format its numbers and dates. One or more Distribution Groups are assigned to each Distribution List, so that your scheduled report can be sent to more than one group at once.
Distribution Groups
A Distribution Group defines a set of users by their email addresses. Also associated with this is a locale for formatting the report (Numbers appear as 1,234.56 or 1.234,56) and a database role to run the report as.
For example you could define "USA Managers" to run with US formatting under the US role, and have "German Managers" run with their own settings.
Distribution Lists
A Distribution Lists is a set of Distribution Groups which are linked together so a report goes to all users in all groups at the same time.
For example you could define "Managers" as a list comprosed of the USA Managers and the German Managers, and have reports sent to all of them.
To illustrate this with an example, imagine that there was a particular report that you needed to send to managers in the USA, China and Germany. Since the formatting and roles would be different for each group of managers, you would need a setup something like this
Schedules
A Schedule defines:
- which reports get sent
- who they are sent to
- when they are sent (once, daily, weekly or monthly, on days of your choosing)
If you wish to have a different set of reports go to different people then this would be a new schedule.
Picking Reports
When picking a Report to be added the dialog box offers some options.
Parameters
Report parameters are defined in FluenceXL Excel edition. You can set fixed values, or pick one of the Placeholders to be set up when the report is generated.
Roles
Sets the Analysis Services role to run the report as, useful if you have cube security. This setting will be overridden by any setting made for a Distribution Group.
Attach As
Defines the format of the report to be delivered, either PDF or Excel file.
Placeholders
By entering these custom values as report parameters you can customise the file for each user.
Code | Description |
---|---|
%date% | Inserts the current date |
%time% | Inserts the current time |
%datetime% | Inserts the current date and time |
%rolename% | Inserts the database role or roles that are being used |
%groupname% | Inserts the name of the distribution group |
%distributionlist% | (V10.0.129+) Inserts the name of the distribution list |
%email% | Inserts the email address of the recipient. Ignored if %emailtosendto% is also used |
%displayname% | Inserts the display name of the recipient. Ignored if %emailtosendto% is also used |
%sendiftrue% | Triggers sending of the report. May only be used once per report |
%emailtosendto% | Retrieves a comma-delimited list of email addresses from the report. May only be used once per schedule |
%sendiftrue%
If %sendiftrue% is used the report will be generated normally, but only sent to users if this parameter is calculated to be TRUE.
This allows exception reporting, for example, if you had appropriate names defined in Excel, you could set the formula in the parameter cell to be
=Or(Sales < 1000, Losses > 50)
The report can be published with the exception-detecting cell exposed as a Web Parameter:
This parameter can then be used as the %sendiftrue% parameter when setting up the schedule:
%emailtosendto%
If %emailtosendto% is used, the email addresses defined in the schedule or distribution group will be ignored, and the addresses retrieved from this parameter instead. The value in the cell may be either one email address or a comma-delimited list.
Note that this parameter overrides the %email% and %displayname% parameters.
Starting from an Existing Schedule
If the schedule you are trying to create is similar to an existing schedule, you can copy the details into the new schedule by following these steps:
- Click the Add Schedule button to create the new schedule
- Click the Clone Existing button to display the Select a Schedule dialog
- Select the schedule you would like to copy the details from
- When you click the OK button, the details are copied into the new schedule
Finding the Scheduling Error Log
The Scheduling error log can be found in the XLCubed Web Edition Repository, under the __xlcubed__\__scheduling__ subfolder. For example, if XLCubed is installed in the standard location, it can be found here:
C:\inetpub\wwwroot\XLCubedWeb\Repository\__xlcubed__\__scheduling__\error.log
Controlling Schedules through SQL
Some parts of the Scheduling configuration (e.g. distribution lists) can be queried from a SQL query. You can find more information here.
Sending a Scheduled Report using Integration Services
Existing schedules can be triggered by using a web service. You can find details on how to set this up in this article.