MSDN Documentation

Project Structure in Analysis Services Multidimensional Models

Understanding the project structure in SQL Server Analysis Services (SSAS) multidimensional models is crucial for efficient development, management, and deployment of your business intelligence solutions. A well-organized project ensures clarity, maintainability, and facilitates collaboration among team members.

Key Components of an SSAS Project

An SSAS multidimensional project, typically developed using SQL Server Data Tools (SSDT) or Visual Studio with Analysis Services projects extension, is organized into several logical folders and files within the Solution Explorer. These represent different aspects of your multidimensional model.

Typical Project Layout in Solution Explorer

When you create a new Analysis Services Multidimensional project, Solution Explorer in SSDT will present a structure similar to this:


Solution 'MyAnalysisProject' (1 project)
└── MyAnalysisProject (Project)
    ├── Data Sources
    │   └── [YourDataSource].ds
    ├── Data Source Views
    │   └── [YourDataSourceView].dsv
    ├── Dimensions
    │   ├── DimDate.dim
    │   ├── DimProduct.dim
    │   └── DimGeography.dim
    ├── Cubes
    │   └── [YourCube].cube
    │       ├── Measures
    │       ├── Dimensions
    │       ├── Hierarchies
    │       └── Translations
    ├── Measure Groups
    │   └── [YourMeasureGroup].mg
    ├── Roles
    │   └── [YourRole].role
    ├── Mining Structures (Optional)
    ├── Actions (Optional)
    ├── Perspectives (Optional)
    ├── Translations (Optional)
    ├── MyAnalysisProject.asdatabase (Project file)
    └── Deploy (.deploymenttargets)
            

Understanding Key Files and Folders

Data Sources (.ds)

Each file represents a connection string to an external data source. It's good practice to have separate data sources for different backend systems.

Data Source Views (.dsv)

These files define the logical schema. You can rename tables, columns, create calculated columns, and define relationships here, abstracting the physical schema from the multidimensional model itself.

Dimensions (.dim)

Each .dim file defines a dimensional object. This includes attributes, hierarchies, and member properties. Proper dimension design is fundamental to a performant and usable cube.

Cubes (.cube)

The .cube file is the central definition of your analytical model. It brings together measures, dimensions, and defines how they relate. Within the cube editor, you can further define calculations, perspectives, and other cube-specific properties.

Measure Groups (.mg)

Measure groups organize related measures, typically from the same fact table. This aids in managing complexity and optimizing performance.

Roles (.role)

Security is defined using roles, allowing granular control over data access at the dimension or cell level.

Best Practices

Important: The structure and organization of your SSAS project directly impact its performance, maintainability, and usability. Invest time in proper design and organization from the outset.