Scheduling with the File-based Repository


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 Clock run.png 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.


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 an Analysis Services 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 an Analysis Services 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 composed 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



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.


Report parameters are defined in XLCubed Excel edition. You can set fixed values, or pick one of the Placeholders to be set up when the report is generated.


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.


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


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:

SendIfTrue Excel.png

This parameter can then be used as the %sendiftrue% parameter when setting up the schedule:

SendIfTrue Schedule.png


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:

  1. Click the Add Schedule button to create the new schedule
  2. Click the Clone Existing button to display the Select a Schedule dialog
  3. Select the schedule you would like to copy the details from
  4. 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:


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.

See Also