In 8.2 we’ve got incremental publishing, allowing us to create real-time reporting on contributor data and that sets up new frontier in model data transfer speed. Now the slowest part of models are administration links (who’d guessed that when 7.3 appeared).
Here are some ideas of how to speed admin links up, using the same principle as in incremental publish: transfer only changed data. So when only 2 elist nodes submitted data, all 200 don’t have to be moved and recalculated once again.
Let’s look at the scheme of incremental publish:
every time inc publish is run, a timestamp is set to point the run time
during run inc publish selects only elists with change date more than inc timestamp, this meaning that these elists data was changed since last inc publish
So we need 2 tools:
One to set & store & query the run time. Let’s call it “Egg-Clock”
Other to run the task selecting only limited number of elists. Lets call it “Select Elists, Run Job” or “SERJ” )
Egg-Clock is pretty simple in all cases, you just record the timestamp somewhere (text file, table etc) and return it back.
SERJ was almost simple for publish — you’ve had to recreate publish macro, specifying needed elist guids.
How can we do this with administration links? I’m pretty sure some people in Cognos are writing built-in utility for inc admin links right now, but sometimes you have to get things done without waiting for another major release.
1 Use query subjects and package import
How to:
You set up incremental publish on application to make it’s data always ready for transfer.
Create a query subject on that published data that you need to transfer
Set up a filter on that query subject using Egg Clock to select only elists that have changed since last incremental admin link run time
Create an administration link from filtered query subject to your target application.
Create a macro that will run this link and update Egg Clock and there you go. You can add an incremental publish in this macro to make it completely independent
It’s a rather straight-forward solution and quite easy to set up.
2 Use duplicate applications and No Data Settings
We’ll try to use following rule: when administration links are run No-Data items are not transfered. It’s rather cumbersome solution, but maybe someone will like it )
Create a copy of your source application (yep, the same application, just another copy)
Add an imported access table in that application, opening selected elists on read or write. Set default level to No-Data. It should apply to all cubes in application, delete other ATs if necessary.
Use Egg Clock to generate this access table, select only elists changed since last run time.
Create link, copying your source application to this duplicated application.
Create all your desired links from duplicated application rather than from source one.
And in macro do following:
1 Create access table based on Egg Clock — only changed elists
2 Import this AT into duplicate application
3 GTP duplicate — this will cut-down all other elists, except changed ones
4 Run links from source to duplicate — since No-Data is applied only changed will transfer
5 Run links from duplicate to target — again only No-Data elements
3 Try to modify .cal export files and import them back