CHAPTER 5 
        Developing SSAS Cubes 
        
    
    
    
    
        Chapter Summary 
    
    
        - Every SSAS solution must include a data source view (DSV) that
            contains schema metadata to support the other objects within that solution. The
            solution might also include named calculations and named queries. 
- The BIDS Cube Wizard and Dimension Wizard provide easy mechanisms
            for adding new cubes and dimensions to an SSAS solution. 
- The BIDS Cube Designer provides tabs for reviewing and modifying
            various aspects of a cube. The two tabs you use to control the basic structure of
            a cube are the Cube Structure tab and the Dimension Usage tab. 
- You use the BIDS Dimension Designer to modify a dimension and
            to add, modify, or delete specific attributes and multilevel hierarchies within
            the dimension. 
- You can set various attribute properties to control the behavior
            of the attributes from an end user's perspective. Likewise, you can control the
            behavior of dimension attributes through various properties available within the
            Dimension Designer. 
- A measure group is a container of measures. The most important
            property of a measure is AggregationFunction, which tells the server how
            to aggregate the measure. Additive measures aggregate across all dimensions joined
            to the measure group. Semiadditive measures aggregate across all dimensions except
            time. Non-additive measures require custom calculations that define their aggregation
            behavior. 
        
    
    
        Lesson 1: Creating Data Sources and Data Source Views 
        
    
    
    
    
        1 . What is the purpose of a data source view (DSv)? 
    
    
        A data source view captures schematic information related to the relational database
            that serves as a source for your SSAS solution. The DSv contains metadata describing
            the tables and views selected from the database, the primary key definitions, and
            the relationships that exist between the tables. The DSv lets you extend the data
            source schema by adding named calculations and named queries and by defining table
            relationships and logical primary keys that do not exist in the data source. 
    
    
    
    
        2 . Within a DSv, why are primary key and table relationship definitions
            important? 
    
    
        The various designers and wizards within an SSAS project use the primary keys
            and the table relationships to determine how dimension members are uniquely defined
            and how the dimension and fact tables are related. 
    
    
    
    
        3 . If you have multiple tables that contain information related
            to a single dimension, how would you simplify the representation of that information
            within your DSv? 
    
    
        you can combine the relevant columns from each of the tables into a single 
        named query by using a SELECT statement that joins the tables together.
        
    
    
        
    
    
        Lesson 2: Creating and Modifying SSAS Cubes 
    
    
    
    
        1 . Which cube creation method should you select in the Cube Wizard
            if you want to build the cube on top of an existing data source? 
    
    
        you need to select the use Existing Tables method when you build the cube from
            the bottom up. 
    
    
    
    
        2 . What do you need to do to make the cube available for browsing?
        
    
    
        you need to deploy the cube definition to the server and process its objects to
            load it with data. BIDS combines these two tasks in one step when you deploy the
            database to the server. 
    
    
    
    
        3 . Can you modify the design of a dimension that has been included
            in a cube? 
    
    
        Although you can modify certain properties for a dimension to change its behavior
            within a cube, the physical design of a "cube dimension" is inherited from the dimension
            at the database level; you can find that dimension definition under the Dimensions
            folder in Solution Explorer. 
    
    
        
    
    
        Lesson 3: Creating and Modifying Dimensions 
    
    
    
    
        1 . While using the Dimension Wizard, you inadvertently select
            the wrong primary key column and fail to select all the attributes you need for
            the dimension. Do you have to delete the dimension and start over? 
    
    
        Although you can certainly delete the dimension and start over, it is likely that
            you can make all necessary corrections by using the Dimension Designer. Simply update
            the key attribute to reflect the correct KeyColumns property and add the additional
            attributes as needed. 
    
    
    
    
        2 . When creating a new dimension by using the Dimension Wizard,
            can you specify the cubes to which the new dimension will be added after it is created?
        
    
    
        no, you cannot specify the cubes to which a new dimension will be added. The Dimension
            Wizard simply creates any new dimension as a database-level dimension. If you want
            to use the new dimension within one or more existing cubes, you must open each cube
            within the Cube Designer and add the dimension. 
    
    
    
    
        3 . your factInternetSales fact table references the DimDate table
            three times with orderDateKey, DueDateKey, and ShipDateKey foreign keys. you want
            the end users to browse the cube data by these dates. Do you need to create separate
            Time database dimensions? 
    
    
        no, you add the same time dimension multiple times to the cube as a role-playing
            dimension. 
    
    
        
    
    
        Lesson 4: Creating Measure Groups and Measures 
    
    
    
    
        1 . What is the difference between measures and a measure group?
        
    
    
        A measure group is a container of measures. Typically, a measure group represents
            a fact table, and its measures represent the facts. 
    
    
    
    
        2 . What types of measures can you identify based on the way they
            aggregate? 
    
    
        Based on how it aggregates data, a measure can be additive, semiadditive, or nonadditive.
        
    
    
    
    
        3 . How do you set the aggregation function of a measure? 
        
    
    
        you can set a measure's aggregation function by setting its AggregationFunction
        property to one of the SSAS standard aggregation functions. 
    
    
        
    
    
        Building an SSAS Solution as a Prototype 
        
    
    
    
    
        Case scenario 
    
    
    
    
        The business development department at Adventure Works has asked you to develop
            a solution to analyze Internet and reseller sales by using Excel 2007.
                Given the strong support for working with cubes in Excel, you decide to
                    create an SSAS solution that provides the requested sales data, with various
                        dimensions, hierarchies, and attributes available to support
        a broad range of analysis needs.
    
    
    
        - How can you quickly create a prototype of your solution to gain a better understanding
            of the data and the end-user requirements?
- What SSAS features
                are you likely to take advantage of to improve the usability of the cube
                    from an end-user perspective?
        Answers
    
    
    
    
        1. To build an initial prototype, you would create a new SSAS solution
            and add a data source and a data source view (DSV) on top of the database
                whose schema defines dimension and fact tables. You could then use the
                    Cube Wizard to generate a cube with measure groups for Internet and reseller
                        sales data, along with dimensions for business entities such as time,
        products, customers, geography, sales reasons, employees, and sales territories.
            After processing the new SSAS database, you could use the browsers within
                BIDS or Microsoft Office Excel to review the resulting design, possibly
                    even sharing it with a few of your end users, to better understand the
                        available data and the end user's analytical requirements.
    2. To improve the usability of the cube, you would first want to
        ensure that all the measures, measure groups, dimensions, and attributes
            have business-friendly names. Next, you would likely need to define format
                strings for all the measures that show currencies and other numbers
    appropriately. Last, within each dimension, consider adding additional attributes
        that create useful attribute hierarchies.