Processing Analysis Services Objects
Applies to: SQL Server Analysis Services Azure Analysis Services Power BI Premium
Processing affects the following Microsoft SQL Server SQL Server Analysis Services object types: SQL Server Analysis Services databases, cubes, dimensions, measure groups, partitions, and data mining structures and models. For each object, you can specify the level of processing for the object, or you can specify the Process Default option to enable SQL Server Analysis Services to automatically select the optimal level of processing. For more information about the different levels of processing for each object, see Processing Options and Settings (Analysis Services).
You should be aware of the consequences of processing behavior in order to reduce the occurrence of negative repercussions. For example, fully processing a dimension automatically sets all partitions dependent on that dimension to an unprocessed state. This causes affected cubes to become unavailable for query until the dependent partitions are processed.
This topic includes the following sections:
Processing a Database
In SQL Server Analysis Services, a database contains objects but not data. When you process a database, you direct the server to recursively process those objects that store data in the model, such as dimensions, partitions, mining structures, and mining models.
When you process a database, some or all partitions, dimensions, and mining models that the database contains are processed. The actual processing type varies depending on the state of each object and the processing option that you select. For more information, see Processing Options and Settings (Analysis Services).
Processing a Cube
A cube can be thought of as a wrapper object for measure groups and partitions. A cube is made of dimensions in addition to one or more measures, which are stored in partitions. Dimensions define how data is laid out in the cube. When you process a cube, an SQL query is issued to retrieve values from the fact table to populate each member in the cube with appropriate measure values. For any specific path to a node in the cube, there is a value or a calculable value.
When you process a cube, SQL Server Analysis Services processes any unprocessed dimensions in the cube, and some or all partitions within the measure groups in the cube. The specifics depend on the state of the objects when processing starts and the processing option that you select. For more information about processing options, see Processing Options and Settings (Analysis Services).
Processing a cube creates machine-readable files that store relevant fact data. If there are aggregations created, they are stored in aggregation data files. The cube is then available for browsing from the Object Explorer in Management Studio or Solution Explorer in SQL Server Data Tools
Processing a Dimension
When you process a dimension, SQL Server Analysis Services formulates and runs queries against dimension tables to return information that is required for processing.
The processing itself turns the tabular data into usable hierarchies. These hierarchies are fully articulated member names that are internally represented by unique numeric paths. The following example is a text representation of a hierarchy.
Dimension processing does not create or update calculated members, which are defined at the cube level. Calculated members are affected when the cube definition is updated. Also, dimension processing does not create or update aggregations. However, dimension processing can cause aggregations to be dropped. Aggregations are created or updated only during partition processing.
When you process a dimension, be aware that the dimension might be used in several cubes. When you process the dimension, those cubes are marked as unprocessed and become unavailable for queries. To process both the dimension and the related cubes at the same time, use the batch processing settings. For more information, see Batch Processing (Analysis Services).
Processing a Measure Group
When you process a measure group, SQL Server Analysis Services processes some or all partitions within the measure group, and any unprocessed dimensions that participate in the measure group. Specifics of the processing job depend on the processing option that you select. You can process one or more measure groups in SQL Server Analysis Services without affecting other measure groups in a cube.
You can process individual measure groups programmatically, or by using Management Studio. You cannot process individual measure groups in SQL Server Data Tools; however, you can process by partition.
Processing a Partition
Effective administration of SQL Server Analysis Services involves the practice of partitioning data. Partition processing is unique because it involves consideration of hard disk use and space constraints, combined with data structure limitations imposed by SQL Server Analysis Services. To keep query response times fast and processing throughput high, you have to regularly create, process, and merge partitions. It is very important to recognize and manage against the chance of integrating redundant data during partition merging. For more information, see Merge Partitions in Analysis Services (SSAS - Multidimensional).
When you process a partition, SQL Server Analysis Services processes the partition and any unprocessed dimensions that exist in the partition, depending on the processing option that you select. Using partitions offers several advantages for processing. You can process a partition without affecting other partitions in a cube. Partitions are useful for storing data that is subject to cell writeback. Writeback is a feature that enables the user to perform what-if analysis by writing new data back into the partition to see the effect of projected changes. A writeback partition is required if you use the cell writeback feature of SQL Server Analysis Services. Processing partitions in parallel is useful because SQL Server Analysis Services uses the processing power more efficiently and can significantly reduce total processing time. You can also process partitions sequentially.
Processing Data Mining Structures and Models
A mining structure defines the data domain from which data-mining models will be built. One mining structure can contain more than one mining model. You can process a mining structure separately from its associated mining models. When you process a mining structure separately, it is populated with the training data from your data source.
When a data mining model is processed, the training data passes through the mining model algorithms, trains the model using the data mining algorithm, and builds the content. For more information about the data mining model object, see Mining Structures (Analysis Services - Data Mining).
For more information about processing mining structures and models, see Processing Requirements and Considerations (Data Mining).