Course 10063 - Deploying, Managing and Maintaining SQL Server 2008 Analysis Services

download Course 10063 - Deploying, Managing and Maintaining SQL Server 2008 Analysis Services

of 61

description

Course 10063 - Deploying, Managing and Maintaining SQL Server 2008 Analysis Services

Transcript of Course 10063 - Deploying, Managing and Maintaining SQL Server 2008 Analysis Services

Introducing Business Intelligence in Microsoft SQL Server 2008

Table of Contents

Using Checkpoints and Transactions1Introduction1Lesson Introduction1Lesson Objectives1Introduction to Checkpoints and Transactions2Implementing Checkpoints2Implementing Transactions2Using Event Handlers for Error Handling3Introduction3Lesson Introduction3Lesson Objectives3Introduction to Event Handlers4Event Types4Implementing a Simple Event Handler4Controlling Failures in a Package4Implementing Logging in a Package5Introduction5Lesson Introduction5Lesson Objectives5Introduction to Integration Services Logging6Standard Logging6Implementing Standard Logging6Viewing Log Events6Custom Logging6Using Event Handlers to Implement Custom Logging6Debugging in a Package7Introduction7Lesson Introduction7Lesson Objectives7Options for Debugging Packages8Working with the Execution Progress Tab8Using Data Viewers and Row Counts for Debugging8Using Breakpoints in a Package8How to Debug Script Tasks8Debugging Windows in BIDS8Best Practices9Lab: Managing Integration Services Packages in SQL Server 200810Lab Overview10Lab Introduction10Lab Objectives10Scenario11Exercise Information12Exercise 1: Defining Data Sources and Destinations12Exercise 2: Working with Data Flow Paths12Exercise 3: Implementing Data Flow Transformations12Lab Instructions: Implementing Data Flow in SQL Server Integration Services 200813Exercise 1: Defining Data Sources and Destinations13Exercise 2: Working with Data Flow Paths15Exercise 3: Implementing Data Flow Transformations18Lab Review22What is the purpose of Data Flow paths?22What kind of errors can be managed by the error output Data Flow path?22What data types does the Export Column transformation manage?22What is the difference between a Type 1 and a Type 2 Slowly Changing Dimension and how are they represented in the Slowly Changing Dimension transformation?22What is the difference between a Lookup and a Fuzzy Lookup transformation?22Module Summary23Defining Data Sources and Destinations23Data Flow Paths23Implementing Data Flow Transformations: Part 124Implementing Data Flow Transformations: Part 225Lab: Implementing Data Flow in SQL Server Integration Services 200825Glossary26

iii

Using Checkpoints and TransactionsIntroduction Lesson IntroductionSSIS provides support for a wide range of data sources and destinations within a package. The starting point of a Data Flow task is to define the data source. This informs the Data Flow task of the location of the data that will be moved. Dependent on the data source used, different properties must be configured. Understanding the properties that are available within a data source will help you configure them efficiently.Data source destinations are objects within the Data Flow task that must be configured separately to data sources. Like data sources, they consist of properties that need to be configured to inform SSIS of the destination that the data will be loaded into. There are also additional data destinations such as Analysis Services.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe data flows. Use data flow sources. Use data flow destinations. Configure OLE DB data source. Configure Microsoft Office Access and Microsoft Office Excel data sources.

Introduction to Checkpoints and Transactions

Implementing Checkpoints

Implementing Transactions

Using Event Handlers for Error HandlingIntroductionLesson IntroductionData Flow paths are similar to Control Flow paths in that they control the flow of data within a Data Flow task. Data Flow paths can be simply used to connect a data source directly to a data destination. Typically, you use a Data Flow path to determine the order in which a transformation takes place; specifying the path that is taken should a transformation succeed or fail. This provides the ability to separate the data that cause errors from the data that is being successfully transformed.You can add data viewers to the Data Flow path. This enables you to get a snapshot of the data that is being transformed. This is useful when developing packages when you wish to see the data before and after it is transformed.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe Data Flow paths. Configure a data flow path. Describe a data viewer. Use a data viewer.

Introduction to Event Handlers

Event Types

Implementing a Simple Event Handler

Controlling Failures in a Package

Implementing Logging in a PackageIntroductionLesson IntroductionData Flow transformations have the ability to ensure that your BI solution provides one version of the truth when it comes to providing the data to the data warehouse. The transformations can be used to change the format of data, sort and group data and perform custom transformations that will ensure that the data is placed within the data warehouse as standardized format that can then be consumed within Analysis Services as a cube, Reporting Services as reports or a combination of both. Understanding the capabilities of the many transformations that are available will aid you in building a trusted data warehouse.Lesson ObjectivesAfter completing this lesson, you will be able to: Describe transformations. Use data formatting transformations. Use column transformations. Use multiple Data Flow transformations. Use custom transformations. Implement transformations. Use Slowly Changing Dimension transformation.

Introduction to Integration Services Logging

Standard Logging

Implementing Standard Logging

Viewing Log Events

Custom Logging

Using Event Handlers to Implement Custom Logging

Debugging in a PackageIntroductionLesson IntroductionData Flow transformations can go beyond changing data by providing transformations that can perform data analysis, sampling and auditing.Lesson ObjectivesAfter completing this lesson, you will be able to: Use Lookup and Cache transformation. Use data analysis transformations. Use data sampling transformations. Use monitoring transformations. Use fuzzy transformations. Use term transformations.

Options for Debugging Packages

Working with the Execution Progress Tab

Using Data Viewers and Row Counts for Debugging

Using Breakpoints in a Package

How to Debug Script Tasks

Debugging Windows in BIDS

Best Practices

Use the correct data sources from the Data Flow Sources section in the Business Intelligence Development Studio Toolbox that will extract data. Use the correct data destinations from the Data Flow Destinations section in the Business Intelligence Development Studio Toolbox that will load the data. Use OLE DB data sources to connect to SQL Server tables, the Access database and Excel 2007 spreadsheet. Use the ADO.NET data source to connect to ODBC data sources and destinations. Identify the transformation required to meet the data load requirements. Use in-built transformations when possible. Use the Script component Data Flow transformation to create custom data source, data destinations or transformations. Use Data Flow paths to control transformations within the Data Flow transformations. Use the Slowly Changing Dimension transformation to manage changing data in dimension tables in a data warehouse. Use the Lookup transformation to load a fact table in a data warehouse with the correct data. Use the Cache transformation in conjunction with the Lookup transformation to improve the performance of loading fact tables.

Lab: Managing Integration Services Packages in SQL Server 2008Lab OverviewLab Introduction The purpose of this lab is to focus on using data flows within an SSIS package to populate a simple data warehouse. You will firstly edit an existing package to add data sources and destinations and use common transformation to complete the loading of the StageProduct table. You will also implement a data viewer in this package and run the package to ensure that data is being loaded correctly into the ProductStage table. You will then create the dimension tables in the data warehouse focusing specifically on the Slowly Changing Dimension task to manage changing data in the dimension tables. You will finally explore how to populate the fact table within the data warehouse by using the Lookup transformation to ensure that the correct data is being loaded into the fact table.Lab ObjectivesAfter completing this lab, you will be able to: Define data sources and destinations. Work with data flow paths. Implement data flow transformations.

ScenarioYou are a database professional for Adventure Works, a manufacturing company that sells bicycle and bicycle components through the Internet and a reseller distribution network. You are continuing to work on using SSIS to populate a simple data warehouse for testing purposes in a database named AdventureWorksDWDev.You want to complete the AWStaging package by configuring the Data Flow task that will load data into the ProductStage table. You will implement simple transformations that you think you will use in the production data warehouse. To verify that the transformations are working, you will add data viewers to the data path to view the data before and after the transformation has occurred.You will then edit the package named AWDataWarehouse. You will firstly edit a Data Flow task to explore common transformations that are used within the data flow. However, you want to explore the use of the Slowly Changing Dimension task to manage data changes when transferring data from the ProductStage to the ProductDim table.Finally, you will edit the LoadFact Data Flow task that will populate the FactSales table, which will use a Lookup transformation to ensure that the correct data is loaded into the fact table.

Exercise InformationExercise 1: Defining Data Sources and DestinationsIn this exercise, you will complete the configuration of the AWStaging package by configuring the Data Flow task that will populate the ProductStage table. You will define the data source as the AdventureWorks2008 database. You will then use transformations to ensure that the data that is cleanly loaded into the ProductStage table. You will then define the data destination as the ProductDim table in the AdventureworksDWDev database.Exercise 2: Working with Data Flow PathsIn this exercise, you will add an error Data Flow path from the AdventureWorksDWDev StageProduct Data Flow task to a text file named StageProductLoadErrors.txt located in D:\Labfiles\Starter folder. You will add a data viewer before and after the Category Uppercase Character Map transformation. You will then run the package and review the data viewer before and after the Category Uppercase Character Map transformation runs to view the differences in the data. After completing the review, you will remove the data viewers.Exercise 3: Implementing Data Flow TransformationsIn this exercise, you will edit the package AWDataWarehouse. You will firstly edit the Generate Resellers Data Data Flow task to explore common transformations that are used within the data flow. However, you want to explore the use of the Slowly Changing Dimension task to manage changes of data when transferring data from the ProductStage to the ProductDim table that is defined within the Generate Product Data Data Flow task.Finally, you will edit the Generate FactSales Data Data Flow task that will populate the FactSales table that will use a Lookup transformation to ensure that the correct data is loaded into the fact table.

Lab Instructions: Implementing Data Flow in SQL Server Integration Services 2008

Exercise 1: Defining Data Sources and DestinationsExercise OverviewIn this exercise, you will complete the configuration of the AWStaging package by configuring the data flow task that will populate the ProductStage table. You will define the data source as the AdventureWorks2008 database. You will then use transformations to ensure that the data that is loaded into the ProductStage table is done so cleanly. You will then define the data destination as the ProductDim table in the AdventureworksDWDev database.Task 1: You are logged on to MIAMI with the username Student and password Pa$$w0rd. Proceed to the next task1. Log on to the MIAMI server.1. To log on to the MIAMI server, press CTRL+ALT+DELETE.1. On the Login screen, click the Student icon.1. In the Password box, type Pa$$w0rd and then click the Forward button.Task 2: Open Business Intelligence Development Studio and open the solution file AW_BI solution located in D:\Labfiles\Starter\AW_BI folder1. Open the Microsoft Business Intelligence Development Studio.1. Open the AW_BI solution file in D:\Labfiles\Starter\AW_BI folder.Task 3: Open the AWStaging package in the AW_SSIS project in the AW_BI solution1. Open the AWStaging package in Business Intelligence Development Studio.Task 4: Edit the Load Products Data Flow task and add an OLE DB Source to the data flow designer that is configure to retrieve data from the Production.Product table in the AdventureWorks2008 database1. Open the Load Products Data Flow Designer in the AWStaging package in Business Intelligence Development Studio.1. Add an OLE DB Source data flow source from the Toolbox onto the Data Flow Designer. Name the OLE DB Source data flow source AdventureWorks2008 Products.1. Edit the AdventureWorks2008 Products OLE DB data source by retrieving the ProductID, Name, SubCategory name, Category name, ListPrice, Color, Size, Weight, DaystoManufacture, SellStartDate and SellEndDate form the Production.Product, Production.ProductSubcategory and Production.ProductCategory table in the AdventureWorks2008 database. Add a WHERE clause that will return all products greater than the date stored in the ProductLastExtract variable.1. Save the AW_BI solution.Task 5: Add a Character Map transformation to the Load Products Data Flow Designer that is configured to transform the data in the Category column to uppercase. Name the transformation Category Uppercase and set the Data Flow path from the AdventureWorks2008 Products Data Flow task to the Category Uppercase transformation1. Add a Character Map transformation from the Toolbox onto the Data Flow Designer. Name the Character Map transformation Category Uppercase.1. Set the Data Flow path from the AdventureWorks2008 Products Data Flow task to the Category Uppercase transformation.Task 6: Edit the Category Uppercase Character Map transformation to change the character set of the Category column to uppercase1. Edit the Category Uppercase Character Map transformation to change the character set of the Category column to uppercase.1. Save the AW_BI solution.Task 7: Edit the Load Products Data Flow task and add an OLE DB Destination to the Data Flow Designer named AdventureWorksDWDev StageProduct. Then set the Data Flow path from the Category Uppercase transformation to the AdventureWorksDWDev StageProduct OLE DB Destination1. Add an OLE DB Source data flow destination from the Toolbox onto the Data Flow Designer. Name the OLE DB Source data flow source AdventureWorksDWDev StageProduct.1. Set the Data Flow path from the Category Uppercase transformation to the AdventureWorksDWDev StageProduct OLE DB Destination.Task 8: Edit the AdventureWorksDWDev StageProduct OLE DB Destination to load the data into the StageProduct table and remove the Check constraints option1. Edit the AdventureWorksDWDev StageProduct OLE DB Destination to load the data into the StageProduct table in the AdventureWorksDWDev database.1. Edit the AdventureWorksDWDev StageProduct OLE DB Destination by performing column mapping between the source and destination data.1. Save and close the AW_BI solution.Task 9: You have completed all tasks in this exercise1. A successful completion of this exercise results in the following outcomes:1. You have created an OLE DB Source data flow source.1. You have created a Transact-SQL statement to query the source data.1. You have created a simple character map transformation.1. You have created an OLE DB Destination data flow destination.

Exercise 2: Working with Data Flow PathsExercise OverviewIn this exercise, you will add an error Data Flow path from the AdventureWorksDWDev StageProduct Data Flow task to a text file named StageProductLoadErrors.txt located in D:\Labfiles\Starter folder. You will then add a data viewer before and after the Category Uppercase Character Map transformation. You will then run the package and then review the data viewer prior to the Category Uppercase Character Map transformation running and after the Category Uppercase Character Map transformation to view the differences in the data. Once completing the review, you will then remove the data viewers.Task 1: Open Business Intelligence Development Studio and open the solution file AW_BI solution located in D:\Labfiles\Starter\AW_BI folder1. Open the Microsoft Business Intelligence Development Studio.1. Open the AW_BI solution file in D:\Labfiles\Starter\AW_BI folder.Task 2: Open the AWStaging package in the AW_SSIS project in the AW_BI solution1. Open the AWStaging package in Business Intelligence Development Studio.Task 3: Edit the Load Products Data Flow task and add a Flat File Destination to the Data Flow Designer that is configure to a text file located in the D:\Labfiles\Starter folder named StageProductLoadErrors.txt1. Open the Load Products Data Flow Designer in the AWStaging package in Business Intelligence Development Studio.1. Add a Flat File Destination data flow destination from the Toolbox onto the Data Flow Designer. Name the Flat File Destination data flow destination StageProduct Load Errors.Task 4: Create an Error Data Flow path from the AdventureWorksDWDev StageProduct OLE DB Destination StageProduct Load Errors Flat File Destination1. Set the Data Flow path from the AdventureWorksDWDev StageProduct OLE DB Destination to the StageProduct Load Errors Flat File Destination.Task 5: Edit the StageProduct Load Errors Flat File Destination creating a connection to the StageProductLoadErrors.txt located in D:\Labfiles\Starter folder. Name the connection StageProduct Errors1. Configure the StageProduct Load Errors Flat File Destination to create a text file named StageProductLoadErrors.txt located in D:\Labfiles\Starter. Name the connection StageProduct Errors.1. Review the column mappings between the AdventureWorksDWDev StageProduct OLE DB Destination and the StageProduct Load Errors Flat File Destination.Task 6: Edit the AdventureWorksDWDev StageProduct OLE DB Destination to redirect rows when an error is encountered1. Configure AdventureWorksDWDev StageProduct OLE DB Destination to redirect rows when errors are encountered in the data flow.Task 7: Add a Grid Data Viewer in the Data Flow path between the AdventureWorks2008 Products OLE DB Source and the Category Uppercase Character Map transformation1. Add a Grid Data Viewer in the Data Flow path between the AdventureWorks2008 Products OLE DB Source and the Category Uppercase Character Map transformation.Task 8: Add a Grid Data Viewer in the Data Flow path between the Category Uppercase Character Map transformation and the AdventureworksDWDev StageProduct OLE DB Destination. Then save the AW_BI solution1. Add a Grid Data Viewer in the Data Flow path between the Category Uppercase Character Map transformation and the AdventureworksDWDev StageProduct OLE DB Destination.1. Save the AW_BI solution.Task 9: Execute the Load Products Data Flow task to view the data viewers to confirm that the transform has worked correctly. Observe the data load into the StageProduct table of the AdventureWorksDWDev database and for any records that have failed verify that the data has loaded into the StageProductLoadErrors.txt file located in the D:\Labfiles\Starter folder1. Execute the Load Products Data Flow task and view the data viewers that execute.1. View the AdventureWorksDWDev StageProduct OLE DB Destination and confirm that 295 rows are inserted into the StageProduct table.1. View the data in the StageProduct table in the AdventureWorksDWDev database by using SQL Server Management Studio.1. Confirm that the StageProductLoadErrors.txt file located in D:\Labfiles\Starter folder contains 50 records.Task 10: Clean out the data from the StageProduct table and the StageProductLoadErrors.txt file. Remove the Data viewers and correct the error that is Occurring with the LoadProducts Data Flow task 1. In Notepad, delete the data within the StageProductLoadErrors.txt text file.1. Remove the data from the StageProduct table in the AdventureWorksDWDev database.0. In the Query Window, type in the following code.USE AdventureWorksDWDevGODELETE FROM StageProductGOSELECT * FROM StageProduct

1. Stop debugging in Business Intelligence Development Studio and remove the data viewers from the Load Products Data Flow task.1. Edit the AdventureWorks2008 Products OLE DB data source by changing the query to replace Null values returned in the Color column with the value of None.Task 11: Clean out the data from the StageProduct table and the StageProductLoadErrors.txt file. Remove the Data viewers and correct the error that is Occurring with the LoadProducts Data Flow task1. Execute the Load Products Data Flow task.1. Confirm that the StageProductLoadErrors.txt file located in D:\Labfiles\Starter folder contains 0 records.1. View the data in the StageProduct table in the AdventureWorksDWDev database by using SQL Server Management Studio.

1. Remove the data from the StageProduct table in the AdventureWorksDWDev database.0. In the Query Window, type in the following code.USE AdventureWorksDWDevGODELETE FROM StageProductGOSELECT * FROM StageProduct

Task 12: Save and close the AW_BI solution in Business Intelligence Development Studio1. Save and close the AW_BI solution.Task 13: You have completed all tasks in this exercise1. A successful completion of this exercise results in the following outcomes:0. You have created and configured an error data path.0. You have added data viewers to the Data Flow path.0. You have observed the effects of Data Flow paths.0. You have corrected errors in a data flow and observed the successful completion of a Data Flow path.

Exercise 3: Implementing Data Flow TransformationsExercise OverviewIn this exercise, you will edit the package AWDataWarehouse. You will firstly edit the Generate Resellers Data Data Flow task to explore common transformations that are used within the data flow. However, you want to explore the use of the Slowly Changing Dimension task to manage changes of data when transferring data from the ProductStage to the ProductDim table that is defined within the Generate Product Data Data Flow task. Finally, you will edit the Generate FactSales Data Data Flow task that will populate the FactSales table that will use a lookup transformation to ensure that the correct data is loaded into the fact table. Task 1: Open Business Intelligence Development Studio and open the solution file AW_BI solution located in D:\Labfiles\Starter\AW_BI folder1. Open the Microsoft Business Intelligence Development Studio.1. Open the AW_BI solution file in D:\Labfiles\Starter\AW_BI folder.Task 2: Open the AWDataWarehouse package in the AW_SSIS project in the AW_BI solution1. Open the AWStaging package in Business Intelligence Development Studio.Task 3: Edit the Generate Resellers Data Data Flow task in the AWDataWarehouse package and add a OLE DB Source to the Data Flow Designer that is configure to retrieve data from the dbo.StageReseller table in the AdventureWorksDWDev database1. Open the Generate Resellers Data Flow task in the AWDataWarehouse package in Business Intelligence Development Studio.1. Add an OLE DB Source data flow source from the Toolbox onto the Data Flow Designer. Name the OLE DB Source data flow source AdventureWorksDWDev StageResellers.1. Edit the AdventureWorksDWDev StageResellers OLE DB data source by retrieving all columns from the StageReseller table in the AdventureWorksDWDev database.1. Save the AW_BI solution.Task 4: Add a Conditional Split transformation that will keep all of the Resellers with an AddressType of Main Office within the dimension table data load and output other address types to a text file named NonMainOffice.txt in the D:\Labfiles\Starter folder. Name the Conditional Split transformation MainOffice1. Add a Conditional Split transformation from the Toolbox onto the Data Flow Designer. Name the Conditional Split transformation Main Office data.1. Configure the MainOffice Conditional Split transformation to identify records that have an AddressType of Main Office and those records that do not.1. Create the Flat File Destination and name the Flat File Destination NonMainOffices.1. Set the Data Flow path from the MainOffice Conditional Split transformation to the NonMainOffices Flat File Destination.Task 5: Add a Sort transformation named CountryRegionSort below the MainOffice Conditional Split transformation and drag a Data Flow path from the MainOffice Conditional Split transformation to the CountryRegionSort Sort transformation1. Add a Sort transformation from the Toolbox onto the Data Flow Designer. Name the Sort transformation Main Office data.1. Set the Data Flow path from the MainOffice Conditional Split transformation to the NonMainOffices Flat File Destination.1. Configure the CountryRegionSort Sort transformation to sort by CountryRegionName.Task 6: Edit the Generate Reseller Data Data Flow task and add an OLE DB Destination to the Data Flow Designer named AdventureWorksDWDev DimReseller. Then set the Data Flow path from the CountryRegionSort transformation to the AdventureWorksDWDev DimReseller OLE DB Destination1. Add an OLE DB Source data flow destination from the Toolbox onto the Data Flow Designer. Name the OLE DB Source data flow source AdventureWorksDWDev DimReseller.1. Set the Data Flow path from the Category Uppercase transformation to the AdventureWorksDWDev StageProduct OLE DB Destination.Task 7: Edit the AdventureWorksDWDev DimReseller OLE DB Destination to load the data into the DimReseller table and remove the Check constraints option1. Edit the AdventureWorksDWDev StageProduct OLE DB Destination to load the data into the StageProduct table in the AdventureWorksDWDev database.1. Edit the AdventureWorksDWDev DimReseller OLE DB Destination by performing column mapping between the source and destination data.1. Save the AW_BI solution.Task 8: Edit the Generate Product Data Data Flow task in the AWDataWarehouse package and add an OLE DB Source to the Data Flow Designer that is configured to retrieve data from the dbo.StageProduct table in the AdventureWorksDWDev database1. Open the Generate Product Data Data Flow task in the AWDataWarehouse package in Business Intelligence Development Studio.1. Add an OLE DB Source data flow source from the Toolbox onto the Data Flow Designer. Name the OLE DB Source data flow source AdventureWorksDWDev StageProducts.1. Edit the AdventureWorksDWDev StageProducts OLE DB data source by retrieving all columns from the StageProduct table in the AdventureWorksDWDev database.1. Save the AW_BI solution.Task 9: Edit the Generate Product Data Data Flow task in the AWDataWarehouse package and add a Slowly Changing Dimension task that loads data into the DimProduct table and treats the Category and Subcategory data as changing attributes and the EnglishProductName as a historical attribute. All remaining columns will be treated as a fixed attribute1. Open the Generate Product Data Data Flow task in the AWDataWarehouse package in Business Intelligence Development Studio.1. Add a Slowly Changing Dimension Data Flow task to the Data Flow Designer and then create a Data Flow path from the AdventureWorksDWDev StageProducts OLE DB data source to the Slowly Changing Dimension.1. Run a Slowly Changing Dimension wizard selecting DimProduct as the destination table and ProductAlternateKey column as the business key.1. In the Slowly Changing Dimension wizard, treat the Category and Subcategory data as changing attributes and the EnglishProductName as a historical attribute. All remaining columns will be treated as a fixed attribute.1. In the Slowly Changing Dimension wizard, set the wizard to fail transformations with changes to fixed attributes and use start and end dates to identify current and expired records based on the System::StartTime variable. Disable the inferred members support.1. Save the AW_BI solution.Task 10: Review the FactSales table in the AdventureWorksDWDev database removing the ExtendedAmount, UnitPriceDiscountPct, TotalProductCost and TaxAmount columns. Then, edit the Generate FactSales Data Data Flow task to load the FactSales table with the correct data1. Open SQL Server Management Studio and view the columns in the FactSales table of the AdventureWorksDWDev database.1. Maximize Business Intelligence Development Studio and add an OLE DB data source to the AdventureWorks2008 database within the Generate FactSales Data Data Flow task that uses the SourceFactLoad.sql file located in D:\Labfiles\Starter.1. Use a Data Conversion transformation to convert the following columns that will be loaded into the FactSales table in the AdventureWorksDWDev database:0. ProductID integer data type to a Unicode string (25) with an output name ProductIDMapping. 0. BusinessEntityID integer data type to a Unicode string (25) with an output name ResellerIDMapping. 0. Convert the SalesOrderNumber to a Unicode string (20) with an output name of StringSalesOrderNumber.0. Covert the SalesOrderLineNumber to a single byte unsigned integer with an output name of TinyIntSalesOrderLineNumber.0. Convert the UnitPriceDiscount column to a double-precision float data type with an output name of cnv_UnitPriceDiscount.0. Convert the LineTotal column to a currency data type with an output name of cnv_LineTotal.1. Add a Lookup Task within the Generate FactSales Data Data Flow task that will look up the Product Dimension Key based on the ProductAltenateKey.1. Add a Lookup Task within the Generate FactSales Data Data Flow task that will look up the Reseller Dimension Key based on the BusinessEntityID.1. Add a Raw File destination within the Generate FactSales Data Data Flow task that will be used as the error output for the ResellerKey Lookup task.1. Add a Lookup Task within the Generate FactSales Data Data Flow task that will look up the Time Key based on the Orderdate column.1. Add a Lookup Task within the Generate FactSales Data Data Flow task that will look up the Time Key based on the DueDate column.1. Add a Lookup Task within the Generate FactSales Data Data Flow task that will look up the Time Key based on the ShipDate column.1. Add an OLE DB Destination to the data flow and map the input columns correctly to the columns in the SalesFact table of the AdventureWorksDWDev database.0. Map the following Available Input Columns to the Available Destination Columns:

Available Input ColumnsAvailable Destination Column

ProductKeyProductKey

OrderDate Lookup.TimeKeyOrderDateKey

DueDate Lookup.TimeKeyDueDateKey

ShipDate Lookup.TimeKeyShipDateKey

ResellerKeyResellerKey

StringSalesOrderNumberSalesOrderNumber

TinyIntSalesOrderLineNumberSalesOrderLineNumber

RevisionNumberRevisionNumber

OrderQtyOrderQuantity

UnitPriceUnitPrice

Cnv_UnitPriceDiscountDiscountAmount

StandardCostProductStandardCost

Cnv_LineTotalSalesAmount

1. Save the AW_BI solution.Task 11: Execute the LoadAWDW package that contains the Execute Package tasks that controls the load of the AdventureWorksDWDev data warehouse and review the data in the database by using SQL Server Management Studio1. Open Business Intelligence Development Studio, execute the LoadAWDWDev package.1. Save and close the AW_BI solution.

Task 12: You have completed all tasks in this exercise1. A successful completion of this exercise results in the following outcomes:1. You have opened Business Intelligence Development Studio and opened a data flow component within a package.1. You have added an OLE DB data source within a data flow.1. You have added a conditional split transformation to a data flow task.1. You have added a sort transformation to a data flow task.1. You have added and edited an OLE DB data destination within a data flow.1. You have added and edited a slowly changing dimension transformation.1. You have added and edited a lookup transformation to load a fact table with data within a data warehouse.1. You have added and edited execute package task to control the load of data into a data warehouse.

Lab ReviewIn this lab, you used data flows within an SSIS package to populate a simple data warehouse. You firstly edited an existing package to add data sources and destinations and use common transformation to complete the loading of the ProductStage table. Then, you implemented a data viewer in this package and ran the package to ensure that data was loaded correctly into the ProductStage table.You then created the dimension tables in the data warehouse focusing specifically on the Slowly Changing Dimension task to manage changing data in the dimension tables. You finally explored to populate the fact table within the data warehouse by using the Lookup transformation to ensure that the correct data was loaded into the fact table.What is the purpose of Data Flow paths?Data Flow paths are used to control the flow of data within the Data Flow task. You can define a success Data Flow path represented by a green arrow, which will move the Data Flow path onto the next data flow component. You can also use an error output Data Flow path to control the flow of data when an error occurs.What kind of errors can be managed by the error output Data Flow path?You can define errors or truncation errors to be managed by the error output Data Flow path.What data types does the Export Column transformation manage?The DT_IMAGE, DT_TEXT and DT_NTEXT data types. The Export Column transformation moves this type of data stored within a table to a file.What is the difference between a Type 1 and a Type 2 Slowly Changing Dimension and how are they represented in the Slowly Changing Dimension transformation?Type 1 is a Slowly Changing Dimension that will overwrite data values within a dimension table. As a result, no historical data is retained. In the Slowly Changing Dimension Wizard, this is referred to as a Changing Attribute.Type 2 Slowly Changing Dimension will insert a new record when the value in a dimension table changes. As a result, historical data is retained. This is referred to as a Historical Attribute in the Slowly Changing Dimension Wizard.What is the difference between a Lookup and a Fuzzy Lookup transformation?The Lookup transformation enables you to take information from an input column and then look up additional information from another dataset that is linked to the input columns through a common column.Fuzzy Lookup transformation uses logic that can be applied to Lookup operations so that it can return data from a dataset that may closely match the Lookup value required.

Module SummaryDefining Data Sources and DestinationsIn this lesson, you have learned the following key points: The ETL operation uses data sources to retrieve the source data, transformations to change the data and data destinations to load the data into a destination database. The range of data flow source that enables SSIS to connect to a wide range of data sources include: OLEDB to connect to SQL Server, Microsoft Access 2007 and Microsoft Excel 2007 Flat file to connect to text and csv files Raw file to connect to raw file sources created by raw file destinations Microsoft Excel to connect to Microsoft Office Excel 972002 XML to connect to XML data sources ADO.Net sources to connect to a database to create a datareader The data flow destinations that are available in SSIS include: OLEDB to connect to SQL Server, Microsoft Access 2007 and Microsoft Excel 2007 Flat file to connect to text and csv files Raw file to connect to raw file sources created by raw file destinations Microsoft Excel to connect to Microsoft Office Excel 97 2002 XML to connect to XML data sources ADO.Net sources to connect to a database to create a datareader You can configure an OLE DB Data Source to retrieve data from SQL Server 2008 objects defining a server name, authentication method and database name. You can configure data sources for Access by using the OLEDB data source. You can configure data sources for specific versions of Excel by using OLEDB and Microsoft Excel data sources and destinations.

Data Flow PathsIn this lesson, you have learned the following key points: Data flow paths can be used to control the flow of data flows and transformations in an SSIS package using success data flow paths and error data flow paths. You can create data flow paths and use them to create inputs into other data flow components. In addition, you can use data flow paths to create error data flow outputs by clicking and dragging the data flow path between different data flow components. Data viewers help you to view the data before and after transformations take place to verify that, the transformations are working as expected. The types of data viewers available to check the data within the data flow include: Grid that returns the data in rows and columns in a table Histogram works with numeric data only, allowing you to select one column from the data flow Scatter Plot works with two numeric columns from a data source, providing the X-axis and Y-axis of a chart Column Chart allows you to select one column from the data flow that presents a column chart that shows the number of occurrences You can create data viewers with SSIS to view the data flow as the package executes.

Implementing Data Flow Transformations: Part 1In this lesson, you have learned the following key points: Transformations in SSIS allow you to change the data as the data is being moved from a source connection to a destination connection. They can also be used to standardize and cleanse the data. You can modify data by using the data formatting transformations, including: Character Map transformation for simple data transforms such as uppercase or lowercase Data conversion transformation to convert data in the data flow Sort transformation to sort the data ascending or descending within the data flow Aggregate transformation that enables you to create a scalar results set or use in conjunction with a Group By clause to return multiple results You can manipulate column data by using column transformations, including: Copy transformation to copy data between a source and a destination Derived Column transformation to create a new column of data Import column transformation Export column transformation You can manage the data flow by using Multiple Data Flow transformations, including: Conditional Split transformation to separate data based on an expression that acts as a condition for the split Multicast transformation that enables you to generate multiple copies of the same data Merge transformation that enables you to merge sorted data Merge Join transformation that enables you to merge sorted data based on a join condition Union All transformation that enables you to merge unsorted data You can create custom data sources, destinations and data transformations by using Custom transformations, including: Script transformation that allows you to create custom data sources, destinations and data transformations using Visual Basic or C# OLE DB command transformation to issue OLE DB commands You can implement simple transformations in the Data Flow of SSIS. You can use the Slowly Changing Dimension transformation to manage changing data within a dimension table in a data warehouse.

Implementing Data Flow Transformations: Part 2In this lesson, you have learned the following key points: You can create Lookup and Cache transformations in SQL Server 2008. The Lookup transformation helps you to take information from an input column and then look up additional information from another dataset that is linked to the input columns through a common column managing data in a data warehouse. The Cache transformation is used to improve the performance of a Lookup transformation. You can analyze data within the data flow by using Data Analysis transformations, including: Pivot transformation to create a crosstab result set Unpivot transformation to create a normalized result set Data Mining Query transformation to use data mining extension to perform data analysis You can create a sample of data using Data Sampling transformations, including: Percentage Sampling transformation to generate a sample of data based on a percentage value Row Sampling transformation to generate a sample of data based on a set value Row Count transformation enables you to perform a row count of data and pass the value to a variable Audit Transformation is used to add metadata information to the data flow. Fuzzy transformations can be used to help standardize data, including: Fuzzy Lookup to perform lookups of data against data that mat not exactly match Fuzzy Grouping to group data together that are candidates for the same type of data You can use Term transformations to extract nouns and noun phrases from within the data flow, including: Term Extraction transformation Term Lookup transformation

Lab: Implementing Data Flow in SQL Server Integration Services 2008In this lab, you used data flows within an SSIS package to populate a simple data warehouse. You firstly edited an existing package to add data sources and destinations and use common transformation to complete the loading of the ProductStage table. Then, you implemented a data viewer in this package and ran the package to ensure that data was loaded correctly into the ProductStage table.You then created the dimension tables in the data warehouse focusing specifically on the Slowly Changing Dimension task to manage changing data in the dimension tables. You finally explored the ways to populate the fact table within the data warehouse by using the Lookup transformation to ensure that the correct data was loaded into the fact table.

Glossary

.NET FrameworkAn integral Windows component that supports building, deploying and running the next generation of applications and Web services. It provides a highly productive, standards-based, multilanguage environment for integrating existing investments with next generation applications and services, as well as the agility to solve the challenges of deployment and operation of Internet-scale applications. The .NET Framework consists of three main parts: the common language runtime, a hierarchical set of unified class libraries and a componentized version of ASP called ASP.NET.ad hoc reportAn .rdl report created with report builder that accesses report models.aggregationA table or structure that contains precalculated data for a cube.aggregation designIn Analysis Services, the process of defining how an aggregation is created.aggregation prefixA string that is combined with a system-defined ID to create a unique name for a partition's aggregation table.ancestorA member in a superior level in a dimension hierarchy that is related through lineage to the current member within the dimension hierarchy.attributeThe building block of dimensions and their hierarchies that corresponds to a single column in a dimension table.attribute relationshipThe hierarchy associated with an attribute containing a single level based on the corresponding column in a dimension table.

axisA set of tuples. Each tuple is a vector of members. A set of axes defines the coordinates of a multidimensional data set.ActiveX Data ObjectsComponent Object Model objects that provide access to data sources. This API provides a layer between OLE DB and programming languages such as Visual Basic, Visual Basic for Applications, Active Server Pages and Microsoft Internet Explorer Visual Basic Scripting.ActiveX Data Objects (Multidimensional)A high-level, language-independent set of object-based data access interfaces optimized for multidimensional data applications.ActiveX Data Objects MultiDimensional.NETA managed data provider used to communicate with multidimensional data sources.ADO MDSee Other Term: ActiveX Data Objects (Multidimensional)ADOMD.NETSee Other Term: ActiveX Data Objects MultiDimensional.NETAMOSee Other Term: Analysis Management ObjectsAnalysis Management ObjectsThe complete library of programmatically accessed objects that let and application manage a running instance of Analysis Services.balanced hierarchyA dimension hierarchy in which all leaf nodes are the same distance from the root node.calculated columnA column in a table that displays the result of an expression instead of stored data.calculated fieldA field, defined in a query, that displays the result of an expression instead of stored data.calculated memberA member of a dimension whose value is calculated at run time by using an expression.calculation conditionA MDX logical expression that is used to determine whether a calculation formula will be applied against a cell in a calculation subcube.calculation formulaA MDX expression used to supply a value for cells in a calculation subcube, subject to the application of a calculation condition.calculation passA stage of calculation in a multidimensional cube in which applicable calculations are evaluated.calculation subcubeThe set of multidimensional cube cells that is used to create a calculated cells definition. The set of cells is defined by a combination of MDX set expressions.caseIn data mining, a case is an abstract view of data characterized by attributes and relations to other cases.case keyIn data mining, the element of a case by which the case is referenced within a case set.case setIn data mining, a set of cases.cellIn a cube, the set of properties, including a value, specified by the intersection when one member is selected from each dimension.cellsetIn ADO MD, an object that contains a collection of cells selected from cubes or other cellsets by a multidimensional query.

changing dimensionA dimension that has a flexible member structure, and is designed to support frequent changes to structure and data.chart data regionA report item on a report layout that displays data in a graphical format.childA member in the next lower level in a hierarchy that is directly related to the current member.clickthrough reportA report that displays related report model data when you click data within a rendered report builder report.clusteringA data mining technique that analyzes data to group records together according to their location within the multidimensional attribute space.collationA set of rules that determines how data is compared, ordered and presented.column-level collationSupporting multiple collations in a single instance.composite keyA key composed of two or more columns.concatenationThe combining of two or more character strings or expressions into a single character string or expression, or to combine two or more binary strings or expressions into a single binary string or expression.concurrencyA process that allows multiple users to access and change shared data at the same time. SQL Server uses locking to allow multiple users to access and change shared data at the same time without conflicting with each other.

conditional splitA restore of a full database backup, the most recent differential database backup (if any), and the log backups (if any) taken since the full database backup.config fileSee Other Term: configuration fileconfigurationIn reference to a single microcomputer, the sum of a system's internal and external components, including memory, disk drives, keyboard, video and generally less critical add-on hardware, such as a mouse, modem or printer.configuration fileA file that contains machine-readable operating specifications for a piece of hardware or software, or that contains information about another file or about a specific user.configurationsIn Integration Services, a name or value pair that updates the value of package objects when the package is loaded.connectionAn interprocess communication (IPC) linkage established between a SQL Server application and an instance of SQL Server.connection managerIn Integration Services, a logical representation of a run-time connection to a data source.constantA group of symbols that represent a specific data value.containerA control flow element that provides package structure.control flowThe ordered workflow in an Integration Services package that performs tasks.

control-break reportA report that summarizes data in user-defined groups or breaks. A new group is triggered when different data is encountered.cubeA set of data that is organized and summarized into a multidimensional structure defined by a set of dimensions and measures.cube roleA collection of users and groups with the same access to a cube.custom rollupAn aggregation calculation that is customized for a dimension level or member, and that overrides the aggregate functions of a cube's measures.custom ruleIn a role, a specification that limits the dimension members or cube cells that users in the role are permitted to access.custom variableAn aggregation calculation that is customized for a dimension level or member and overrides the aggregate functions of a cube's measures.data dictionaryA set of system tables, stored in a catalog, that includes definitions of database structures and related information, such as permissions.data explosionThe exponential growth in size of a multidimensional structure, such as a cube, due to the storage of aggregated data.data flowThe ordered workflow in an Integration Services package that extracts, transforms and loads data.data flow engineAn engine that executes the data flow in a package.

data flow taskEncapsulates the data flow engine that moves data between sources and destinations, providing the facility to transform, clean and modify data as it is moved.data integrityA state in which all the data values stored in the database are correct.data manipulation languageThe subset of SQL statements that is used to retrieve and manipulate data.data martA subset of the contents of a data warehouse.data memberA child member associated with a parent member in a parent-child hierarchy.data miningThe process of analysing data to identify patterns or relationships.data processing extensionA component in Reporting Services that is used to retrieve report data from an external data source.data regionA report item that displays repeated rows of data from an underlying dataset in a table, matrix, list or chart.data scrubbingPart of the process of building a data warehouse out of data coming from multiple (OLTP) systems.data sourceIn ADO and OLE DB, the location of a source of data exposed by an OLE DB provider. The source of data for an object such as a cube or dimension. It is also the specification of the information necessary to access source data. It sometimes refers to object of ClassType clsDataSource. In Reporting Services, a specified data source type, connection string and credentials, which can be saved separately to a report server and shared among report projects or embedded in a .rdl file.

data source nameThe name assigned to an ODBC data source.data source viewA named selection of database objects that defines the schema referenced by OLAP and data mining objects in an Analysis Services databases.data warehouseA database specifically structured for query and analysis.database roleA collection of users and groups with the same access to an Analysis Services database.data-driven subscriptionA subscription in Reporting Services that uses a query to retrieve subscription data from an external data source at run time.datareaderA stream of data that is returned by an ADO.NET query.datasetIn OLE DB for OLAP, the set of multidimensional data that is the result of running a MDX SELECT statement. In Reporting Services, a named specification that includes a data source definition, a query definition and options.decision supportSystems designed to support the complex analytic analysis required to discover business trends.decision treeA treelike model of data produced by certain data mining methods.default memberThe dimension member used in a query when no member is specified for the dimension.

delimited identifierAn object in a database that requires the use of special characters (delimiters) because the object name does not comply with the formatting rules of regular identifiers.delivery channel typeThe protocol for a delivery channel, such as Simple Mail Transfer Protocol (SMTP) or File.delivery extensionA component in Reporting Services that is used to distribute a report to specific devices or target locations.densityIn an index, the frequency of duplicate values. In a data file, a percentage that indicates how full a data page is. In Analysis Services, the percentage of cells that contain data in a multidimensional structure.dependenciesObjects that depend on other objects in the same database.derived columnA transformation that creates new column values by applying expressions to transformation input columns.descendantA member in a dimension hierarchy that is related to a member of a higher level within the same dimension.destinationAn Integration Services data flow component that writes the data from the data flow into a data source or creates an in-memory dataset.destination adapterA data flow component that loads data into a data store.dimensionA structural attribute of a cube, which is an organized hierarchy of categories (levels) that describe data in the fact table.dimension granularityThe lowest level available to a particular dimension in relation to a particular measure group.dimension tableA table in a data warehouse whose entries describe data in a fact table. Dimension tables contain the data from which dimensions are created.discretized columnA column that represents finite, counted data.document mapA navigation pane in a report arranged in a hierarchy of links to report sections and groups.drillthroughIn Analysis Services, a technique to retrieve the detailed data from which the data in a cube cell was summarized. In Reporting Services, a way to open related reports by clicking hyperlinks in the main drillthrough report.drillthrough reportA report with the 'enable drilldown' option selected. Drillthrough reports contain hyperlinks to related reports.dynamic connection stringIn Reporting Services, an expression that you build into the report, allowing the user to select which data source to use at run time. You must build the expression and data source selection list into the report when you create it.Data Mining Model TrainingThe process a data mining model uses to estimate model parameters by evaluating a set of known and predictable data.entityIn Reporting Services, an entity is a logical collection of model items, including source fields, roles, folders and expressions, presented in familiar business terms.executableIn Integration Services, a package, Foreach Loop, For Loop, Sequence or task.execution treeThe path of data in the data flow of a SQL Server 2008 Integration Services package from sources through transformations to destinations.expressionIn SQL, a combination of symbols and operators that evaluate to a single data value. In Integration Services, a combination of literals, constants, functions and operators that evaluate to a single data value.ETLExtraction, transformation and loading. The complex process of copying and cleaning data from heterogeneous sources.factA row in a fact table in a data warehouse. A fact contains values that define a data event such as a sales transaction.fact dimensionA relationship between a dimension and a measure group in which the dimension main table is the same as the measure group table.fact tableA central table in a data warehouse schema that contains numerical measures and keys relating facts to dimension tables.field lengthIn bulk copy, the maximum number of characters needed to represent a data item in a bulk copy character format data file.field terminatorIn bulk copy, one or more characters marking the end of a field or row, separating one field or row in the data file from the next.filter expressionAn expression used for filtering data in the Filter operator.

flat fileA file consisting of records of a single record type, in which there is no embedded structure information governing relationships between records.flattened rowsetA multidimensional data set presented as a two-dimensional rowset in which unique combinations of elements of multiple dimensions are combined on an axis.folder hierarchyA bounded namespace that uniquely identifies all reports, folders, shared data source items and resources that are stored in and managed by a report server.format fileA file containing meta information (such as data type and column size) that is used to interpret data when being read from or written to a data file.File connection managerIn Integration Services, a logical representation of a connection that enables a package to reference an existing file or folder or to create a file or folder at run time.For Loop containerIn Integration Services, a container that runs a control flow repeatedly by testing a condition.Foreach Loop containerIn Integration Services, a container that runs a control flow repeatedly by using an enumerator.Fuzzy GroupingIn Integration Services, a data cleaning methodology that examines values in a dataset and identifies groups of related data rows and the one data row that is the canonical representation of the group.global assembly cacheA machine-wide code cache that stores assemblies specifically installed to be shared by many applications on the computer.grantTo apply permissions to a user account, which allows the account to perform an activity or work with data.

granularityThe degree of specificity of information that is contained in a data element.granularity attributeThe single attribute is used to specify the level of granularity for a given dimension in relation to a given measure group.gridA view type that displays data in a table.groupingA set of data that is grouped together in a report.hierarchyA logical tree structure that organizes the members of a dimension such that each member has one parent member and zero or more child members.hybrid OLAPA storage mode that uses a combination of multidimensional data structures and relational database tables to store multidimensional data.HTML ViewerA UI component consisting of a report toolbar and other navigation elements used to work with a report.input memberA member whose value is loaded directly from the data source instead of being calculated from other data.input setThe set of data provided to a MDX value expression upon which the expression operates.isolation levelThe property of a transaction that controls the degree to which data is isolated for use by one process, and is guarded against interference from other processes. Setting the isolation level defines the default locking behavior for all SELECT statements in your SQL Server session.

item-level role assignmentA security policy that applies to an item in the report server folder namespace.item-level role definitionA security template that defines a role used to control access to or interaction with an item in the report server folder namespace.keyA column or group of columns that uniquely identifies a row (primary key), defines the relationship between two tables (foreign key) or is used to build an index.key attributeThe attribute of a dimension that links the non-key attributes in the dimension to related measures.key columnIn an Analysis Services dimension, an attribute property that uniquely identifies the attribute members. In an Analysis Services mining model, a data mining column that uniquely identifies each case in a case table.key performance indicatorA quantifiable, standardised metric that reflects a critical business variable (for instance, market share), measured over time.KPISee Other Term: key performance indicatorlatencyThe amount of time that elapses when a data change is completed at one server and when that change appears at another server.leafIn a tree structure, an element that has no subordinate elements.leaf levelThe bottom level of a clustered or nonclustered index.

leaf memberA dimension member without descendants.levelThe name of a set of members in a dimension hierarchy such that all members of the set are at the same distance from the root of the hierarchy.lift chartIn Analysis Services, a chart that compares the accuracy of the predictions of each data mining model in the comparison set.linked dimensionIn Analysis Services, a reference in a cube to a dimension in a different cube.linked measure groupIn Analysis Services, a reference in a cube to a measure group in a different cube.linked reportA report that references an existing report definition by using a different set of parameter values or properties.list data regionA report item on a report layout that displays data in a list format.local cubeA cube created and stored with the extension .cub on a local computer using PivotTable Service.lookup tableIn Integration Services, a reference table for comparing, matching or extracting data.many-to-many dimensionA relationship between a dimension and a measure group in which a single fact may be associated with many dimension members and a single dimension member may be associated with a many facts.matrix data regionA report item on a report layout that displays data in a variable columnar format.

measureIn a cube, a set of values that are usually numeric and are based on a column in the fact table of the cube. Measures are the central values that are aggregated and analyzed.measure groupAll the measures in a cube that derive from a single fact table in a data source view.memberAn item in a dimension representing one or more occurrences of data.member propertyInformation about an attribute member, for example, the gender of a customer member or the color of a product member.mining structureA data mining object that defines the data domain from which the mining models are built.multidimensional OLAPA storage mode that uses a proprietary multidimensional structure to store a partition's facts and aggregations or a dimension.multidimensional structureA database paradigm that treats data as cubes that contain dimensions and measures in cells.MDXA syntax used for defining multidimensional objects and querying and manipulating multidimensional data.Mining ModelAn object that contains the definition of a data mining process and the results of the training activity.Multidimensional ExpressionA syntax used for defining multidimensional objects and querying and manipulating multidimensional data.named setA set of dimension members or a set expression that is created for reuse, for example, in MDX queries.natural hierarchyA hierarchy in which at every level there is a one-to-many relationship between members in that level and members in the next lower level.nested tableA data mining model configuration in which a column of a table contains a table.nonleafIn a tree structure, an element that has one or more subordinate elements. In Analysis Services, a dimension member that has one or more descendants. In SQL Server indexes, an intermediate index node that points to other intermediate nodes or leaf nodes.nonleaf memberA member with one or more descendants.normalization rulesA set of database design rules that minimizes data redundancy and results in a database in which the Database Engine and application software can easily enforce integrity.Non-scalable EMA Microsoft Clustering algorithm method that uses a probabilistic method to determine the probability that a data point exists in a cluster.Non-scalable K-meansA Microsoft Clustering algorithm method that uses a distance measure to assign a data point to its closest cluster.object identifierA unique name given to an object. In Metadata Services, a unique identifier constructed from a globally unique identifier (GUID) and an internal identifier.online analytical processingA technology that uses multidimensional structures to provide rapid access to data for analysis.online transaction processingA data processing system designed to record all of the business transactions of an organization as they occur. An OLTP system is characterized by many concurrent users actively adding and modifying data.overfittingThe characteristic of some data mining algorithms that assigns importance to random variations in data by viewing them as important patterns.ODBC data sourceThe location of a set of data that can be accessed using an ODBC driver. A stored definition that contains all of the connection information an ODBC application requires to connect to the data source.ODBC driverA dynamic-link library (DLL) that an ODBC-enabled application, such as Excel, can use to access an ODBC data source.OLAPSee Other Term: online analytical processingOLE DBA COM-based API for accessing data. OLE DB supports accessing data stored in any format for which an OLE DB provider is available.OLE DB for OLAPFormerly, the separate specification that addressed OLAP extensions to OLE DB. Beginning with OLE DB 2.0, OLAP extensions are incorporated into the OLE DB specification.packageA collection of control flow and data flow elements that runs as a unit.paddingA string, typically added when the last plaintext block is short. The space allotted in a cell to create or maintain a specific size.parameterized reportA published report that accepts input values through parameters.parentA member in the next higher level in a hierarchy that is directly related to the current member.partitionIn replication, a subset of rows from a published table, created with a static row filter or a parameterized row filter. In Analysis Services, one of the storage containers for data and aggregations of a cube. Every cube contains one or more partitions. For a cube with multiple partitions, each partition can be stored separately in a different physical location. Each partition can be based on a different data source. Partitions are not visible to users; the cube appears to be a single object. In the Database Engine, a unit of a partitioned table or index.partition functionA function that defines how the rows of a partitioned table or index are spread across a set of partitions based on the values of certain columns, called partitioning columns.partition schemeA database object that maps the partitions of a partition function to a set of filegroups.partitioned indexAn index built on a partition scheme, and whose data is horizontally divided into units which may be spread across more than one filegroup in a database.partitioned snapshotIn merge replication, a snapshot that includes only the data from a single partition.partitioned tableA table built on a partition scheme, and whose data is horizontally divided into units which may be spread across more than one filegroup in a database.partitioningThe process of replacing a table with multiple smaller tables.partitioning columnThe column of a table or index that a partition function uses to partition a table or index.perspectiveA user-defined subset of a cube.

pivotTo rotate rows to columns, and columns to rows, in a crosstabular data browser. To choose dimensions from the set of available dimensions in a multidimensional data structure for display in the rows and columns of a crosstabular structure.polling queryA polling query is typically a singleton query that returns a value Analysis Services can use to determine if changes have been made to a table or other relational object.precedence constraintA control flow element that connects tasks and containers into a sequenced workflow.predictable columnA data mining column that the algorithm will build a model around based on values of the input columns.predictionA data mining technique that analyzes existing data and uses the results to predict values of attributes for new records or missing attributes in existing records.proactive cachingA system that manages data obsolescence in a cube by which objects in MOLAP storage are automatically updated and processed in cache while queries are redirected to ROLAP storage.processIn a cube, to populate a cube with data and aggregations. In a data mining model, to populate a data mining model with data mining content.profit chartIn Analysis Services, a chart that displays the theoretical increase in profit that is associated with using each model.properties pageA dialog box that displays information about an object in the interface.

propertyA named attribute of a control, field or database object that you set to define one of the object's characteristics, such as size, color or screen location; or an aspect of its behavior, such as whether it is hidden.property mappingA mapping between a variable and a property of a package element.property pageA tabbed dialog box where you can identify the characteristics of tables, relationships, indexes, constraints and keys.protectionIn Integration Services, determines the protection method, the password or user key and the scope of package protection.ragged hierarchySee Other Term: unbalanced hierarchyraw fileIn Integration Services, a native format for fast reading and writing of data to files.recursive hierarchyA hierarchy of data in which all parent-child relationships are represented in the data.reference dimensionA relationship between a dimension and a measure group in which the dimension is coupled to the measure group through another dimension. This behaves like a snowflake dimension, except that attributes are not shared between the two dimensions.reference tableThe source table to use in fuzzy lookups.refresh dataThe series of operations that clears data from a cube, loads the cube with new data from the data warehouse and calculates aggregations.

relational databaseA database or database management system that stores information in tables as rows and columns of data, and conducts searches by using the data in specified columns of one table to find additional data in another table.relational database management systemA system that organizes data into related rows and columns.relational OLAPA storage mode that uses tables in a relational database to store multidimensional structures.rendered reportA fully processed report that contains both data and layout information, in a format suitable for viewing.renderingA component in Reporting Services that is used to process the output format of a report.rendering extension(s)A plug-in that renders reports to a specific format.rendering object modelReport object model used by rendering extensions.replayIn SQL Server Profiler, the ability to open a saved trace and play it again.report definitionThe blueprint for a report before the report is processed or rendered. A report definition contains information about the query and layout for the report.report execution snapshotA report snapshot that is cached.report historyA collection of report snapshots that are created and saved over time.

report history snapshotA report snapshot that appears in report history.report intermediate formatA static report history that contains data captured at a specific point in time.report itemAny object, such as a text box, graphical element or data region, that exists on a report layout.report layoutIn report designer, the placement of fields, text and graphics within a report. In report builder, the placement of fields and entities within a report, plus applied formatting styles.report layout templateA predesigned table, matrix or chart report template in report builder.report linkA URL to a hyperlinked report.report modelA metadata description of business data used for creating ad hoc reports in report builder.report processing extensionA component in Reporting Services that is used to extend the report processing logic.report renderingThe action of combining the report layout with the data from the data source for the purpose of viewing the report.report server databaseA database that provides internal storage for a report server.report server execution accountThe account under which the Report Server Web service and Report Server Windows service run.

report server folder namespaceA hierarchy that contains predefined and user-defined folders. The namespace uniquely identifies reports and other items that are stored in a report server. It provides an addressing scheme for specifying reports in a URL.report snapshotA static report that contains data captured at a specific point in time.report-specific scheduleSchedule defined inline with a report.resourceAny item in a report server database that is not a report, folder or shared data source item.roleA SQL Server security account that is a collection of other security accounts that can be treated as a single unit when managing permissions. A role can contain SQL Server logins, other roles, and Windows logins or groups. In Analysis Services, a role uses Windows security accounts to limit scope of access and permissions when users access databases, cubes, dimensions and data mining models. In a database mirroring session, the principal server and mirror server perform complementary principal and mirror roles. Optionally, the role of witness is performed by a third server instance.role assignmentDefinition of user access rights to an item. In Reporting Services, a security policy that determines whether a user or group can access a specific item and perform an operation.role definitionA collection of tasks performed by a user (i.e. browser, administrator). In Reporting Services, a named collection of tasks that defines the operations a user can perform on a report server.roleplaying dimensionA single database dimension joined to the fact table on different foreign keys to produce multiple cube dimensions.

RDBMSSee Other Term: relational database management systemRDLSee Other Term: Report Definition LanguageReport Definition LanguageA set of instructions that describe layout and query information for a report.Report Server serviceA Windows service that contains all the processing and management capabilities of a report server.Report Server Web serviceA Web service that hosts, processes and delivers reports.ReportViewer controlsA Web server control and Windows Form control that provides embedded report processing in ASP.NET and Windows Forms applications.scalarA single-value field, as opposed to an aggregate.scalar aggregateAn aggregate function, such as MIN(), MAX() or AVG(), that is specified in a SELECT statement column list that contains only aggregate functions.scale barThe line on a linear gauge on which tick marks are drawn analogous to an axis on a chart.scopeAn extent to which a variable can be referenced in a DTS package.scriptA collection of Transact-SQL statements used to perform an operation.

security extensionA component in Reporting Services that authenticates a user or group to a report server.semiadditiveA measure that can be summed along one or more, but not all, dimensions in a cube.serializableThe highest transaction isolation level. Serializable transactions lock all rows they read or modify to ensure the transaction is completely isolated from other tasks.serverA location on the network where report builder is launched from and a report is saved, managed and published.server adminA user with elevated privileges who can access all settings and content of a report server.server aggregateAn aggregate value that is calculated on the data source server and included in a result set by the data provider.shared data source itemData source connection information that is encapsulated in an item.shared dimensionA dimension created within a database that can be used by any cube in the database.shared scheduleSchedule information that can be referenced by multiple items.siblingA member in a dimension hierarchy that is a child of the same parent as a specified member.sliceA subset of the data in a cube, specified by limiting one or more dimensions by members of the dimension.

smart tagA smart tag exposes key configurations directly on the design surface to enhance overall design-time productivity in Visual Studio 2005.snowflake schemaAn extension of a star schema such that one or more dimensions are defined by multiple tables.sourceAn Integration Services data flow component that extracts data from a data store, such as files and databases.source controlA way of storing and managing different versions of source code files and other files used in software development projects. Also known as configuration management and revision control.source cubeThe cube on which a linked cube is based.source databaseIn data warehousing, the database from which data is extracted for use in the data warehouse. A database on the Publisher from which data and database objects are marked for replication as part of a publication that is propagated to Subscribers.source objectThe single object to which all objects in a particular collection are connected by way of relationships that are all of the same relationship type.source partitionAn Analysis Services partition that is merged into another and is deleted automatically at the end of the merger process.sparsityThe relative percentage of a multidimensional structure's cells that do not contain data.star joinA join between a fact table (typically a large fact table) and at least two dimension tables.

star queryA star query joins a fact table and a number of dimension tables.star schemaA relational database structure in which data is maintained in a single fact table at the center of the schema with additional dimension data stored in dimension tables.subreportA report contained within another report.subscribing serverA server running an instance of Analysis Services that stores a linked cube.subscriptionA request for a copy of a publication to be delivered to a Subscriber.subscription databaseA database at the Subscriber that receives data and database objects published by a Publisher.subscription event ruleA rule that processes information for event-driven subscriptions.subscription scheduled ruleOne or more Transact-SQL statements that process information for scheduled subscriptions.Secure Sockets Layer (SSL)A proposed open standard for establishing a secure communications channel to prevent the interception of critical information, such as credit card numbers. Primarily, it enables secure electronic financial transactions on the World Wide Web, although it is designed to work on other Internet services as well.Semantic Model Definition LanguageA set of instructions that describe layout and query information for reports created in report builder.Sequence containerDefines a control flow that is a subset of the package control flow.

table data regionA report item on a report layout that displays data in a columnar format.tablixA Reporting Services RDL data region that contains rows and columns resembling a table or matrix, possibly sharing characteristics of both.target partitionAn Analysis Services partition into which another is merged, and which contains the data of both partitions after the merger.temporary stored procedureA procedure placed in the temporary database, tempdb and erased at the end of the session.time dimensionA dimension that breaks time down into levels such as Year, Quarter, Month and Day. In Analysis Services, a special type of dimension created from a date/time column.transformationIn data warehousing, the process of changing data extracted from source data systems into arrangements and formats consistent with the schema of the data warehouse. In Integration Services, a data flow component that aggregates, merges, distributes and modifies column data and rowsets.transformation error outputInformation about a transformation error.transformation inputData that is contained in a column, which is used during a join or lookup process, to modify or aggregate data in the table to which it is joined.transformation outputData that is returned as a result of a transformation procedure.tupleUniquely identifies a cell, based on a combination of attribute members from every attribute hierarchy in the cube.twoA process that ensures transactions that apply to more than one server are completed on all servers or on none.unbalanced hierarchyA hierarchy in which one or more levels do not contain members in one or more branches of the hierarchy.unknown memberA member of a dimension for which no key is found during processing of a cube that contains the dimension.unpivotIn Integration Services, the process of creating a more normalized dataset by expanding data columns in a single record into multiple records.valueAn expression in MDX that returns a value. Value expressions can operate on sets, tuples, members, levels, numbers or strings.variable intervalAn option on a Reporting Services chart that can be specified to automatically calculate the optimal number of labels that can be placed on an axis, based on the chart width or height.vertical partitioningTo segment a single table into multiple tables based on selected columns.very large databaseA database that has become large enough to be a management challenge, requiring extra attention to people, processes and processes.visualA displayed, aggregated cell value for a dimension member that is consistent with the displayed cell values for its displayed children.VLDBvery large database.

write backTo update a cube cell value, member or member property value.write enableTo change a cube or dimension so that users in cube roles with read/write access to the cube or dimension can change its data.writebackIn SQL Server, the update of a cube cell value, member or member property value.Web serviceIn Reporting Services, a service that uses Simple Object Access Protocol (SOAP) over HTTP and acts as a communications interface between client programs and the report server.XML for AnalysisA specification that describes an open standard that supports data access to data sources that reside on the World Wide Web.XMLASee Other Term: XML for Analysis

56