Processing (Analysis Services - Multidimensional Data)
Processing affects the following Microsoft SQL Server Analysis Services object types: 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 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.
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.
Processing a Database
You can process an Analysis Services database using the Object Explorer in SQL Server Management Studio, or using Solution Explorer in Business Intelligence Development Studio after a project has been deployed to an Analysis Services instance. For more information about deployment, see Deploying Analysis Services Projects.
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.
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. The following table is a tabular example of a cube that shows Items Sold by Quarter, Month, Country, Sales Region, and State.
Quarter |
Month |
Country |
Sales Region |
State |
Items Sold |
---|---|---|---|---|---|
Q 1 |
1 |
United States |
West |
California |
3,243 |
Q 1 |
2 |
United States |
West |
Oregon |
2,456 |
Q 1 |
3 |
United States |
West |
Washington |
2,289 |
Q 2 |
4 |
United States |
East |
New Hampshire |
4,654 |
Q 2 |
5 |
United States |
North |
North Dakota |
6,331 |
Q 1 |
2 |
United States |
South |
Georgia |
3,544 |
Q 1 |
3 |
Korea |
West |
Gyeonggi-do |
2,987 |
When you process a cube, 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.
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 BI Development Studio
Processing a Dimension
When you process a dimension, Analysis Services formulates and runs queries against dimension tables to return information that is required for processing. This is a tabular version of the dimension members as illustrated by the following example.
Country |
Sales Region |
State |
---|---|---|
United States |
West |
California |
United States |
West |
Oregon |
United States |
West |
Washington |
United States |
East |
New Hampshire |
United States |
North |
North Dakota |
United States |
South |
Georgia |
Korea |
West |
Gyeonggi-do |
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.
[United States] |
[United States].[North] |
[United States].[West] |
[United States].[North].[North Dakota] |
[United States].[West].[California] |
[United States].[South] |
[United States].[West].[Oregon] |
[United States].[South].[Georgia] |
[United States].[West].[Washington] |
[United States].[East] |
[Korea] |
[United States].[East].[New Hampshire] |
[Korea].[West] |
[Korea].[West].[Gyeonggi-do] |
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 in Analysis Services.
Processing a Measure Group
When you process a measure group, 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 Analysis Services without affecting other measure groups in a cube.
Note
You can process individual measure groups programmatically, or by using Management Studio. You cannot process individual measure groups in BI Development Studio; however, you can process by partition.
Processing a Partition
Effective administration of 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 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 Merging Analysis Services Partitions.
When you process a partition, 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 Analysis Services. Processing partitions in parallel is useful because Analysis Services uses the processing power more efficiently and can significantly reduce total processing time. You can also process partitions sequentially. For more information, see Managing Analysis Services Partitions.
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 Data Mining Objects.