Advanced SSAS Tasks

In order to process the module in the SSAS database in a more detailed mode, Profitbase Studio has a page used in module processing dialog and in the task detail dialog for the 'SSAS Command(s)' task in data flows.

Left section contains the module structure. Right click on each node to get the task commands available and to add them. Some of the commands has additional options shown in sub dialogs. 

Right section contains a list of added commands. Each command can be enabled/disabled. Right click the command to get a menu to change sequence or to remove it.

I the modules processing dialog, a 'Process' button is shown. Click on this to execute enabled commands in given sequence.

Note: If you are unsure on how the SSAS works, run a complete 'Delete and Rebuild' and a 'Process' in Full mode to ensure correct result.

Multidimensional SSAS Commands

Commands on SSAS Database (Module Group)

Delete and rebuild the SSAS database The SSAS Database is deleted if it exists. Then a full rebuild the SSAS database is done with configurations from Profitbase Studio. Optionally the SSAS database is then processed in full mode.
Process entire SSAS database Process entire SSAS database in selected mode and with optional settings for processing and error handling. See more details here.
(PS6.1) Auto Process SSAS by changes in the Data Warehouse data Processes necessary items that either is not processed, or that has newer data in the Data Warehouse. Dimensions are processed in parallel first, and then cubes and measure groups as needed.
Apply translations to SSAS database Translations are applied to the name of the SSAS Database.
Create/update data source tables and schemas from DW The SSAS Databases schema information (names of table/views and columns) are refreshed from the data warehouse database. Use this if new columns, dimensions or measure groups are added. Then run create/update dimension or measure group commands.
Create/update roles and permissions Default roles and permissions are added. Use XMLA scripting to enhance role and permission settings.
Delete the SSAS database The SSAS Database is deleted (if it exists).
Backup SSAS database The SSAS Database is backed up to a file. File name must be selected.
Restore SSAS database The SSAS Database is restored from the selected backup file.
Run XMLA script Execute XMLA scripts to enhance configuration or do processing etc.


Commands on All Shared SSAS Dimension

Create/update all dimensions All used dimensions is created or updated with new settings. Usage in cubes and measure groups is also updated if they exist.
Process all dimensions All used dimensions will be processed in selected mode and with optional settings for processing and error handling. See more details here.

 

Commands per shared SSAS Dimension

Create/update dimension The dimensions is created or updated with new settings. Usage in cubes and measure groups is also updated if they exists.
Delete the dimension The dimension is deleted from the SSAS database (if it exists).
Process dimension The dimension will be processed in selected mode and with optional settings for processing and error handling. See more details here.
Apply translations to dimension Name and translations is applied to the name, all member name and the unknown member name of the dimension.

 

Commands on SSAS Cube (module sub group)

Create/update cube The cube with its measure groups is created or updated with new settings. Shared dimensions are not affected by this command, so new dimensions must be added before running this command.
Delete the cube The cube with its measure groups is deleted from the SSAS database (if it exists).
Process cube The cube with its measure groups and business logic will be processed in selected mode and with optional settings for processing and error handling.
Create/update BI in cube All calculations are created/updated in the cube. This includes calculated measures, scripts, named sets and KPIs defined in its measure groups. See more details here.
Create/update actions in cube All actions are created/updated in the cube.
Apply translations to Cube Cube name and its translations are updated.

 

Commands on SSAS Measure Groups (module definitions)

Create/update measure group The measure group is created or updated with new settings. Shared dimensions is not affected by this command so new dimensions must be added before running this command.
Process Measure Group The measure group will be processed in selected mode and with optional settings for processing and error handling.
(PS6.1) Auto Process Measure Group This processes selected measure group and affected dimensions that has data changes in the DW. A time range can be set for the partitions in the measure group. Optional settings for processing and error handling.
Process Current partition The measure group's Current partition (and affected partitions if moved) will be updated and processed in selected mode and with optional settings for processing and error handling. See more details here.
Create/update specific partitions Configuration of selected partitions will be created/updated but not processed.
Process specific partition(s) Selected partition(s) will be processed in selected mode and with optional settings for processing and error handling. See more details here.
Process partition(s) by Time Range Partition that are within or part of the selected time range will be processed in selected mode and with optional settings for processing and error handling. See more details here.
Process by changes in Fact Sources Partitions that are within or part of the range that has changes in Fact Sources will be processed in selected mode and with optional settings for processing and error handling. See more details here.
Process by changes in specific Fact Sources Partitions that are within or part of the range that has changes in selected Fact Source Tables will be processed in selected mode and with optional settings for processing and error handling. See more details here.
Create/update BI in Cube All calculations are created/updated in the cube. This includes calculated measures, scripts, named sets and KPIs defined in its measure groups.
Apply translations to Measure Group Measure group name and its translations is updated together with translations of measures.
Delete the Measure Group The measure group is deleted from the SSAS database (if it exists).

Tabular SSAS Commands

Commands on SSAS Database (Module Group)

Delete and rebuild the SSAS database The SSAS Database is deleted if it exists. Then a full rebuild the SSAS database is done with configurations from Profitbase Studio. Optionally the SSAS database is then processed in full mode.
Delete the SSAS database The SSAS Database is deleted (if it exists).
Process entire SSAS database Process entire SSAS database in selected mode and with optional settings for processing and error handling. See more details here.
Backup SSAS database The SSAS Database is backed up to a file. File name must be selected.
Restore SSAS database The SSAS Database is restored from the selected backup file.
Run XMLA script Execute XMLA scripts to enhance configuration or do processing etc.

Commands on SSAS Measure Groups (module definitions)

Create/update Table The measure group/table is created or updated with new settings. 
Delete the Table The measure group/table is removed from the SSAS database.
Process Table The measure group/table will be processed in selected mode and with optional settings for processing and error handling.

More on processing SSAS items

Processing Modes

When you process items in SSAS, you can select the type of processing. Processing types differ from one object to another, and by changes that have occurred to the object since it was last processed. If you select Default-mode, SSASwill use the method that returns the item to a fully processed state in the least time. Profitbase Studio recommends using Full mode to ensure that all data are read from data warehouse and processed.

Mode Applies to Description
Default All items Detects the process state of database items, and performs processing necessary to deliver unprocessed or partially processed items to a fully processed state. If you change a data binding, Process Default will do a Process Full on the affected item.
Full All items Processes items and all the items that it contains. When Process Full is executed against an item that has already been processed, SSAS drops all data in the item, and then processes the item. This kind of processing is required when a structural change has been made to an item, e.g. when an attribute hierarchy is added, deleted, or renamed.
Clear All Items Drops the data in the item specified and any lower-level constituent objects. After the data is dropped, it is not reloaded.
Data Dimensions, cubes, measure groups, and partitions. Processes data only without building aggregations or indexes. If there is data is in the partitions, it will be dropped before re-populating the partition with source data.
Add Measure groups, and partitions Adds newly available fact data and process only to the relevant partitions. This function is not correctly implemented in PS6.0. Work around is to create a XMLA script for this.
Add Dimensions Process Add is not available for dimension processing in Studio, but you can create XMLA script for this.
Update Dimensions Forces a re-read of data and an update of dimension attributes. Flexible aggregations and indexes on related partitions will be dropped.
Index Cubes, dimensions, measure groups, and partitions Creates or rebuilds indexes and aggregations for all processed partitions. For unprocessed objects, this option generates an error.
Processing with this option is needed if you turn off Lazy Processing.
Recalc Tabular model/db Defragments the auxiliary table indexes.
Defrag Tabular table Updates and recalculates hierarchies, relationships, and calculated columns.

 

Processing Settings

The following table describes the processing settings that are available for use when you create a process operation.

Processing Option Description
Parallel Used for batch processing. This setting causes Analysis Services to fork off processing tasks to run in parallel inside a single transaction. If there is a failure, the result is a roll-back of all changes. You can set the maximum number of parallel tasks explicitly, or let the server decide the optimal distribution. The Parallel option is useful for speeding up processing. 
Sequential (Transaction Mode) Controls the execution behavior of the processing job. Two options are available:
  • One Transaction. The processing job runs as a transaction. If all processes inside the processing job succeed, all changes by the processing job are committed. If one process fails, all changes by the processing job are rolled back. One Transaction is the default value.
  • Separate Transactions. Each process in the processing job runs as a stand-alone job. If one process fails, only that process is rolled back and the processing job continues. Each job commits all process changes at the end of the job.
When you process using One Transaction, all changes are committed after the processing job succeeds. This means that all Analysis Services objects affected by a particular processing job remain available for queries until the commit process. This makes the objects temporarily unavailable. Using Separate Transactions causes all objects that are affected by a process in processing job to be taken unavailable for queries as soon as that process succeeds
Writeback Table Option Controls how writeback tables are handled during processing. This option applies to writeback partitions in a cube, and uses the following options:
  • Use Existing. Uses the existing writeback table. This is default value.
  • Create. Creates a new writeback table and causes the process to fail if one already exists.
  • Create Always. Creates a new writeback table even if one already exists. An existing table is deleted and replaced.
Process Affected Objects Controls the object scope of the processing job. An affected object is defined by object dependency. For example, partitions are dependent on the dimensions that determine aggregation, but dimensions are not dependent on partitions. You can use the following options:
  • False. The job processes the objects explicitly named in the job and all dependent objects. For example, if the processing job contains only dimensions, Analysis Services processes just those objects explicitly identified in the job. If the processing job contains partitions, partition processing automatically invokes processing of affected dimensions. False is the default setting.
  • True. The job processes the objects explicitly named in the job, all dependent objects, and all objects affected by the objects being processed without changing the state of the affected objects. For example, if the processing job contains only dimensions, Analysis Services also processes all partitions affected by the dimension processing for partitions that are currently in a processed state. Affected partitions that are currently in an unprocessed state are not processed. However, because partitions are dependent on dimensions, if the processing job contains only partitions, partition processing automatically invokes processing of affected dimensions, even when the dimension is currently in an unprocessed state.
Dimension Key Errors Determines the action taken by Analysis Services when errors occur during processing. When you select Use custom error configuration, you can select values for the following actions to control error-handling behavior:
  • Key error action. If a key value does not yet exist in a record, one of these actions is selected to occur:
    • Convert to unknown. The key is interpreted as an unknown member. This is the default setting.
    • Discard record. The record is discarded.
  • Processing error limit. Controls the number of errors processed by selecting one of these options:
    • Ignore errors count. This will enable processing to continue regardless of the number of errors.
    • Stop on error. With this option, you control two additional settings. Number of errors lets you limit processing to the occurrence of a specific number of errors. On error action lets you determine the action when Number of errors is reached. You can select Stop processing, which causes the processing job to fail and roll back any changes, or Stop logging, which enables processing to continue without logging errors. Stop on error is the default setting with Number of errors set to 0 and On error action set to Stop processing.
  • Specific error conditions. You can set the following options to control specific error-handling behavior:
    • Key not found. Occurs when a key value exists in a partition but does not exist in the corresponding dimension. The default setting is Report and continue. Other settings are Ignore error and Report and stop.
    • Duplicate key. Occurs when more than one key value exists in a dimension. The default setting is Ignore error. Other settings are Report and continue and Report and stop.
    • Null key converted to unknown. Occurs when a key value is null and the Key error action is set to Convert to unknown. The default setting is Ignore error. Other settings are Report and continue and Report and stop.
    • Null key not allowed. Occurs when Key error action is set to Discard record. The default setting is Report and continue. Other settings are Ignore error and Report and stop.
When you select Use default error configuration, Analysis Services uses the error configuration that is set for each object being processed. If an object is set to use default configuration settings, Analysis Services uses the default settings that are listed for each option.