cancel
Showing results for 
Search instead for 
Did you mean: 

Aggregates & clearing cache problem

Former Member
0 Kudos

Hi all,

We have a report on a multicube and this multicube combines data of 3 infocubes (with aggregates). When running this report via RSRT2 in debug-mode, you can see which aggregates it chooses. This all works fine.

The result of the report however, still show old data, even though the use of cache has been disabled and the aggregates have been freshly rolled up right after the dataload. I know aggregates have cache of themselves, but doesn't the rollup of an aggregate overwrite this cache?

So in short: Howcome the report still shows old cached data?

The temporary solution we have now is to empty the cache and roll up the aggregate again in the morning (data loads run at night), but this reduces the performance of all other reports aswell (as there is no cache initially).

Thanks,

Eduard

Message was edited by: E. Brantjes

Message was edited by: E. Brantjes

BTW, running this report without cache and aggregates gives correct results.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks Anil.

We know this solution is not completely a solution, but it solved the problem for now. We were wondering if this problem is a case of 'works as designed' or really a bug in BW. Technically the setting in the SPRO should not affect the aggregate rollup data-wise, in our opinion.

I will consider entering an OSS request with my colleagues first.

Thanks!

Eduard

PS, I see you edited you message. We did run RSDDK_CHECK_AGGREGATE_SELOPT, but there were no errors found.

Message was edited by: E. Brantjes

Former Member
0 Kudos

Hi,

Also try this program:

'SAP_DROP_TMPTABLES' .

with rgds,

Anil Kumar Sharma .P

Former Member
0 Kudos

Thank you, but I had already done that.

Clearing the cache and rolling up the aggregate again solves the problem, but after new dataloads in the cube and a succesful roll-up again, the query still shows old data + new data.

For example: A project end-date was changed. The query result shows the previous end-date with blank budgets, costs, etc. AND it shows the latest updated end-date WITH budgets, costs, etc. The record with the previous end-date should not be shown, it actually does not exist in the cube anymore. Cache has been disabled for this query, so I suspect the aggregate has something to do with it. Does the aggregate use cached data at roll-up?

Eduard

Former Member
0 Kudos

Under the execute and Debug near the bottom is an option to not use cache. You should check that box, that way that test will not look in the cache for results. You can confirm that the cache was used or not becuase when the results were retrieved from OLAP cache, the DB Rows Selected and Rows Transferred counts in RSDDSTAT will be 0 but when it hits the aggregate or base cube, you'll have counts in those fields.

Hope it helps.

Regards

Former Member
0 Kudos

Have you confirmed that the newest Requests are marked as available for reporting?

Paolo suggests using RSRT in debug to test -

do you get different query results when you

run the query using the aggregates

vs

run the query with the "Do not use aggregates" option

vs

run the query with "Do not use cache"

Just trying to figure out is this is an aggregate issue or a cache invalidation issue.

Sounds like some sort of failure to invalidate the cache

Also -

Are you current with SP?

There are various Notes out there on OLAP Cache Invalidation that might be relevant depending on your system's Sv Pack level.

Some are:

679604

779015

879290 has to do with multiproviders with hierarchy.

822302 has some info on verfiying timestamps of parts of a MultiProvider.

Former Member
0 Kudos

Thanks for your help, but I'm not there yet...

The cubes are filled, available for reporting and rolled up. I had already used RSRT2 for debugging the different scenarios (see my 1st post). Disabling the cache does not solve the problem, disabling the cache AND disabling the aggregates does.

So, why do I need to do this? How are aggregates and cache linked? The aggregate has been rolled up freshly after the latest dataload, so why does it still refer to old cache (which actually has been disabled in the query properties)? I'm trying to figure out how aggregates work; what they do in the background technically.

Simply not running through the aggregates solves the problem, but it reduces performance.

I will have a look at the aggregate specifications. See how they are different from other aggregates (but I expect no difference).

BTW, We're running BW 3.5 SP13.

Thank you.

E

Former Member
0 Kudos

The problem was solved in the SPRO-settings. In the 'parameters for aggregates' the 'limit with delta' was set at 10%. Somehow this caused the aggregate not to roll up all the added data, even though there were changes (But obviously not more than 10%?). We set this parameter back to 0, so <b>all data</b> in the cubes is always rolled up instead of only the last delta.

Eduard

Former Member
0 Kudos

Hi,

Even though it has solved your problem, but this is not the correct reason for your problem. RSCUSTV8 helps the system to determine when the delta process is to be switched to reconstruction.

Rollup takes palce as delta .So if you define value Limit with Delta = 0 , then for every change in attribute the system do aggregation from scracth.

If previous replys(experts' suggetions) did not help you, it is better to raise a request to SAP.And also use program RSDDK_CHECK_AGGREGATE_SELOPT to check aggregates.

With rgds,

Anil Kumar Sharma .P

Message was edited by: Anil Kumar Sharma

Former Member
0 Kudos

You can call transaction RSRCACHE and you delete all; in OSS Note 456068 you can find all the issues related to this kind of problem.

Regards