Search code examples
ssasolapssas-tabular

TMSL command to process big tabular cube


Currently spending a lot of time processing the cube which increases with every new wave of data. The cube processing job is a sequence of steps containing ANALYSISCOMMANDs:

1 refresh type: full for all Dimensional tables.
2 refresh type: clearValues for Fact table 1
3 refresh type: dataOnly for Fact table 1
4 refresh type: calculate database (without table indication)
...
22 refresh type: clearValues for Fact table N
23 refresh type: dataOnly for Fact table N
24 refresh type: calculate database (without table indication)

One of the considerations was to split processing into steps so when the processing fails with "out of memory", we could start from the previous step.

Current sequence does not seem very efficient and I am looking how to decrease processing time.

Specifically having "refresh type: calculate database (without table indication)" coming each time after Fact table block makes me wonder: can I either indicate a relevant Fact table here or get rid of those, leaving one calculate step on database level at the very end?


Solution

  • Calculate database (or recalc) is only needed once and it needs to be the last operation you do. It's only needed once, because it's a database (model) level command.

    More info here: http://bifuture.blogspot.com/2017/02/ssas-processing-tabular-model.html