mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
1212 lines
58 KiB
Transact-SQL
1212 lines
58 KiB
Transact-SQL
|
|
-- Use PolyBase to load public data from Azure blob storage into the Contoso Retail Data Warehouse schema.
|
|
--
|
|
-- This script:
|
|
--
|
|
-- 1. Configures PolyBase for loading from a public blob storage container.
|
|
-- 2. Loads the data into columnstore indexes
|
|
-- 3. Performs optimizations after the load is finished.
|
|
--
|
|
-- Before you begin:
|
|
-- To run this tutorial, you need an Azure account that already has a SQL Data Warehouse database.
|
|
-- If you don't already have this, see
|
|
-- http://azure.microsoft.com/documentation/articles/sql-data-warehouse-get-started-provision.md
|
|
--
|
|
-- For more explanation about the loading process, this article on azure.microsoft.com
|
|
-- loads a small set of the Contoso data and explains the process in more detail.
|
|
-- http://azure.microsoft.com/documentation/articles/sql-data-warehouse-load-from-azure-blob-storage-with-polybase.md
|
|
|
|
|
|
-- Create an external data source
|
|
-- TYPE: HADOOP - PolyBase uses Hadoop APIs to access data in Azure blob storage.
|
|
-- LOCATION: Provide Azure storage account name and blob container name.
|
|
-- CREDENTIAL: Provide the credential created in the previous step.
|
|
|
|
CREATE EXTERNAL DATA SOURCE AzureStorage_west_public
|
|
WITH
|
|
(
|
|
TYPE = Hadoop
|
|
, LOCATION = 'wasbs://contosoretaildw-tables@contosoretaildw.blob.core.windows.net/'
|
|
);
|
|
GO
|
|
|
|
-- The data is stored in text files in Azure blob storage, and each field is separated with a delimiter.
|
|
-- Run this [CREATE EXTERNAL FILE FORMAT][] command to specify the format of the data in the text files.
|
|
-- he Contoso data is uncompressed and pipe delimited.
|
|
|
|
CREATE EXTERNAL FILE FORMAT TextFileFormat
|
|
WITH
|
|
( FORMAT_TYPE = DELIMITEDTEXT
|
|
, FORMAT_OPTIONS ( FIELD_TERMINATOR = '|'
|
|
, STRING_DELIMITER = ''
|
|
, DATE_FORMAT = 'yyyy-MM-dd HH:mm:ss.fff'
|
|
, USE_TYPE_DEFAULT = FALSE
|
|
)
|
|
);
|
|
GO
|
|
|
|
-- To create a place to store the Contoso data in your database, create a schema.
|
|
|
|
CREATE SCHEMA [asb];
|
|
GO
|
|
|
|
|
|
-- Now let's create the external tables. All we are doing here is defining column names and data types,
|
|
-- and binding them to the location and format of the Azure blob storage files. The location is the folder
|
|
-- under the root directory of the Azure Storage Blob.
|
|
|
|
--DimAccount
|
|
CREATE EXTERNAL TABLE [asb].DimAccount
|
|
(
|
|
[AccountKey] [int] NOT NULL,
|
|
[ParentAccountKey] [int] NULL,
|
|
[AccountLabel] [nvarchar](100) NULL,
|
|
[AccountName] [nvarchar](50) NULL,
|
|
[AccountDescription] [nvarchar](50) NULL,
|
|
[AccountType] [nvarchar](50) NULL,
|
|
[Operator] [nvarchar](50) NULL,
|
|
[CustomMembers] [nvarchar](300) NULL,
|
|
[ValueType] [nvarchar](50) NULL,
|
|
[CustomMemberOptions] [nvarchar](200) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimAccount/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimChannel
|
|
CREATE EXTERNAL TABLE [asb].DimChannel
|
|
(
|
|
[ChannelKey] [int] NOT NULL,
|
|
[ChannelLabel] [nvarchar](100) NOT NULL,
|
|
[ChannelName] [nvarchar](20) NULL,
|
|
[ChannelDescription] [nvarchar](50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimChannel/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimCurrency
|
|
CREATE EXTERNAL TABLE [asb].DimCurrency
|
|
(
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[CurrencyLabel] [nvarchar](10) NOT NULL,
|
|
[CurrencyName] [nvarchar](20) NOT NULL,
|
|
[CurrencyDescription] [nvarchar](50) NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimCurrency/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimCustomer
|
|
CREATE EXTERNAL TABLE [asb].DimCustomer
|
|
(
|
|
[CustomerKey] [int] NOT NULL,
|
|
[GeographyKey] [int] NOT NULL,
|
|
[CustomerLabel] [nvarchar](100) NOT NULL,
|
|
[Title] [nvarchar](8) NULL,
|
|
[FirstName] [nvarchar](50) NULL,
|
|
[MiddleName] [nvarchar](50) NULL,
|
|
[LastName] [nvarchar](50) NULL,
|
|
[NameStyle] [bit] NULL,
|
|
[BirthDate] [datetime] NULL,
|
|
[MaritalStatus] [nchar](1) NULL,
|
|
[Suffix] [nvarchar](10) NULL,
|
|
[Gender] [nvarchar](1) NULL,
|
|
[EmailAddress] [nvarchar](50) NULL,
|
|
[YearlyIncome] [money] NULL,
|
|
[TotalChildren] [tinyint] NULL,
|
|
[NumberChildrenAtHome] [tinyint] NULL,
|
|
[Education] [nvarchar](40) NULL,
|
|
[Occupation] [nvarchar](100) NULL,
|
|
[HouseOwnerFlag] [nchar](1) NULL,
|
|
[NumberCarsOwned] [tinyint] NULL,
|
|
[AddressLine1] [nvarchar](120) NULL,
|
|
[AddressLine2] [nvarchar](120) NULL,
|
|
[Phone] [nvarchar](20) NULL,
|
|
[DateFirstPurchase] [datetime] NULL,
|
|
[CustomerType] [nvarchar](15) NULL,
|
|
[CompanyName] [nvarchar](100) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimCustomer/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimDate
|
|
CREATE EXTERNAL TABLE [asb].DimDate
|
|
(
|
|
[Datekey] [datetime] NOT NULL,
|
|
[FullDateLabel] [nvarchar](20) NOT NULL,
|
|
[DateDescription] [nvarchar](20) NOT NULL,
|
|
[CalendarYear] [int] NOT NULL,
|
|
[CalendarYearLabel] [nvarchar](20) NOT NULL,
|
|
[CalendarHalfYear] [int] NOT NULL,
|
|
[CalendarHalfYearLabel] [nvarchar](20) NOT NULL,
|
|
[CalendarQuarter] [int] NOT NULL,
|
|
[CalendarQuarterLabel] [nvarchar](20) NULL,
|
|
[CalendarMonth] [int] NOT NULL,
|
|
[CalendarMonthLabel] [nvarchar](20) NOT NULL,
|
|
[CalendarWeek] [int] NOT NULL,
|
|
[CalendarWeekLabel] [nvarchar](20) NOT NULL,
|
|
[CalendarDayOfWeek] [int] NOT NULL,
|
|
[CalendarDayOfWeekLabel] [nvarchar](10) NOT NULL,
|
|
[FiscalYear] [int] NOT NULL,
|
|
[FiscalYearLabel] [nvarchar](20) NOT NULL,
|
|
[FiscalHalfYear] [int] NOT NULL,
|
|
[FiscalHalfYearLabel] [nvarchar](20) NOT NULL,
|
|
[FiscalQuarter] [int] NOT NULL,
|
|
[FiscalQuarterLabel] [nvarchar](20) NOT NULL,
|
|
[FiscalMonth] [int] NOT NULL,
|
|
[FiscalMonthLabel] [nvarchar](20) NOT NULL,
|
|
[IsWorkDay] [nvarchar](20) NOT NULL,
|
|
[IsHoliday] [int] NOT NULL,
|
|
[HolidayName] [nvarchar](20) NOT NULL,
|
|
[EuropeSeason] [nvarchar](50) NULL,
|
|
[NorthAmericaSeason] [nvarchar](50) NULL,
|
|
[AsiaSeason] [nvarchar](50) NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimDate/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimEmployee
|
|
CREATE EXTERNAL TABLE [asb].DimEmployee
|
|
(
|
|
[EmployeeKey] [int] NOT NULL,
|
|
[ParentEmployeeKey] [int] NULL,
|
|
[FirstName] [nvarchar](50) NOT NULL,
|
|
[LastName] [nvarchar](50) NOT NULL,
|
|
[MiddleName] [nvarchar](50) NULL,
|
|
[Title] [nvarchar](50) NULL,
|
|
[HireDate] [datetime] NULL,
|
|
[BirthDate] [datetime] NULL,
|
|
[EmailAddress] [nvarchar](50) NULL,
|
|
[Phone] [nvarchar](25) NULL,
|
|
[MaritalStatus] [nchar](1) NULL,
|
|
[EmergencyContactName] [nvarchar](50) NULL,
|
|
[EmergencyContactPhone] [nvarchar](25) NULL,
|
|
[SalariedFlag] [bit] NULL,
|
|
[Gender] [nchar](1) NULL,
|
|
[PayFrequency] [tinyint] NULL,
|
|
[BaseRate] [money] NULL,
|
|
[VacationHours] [smallint] NULL,
|
|
[CurrentFlag] [bit] NOT NULL,
|
|
[SalesPersonFlag] [bit] NOT NULL,
|
|
[DepartmentName] [nvarchar](50) NULL,
|
|
[StartDate] [datetime] NULL,
|
|
[EndDate] [datetime] NULL,
|
|
[Status] [nvarchar](50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimEmployee/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimEntity
|
|
CREATE EXTERNAL TABLE [asb].DimEntity
|
|
(
|
|
[EntityKey] [int] NOT NULL,
|
|
[EntityLabel] [nvarchar](100) NULL,
|
|
[ParentEntityKey] [int] NULL,
|
|
[ParentEntityLabel] [nvarchar](100) NULL,
|
|
[EntityName] [nvarchar](50) NULL,
|
|
[EntityDescription] [nvarchar](100) NULL,
|
|
[EntityType] [nvarchar](100) NULL,
|
|
[StartDate] [datetime] NULL,
|
|
[EndDate] [datetime] NULL,
|
|
[Status] [nvarchar](50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimEntity/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimGeography
|
|
CREATE EXTERNAL TABLE [asb].DimGeography
|
|
(
|
|
[GeographyKey] [int] NOT NULL,
|
|
[GeographyType] [nvarchar](50) NOT NULL,
|
|
[ContinentName] [nvarchar](50) NOT NULL,
|
|
[CityName] [nvarchar](100) NULL,
|
|
[StateProvinceName] [nvarchar](100) NULL,
|
|
[RegionCountryName] [nvarchar](100) NULL,
|
|
-- [Geometry] [geometry] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimGeography/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimMachine
|
|
CREATE EXTERNAL TABLE [asb].DimMachine
|
|
(
|
|
[MachineKey] [int] NOT NULL,
|
|
[MachineLabel] [nvarchar](100) NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[MachineType] [nvarchar](50) NOT NULL,
|
|
[MachineName] [nvarchar](100) NOT NULL,
|
|
[MachineDescription] [nvarchar](200) NOT NULL,
|
|
[VendorName] [nvarchar](50) NOT NULL,
|
|
[MachineOS] [nvarchar](50) NOT NULL,
|
|
[MachineSource] [nvarchar](100) NOT NULL,
|
|
[MachineHardware] [nvarchar](100) NULL,
|
|
[MachineSoftware] [nvarchar](100) NOT NULL,
|
|
[Status] [nvarchar](50) NOT NULL,
|
|
[ServiceStartDate] [datetime] NOT NULL,
|
|
[DecommissionDate] [datetime] NULL,
|
|
[LastModifiedDate] [datetime] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimMachine/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimOutage
|
|
CREATE EXTERNAL TABLE [asb].DimOutage (
|
|
[OutageKey] [int] NOT NULL,
|
|
[OutageLabel] [nvarchar](100) NOT NULL,
|
|
[OutageName] [nvarchar](50) NOT NULL,
|
|
[OutageDescription] [nvarchar](200) NOT NULL,
|
|
[OutageType] [nvarchar](50) NOT NULL,
|
|
[OutageTypeDescription] [nvarchar](200) NOT NULL,
|
|
[OutageSubType] [nvarchar](50) NOT NULL,
|
|
[OutageSubTypeDescription] [nvarchar](200) NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimOutage/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimProduct
|
|
CREATE EXTERNAL TABLE [asb].DimProduct (
|
|
[ProductKey] [int] NOT NULL,
|
|
[ProductLabel] [nvarchar](255) NULL,
|
|
[ProductName] [nvarchar](500) NULL,
|
|
[ProductDescription] [nvarchar](400) NULL,
|
|
[ProductSubcategoryKey] [int] NULL,
|
|
[Manufacturer] [nvarchar](50) NULL,
|
|
[BrandName] [nvarchar](50) NULL,
|
|
[ClassID] [nvarchar](10) NULL,
|
|
[ClassName] [nvarchar](20) NULL,
|
|
[StyleID] [nvarchar](10) NULL,
|
|
[StyleName] [nvarchar](20) NULL,
|
|
[ColorID] [nvarchar](10) NULL,
|
|
[ColorName] [nvarchar](20) NOT NULL,
|
|
[Size] [nvarchar](50) NULL,
|
|
[SizeRange] [nvarchar](50) NULL,
|
|
[SizeUnitMeasureID] [nvarchar](20) NULL,
|
|
[Weight] [float] NULL,
|
|
[WeightUnitMeasureID] [nvarchar](20) NULL,
|
|
[UnitOfMeasureID] [nvarchar](10) NULL,
|
|
[UnitOfMeasureName] [nvarchar](40) NULL,
|
|
[StockTypeID] [nvarchar](10) NULL,
|
|
[StockTypeName] [nvarchar](40) NULL,
|
|
[UnitCost] [money] NULL,
|
|
[UnitPrice] [money] NULL,
|
|
[AvailableForSaleDate] [datetime] NULL,
|
|
[StopSaleDate] [datetime] NULL,
|
|
[Status] [nvarchar](7) NULL,
|
|
[ImageURL] [nvarchar](150) NULL,
|
|
[ProductURL] [nvarchar](150) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimProduct/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimProductCategory
|
|
CREATE EXTERNAL TABLE [asb].DimProductCategory (
|
|
[ProductCategoryKey] [int] NOT NULL,
|
|
[ProductCategoryLabel] [nvarchar](100) NULL,
|
|
[ProductCategoryName] [nvarchar](30) NOT NULL,
|
|
[ProductCategoryDescription] [nvarchar](50) NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimProductCategory/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimProductSubcategory
|
|
CREATE EXTERNAL TABLE [asb].DimProductSubcategory (
|
|
[ProductSubcategoryKey] [int] NOT NULL,
|
|
[ProductSubcategoryLabel] [nvarchar](100) NULL,
|
|
[ProductSubcategoryName] [nvarchar](50) NOT NULL,
|
|
[ProductSubcategoryDescription] [nvarchar](100) NULL,
|
|
[ProductCategoryKey] [int] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimProductSubcategory/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimPromotion
|
|
CREATE EXTERNAL TABLE [asb].DimPromotion (
|
|
[PromotionKey] [int] NOT NULL,
|
|
[PromotionLabel] [nvarchar](100) NULL,
|
|
[PromotionName] [nvarchar](100) NULL,
|
|
[PromotionDescription] [nvarchar](255) NULL,
|
|
[DiscountPercent] [float] NULL,
|
|
[PromotionType] [nvarchar](50) NULL,
|
|
[PromotionCategory] [nvarchar](50) NULL,
|
|
[StartDate] [datetime] NOT NULL,
|
|
[EndDate] [datetime] NULL,
|
|
[MinQuantity] [int] NULL,
|
|
[MaxQuantity] [int] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimPromotion/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
|
|
--DimSalesTerritory
|
|
CREATE EXTERNAL TABLE [asb].DimSalesTerritory (
|
|
[SalesTerritoryKey] [int] NOT NULL,
|
|
[GeographyKey] [int] NOT NULL,
|
|
[SalesTerritoryLabel] [nvarchar](100) NULL,
|
|
[SalesTerritoryName] [nvarchar](50) NOT NULL,
|
|
[SalesTerritoryRegion] [nvarchar](50) NOT NULL,
|
|
[SalesTerritoryCountry] [nvarchar](50) NOT NULL,
|
|
[SalesTerritoryGroup] [nvarchar](50) NULL,
|
|
[SalesTerritoryLevel] [nvarchar](10) NULL,
|
|
[SalesTerritoryManager] [int] NULL,
|
|
[StartDate] [datetime] NULL,
|
|
[EndDate] [datetime] NULL,
|
|
[Status] [nvarchar](50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimSalesTerritory/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimScenario
|
|
CREATE EXTERNAL TABLE [asb].DimScenario (
|
|
[ScenarioKey] [int] NOT NULL,
|
|
[ScenarioLabel] [nvarchar](100) NOT NULL,
|
|
[ScenarioName] [nvarchar](20) NULL,
|
|
[ScenarioDescription] [nvarchar](50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimScenario/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--DimStore
|
|
CREATE EXTERNAL TABLE [asb].DimStore
|
|
(
|
|
[StoreKey] [int] NOT NULL,
|
|
[GeographyKey] [int] NOT NULL,
|
|
[StoreManager] [int] NULL,
|
|
[StoreType] [nvarchar](15) NULL,
|
|
[StoreName] [nvarchar](100) NOT NULL,
|
|
[StoreDescription] [nvarchar](300) NOT NULL,
|
|
[Status] [nvarchar](20) NOT NULL,
|
|
[OpenDate] [datetime] NOT NULL,
|
|
[CloseDate] [datetime] NULL,
|
|
[EntityKey] [int] NULL,
|
|
[ZipCode] [nvarchar](20) NULL,
|
|
[ZipCodeExtension] [nvarchar](10) NULL,
|
|
[StorePhone] [nvarchar](15) NULL,
|
|
[StoreFax] [nvarchar](14) NULL,
|
|
[AddressLine1] [nvarchar](100) NULL,
|
|
[AddressLine2] [nvarchar](100) NULL,
|
|
[CloseReason] [nvarchar](20) NULL,
|
|
[EmployeeCount] [int] NULL,
|
|
[SellingAreaSize] [float] NULL,
|
|
[LastRemodelDate] [datetime] NULL,
|
|
[GeoLocation] NVARCHAR(50) NULL,
|
|
[Geometry] NVARCHAR(50) NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/DimStore/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactExchangeRate
|
|
CREATE EXTERNAL TABLE [asb].FactExchangeRate
|
|
(
|
|
[ExchangeRateKey] [int] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[AverageRate] [float] NOT NULL,
|
|
[EndOfDayRate] [float] NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactExchangeRate/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactInventory
|
|
CREATE EXTERNAL TABLE [asb].FactInventory (
|
|
[InventoryKey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[ProductKey] [int] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[OnHandQuantity] [int] NOT NULL,
|
|
[OnOrderQuantity] [int] NOT NULL,
|
|
[SafetyStockQuantity] [int] NULL,
|
|
[UnitCost] [money] NOT NULL,
|
|
[DaysInStock] [int] NULL,
|
|
[MinDayInStock] [int] NULL,
|
|
[MaxDayInStock] [int] NULL,
|
|
[Aging] [int] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactInventory/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactITMachine
|
|
CREATE EXTERNAL TABLE [asb].FactITMachine (
|
|
[ITMachinekey] [int] NOT NULL,
|
|
[MachineKey] [int] NOT NULL,
|
|
[Datekey] [datetime] NOT NULL,
|
|
[CostAmount] [money] NULL,
|
|
[CostType] [nvarchar](200) NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactITMachine/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
|
|
--FactITSLA
|
|
CREATE EXTERNAL TABLE [asb].FactITSLA
|
|
(
|
|
[ITSLAkey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[MachineKey] [int] NOT NULL,
|
|
[OutageKey] [int] NOT NULL,
|
|
[OutageStartTime] [datetime] NOT NULL,
|
|
[OutageEndTime] [datetime] NOT NULL,
|
|
[DownTime] [int] NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactITSLA/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactOnlineSales
|
|
CREATE EXTERNAL TABLE [asb].FactOnlineSales
|
|
(
|
|
[OnlineSalesKey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[ProductKey] [int] NOT NULL,
|
|
[PromotionKey] [int] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[CustomerKey] [int] NOT NULL,
|
|
[SalesOrderNumber] [nvarchar](20) NOT NULL,
|
|
[SalesOrderLineNumber] [int] NULL,
|
|
[SalesQuantity] [int] NOT NULL,
|
|
[SalesAmount] [money] NOT NULL,
|
|
[ReturnQuantity] [int] NOT NULL,
|
|
[ReturnAmount] [money] NULL,
|
|
[DiscountQuantity] [int] NULL,
|
|
[DiscountAmount] [money] NULL,
|
|
[TotalCost] [money] NOT NULL,
|
|
[UnitCost] [money] NULL,
|
|
[UnitPrice] [money] NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactOnlineSales/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactSales
|
|
CREATE EXTERNAL TABLE [asb].FactSales
|
|
(
|
|
[SalesKey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[channelKey] [int] NOT NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[ProductKey] [int] NOT NULL,
|
|
[PromotionKey] [int] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[UnitCost] [money] NOT NULL,
|
|
[UnitPrice] [money] NOT NULL,
|
|
[SalesQuantity] [int] NOT NULL,
|
|
[ReturnQuantity] [int] NOT NULL,
|
|
[ReturnAmount] [money] NULL,
|
|
[DiscountQuantity] [int] NULL,
|
|
[DiscountAmount] [money] NULL,
|
|
[TotalCost] [money] NOT NULL,
|
|
[SalesAmount] [money] NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactSales/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactSalesQuota
|
|
CREATE EXTERNAL TABLE [asb].FactSalesQuota (
|
|
[SalesQuotaKey] [int] NOT NULL,
|
|
[ChannelKey] [int] NOT NULL,
|
|
[StoreKey] [int] NOT NULL,
|
|
[ProductKey] [int] NOT NULL,
|
|
[DateKey] [datetime] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[ScenarioKey] [int] NOT NULL,
|
|
[SalesQuantityQuota] [money] NOT NULL,
|
|
[SalesAmountQuota] [money] NOT NULL,
|
|
[GrossMarginQuota] [money] NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactSalesQuota/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
--FactStrategyPlan
|
|
CREATE EXTERNAL TABLE [asb].FactStrategyPlan
|
|
(
|
|
[StrategyPlanKey] [int] NOT NULL,
|
|
[Datekey] [datetime] NOT NULL,
|
|
[EntityKey] [int] NOT NULL,
|
|
[ScenarioKey] [int] NOT NULL,
|
|
[AccountKey] [int] NOT NULL,
|
|
[CurrencyKey] [int] NOT NULL,
|
|
[ProductCategoryKey] [int] NULL,
|
|
[Amount] [money] NOT NULL,
|
|
[ETLLoadID] [int] NULL,
|
|
[LoadDate] [datetime] NULL,
|
|
[UpdateDate] [datetime] NULL
|
|
)
|
|
WITH
|
|
(
|
|
LOCATION='/FactStrategyPlan/'
|
|
, DATA_SOURCE = AzureStorage_west_public
|
|
, FILE_FORMAT = TextFileFormat
|
|
, REJECT_TYPE = VALUE
|
|
, REJECT_VALUE = 0
|
|
)
|
|
;
|
|
|
|
|
|
-- Load the data with CTAS
|
|
--
|
|
-- The easiest and most efficient way to load data from Azure blob storage is to usu
|
|
-- Create Table As Select (CTAS). Loading with CTAS leverages the strongly typed
|
|
-- external tables you have just created.
|
|
|
|
-- Create a new schema
|
|
|
|
CREATE SCHEMA [cso];
|
|
GO
|
|
|
|
|
|
-- Load the data
|
|
-- To load the data we use one CTAS statement per table.
|
|
|
|
SELECT GETDATE();
|
|
GO
|
|
CREATE TABLE [cso].[DimAccount] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimAccount] OPTION (LABEL = 'CTAS : Load [cso].[DimAccount] ');
|
|
CREATE TABLE [cso].[DimChannel] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimChannel] OPTION (LABEL = 'CTAS : Load [cso].[DimChannel] ');
|
|
CREATE TABLE [cso].[DimCurrency] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimCurrency] OPTION (LABEL = 'CTAS : Load [cso].[DimCurrency] ');
|
|
CREATE TABLE [cso].[DimCustomer] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimCustomer] OPTION (LABEL = 'CTAS : Load [cso].[DimCustomer] ');
|
|
CREATE TABLE [cso].[DimDate] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimDate] OPTION (LABEL = 'CTAS : Load [cso].[DimDate] ');
|
|
CREATE TABLE [cso].[DimEmployee] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimEmployee] OPTION (LABEL = 'CTAS : Load [cso].[DimEmployee] ');
|
|
CREATE TABLE [cso].[DimEntity] WITH (DISTRIBUTION = HASH([EntityKey] ) ) AS SELECT * FROM [asb].[DimEntity] OPTION (LABEL = 'CTAS : Load [cso].[DimEntity] ');
|
|
CREATE TABLE [cso].[DimGeography] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimGeography] OPTION (LABEL = 'CTAS : Load [cso].[DimGeography] ');
|
|
CREATE TABLE [cso].[DimMachine] WITH (DISTRIBUTION = HASH([MachineKey] ) ) AS SELECT * FROM [asb].[DimMachine] OPTION (LABEL = 'CTAS : Load [cso].[DimMachine] ');
|
|
CREATE TABLE [cso].[DimOutage] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimOutage] OPTION (LABEL = 'CTAS : Load [cso].[DimOutage] ');
|
|
CREATE TABLE [cso].[DimProduct] WITH (DISTRIBUTION = HASH([ProductKey] ) ) AS SELECT * FROM [asb].[DimProduct] OPTION (LABEL = 'CTAS : Load [cso].[DimProduct] ');
|
|
CREATE TABLE [cso].[DimProductCategory] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimProductCategory] OPTION (LABEL = 'CTAS : Load [cso].[DimProductCategory] ');
|
|
CREATE TABLE [cso].[DimScenario] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimScenario] OPTION (LABEL = 'CTAS : Load [cso].[DimScenario] ');
|
|
CREATE TABLE [cso].[DimPromotion] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimPromotion] OPTION (LABEL = 'CTAS : Load [cso].[DimPromotion] ');
|
|
CREATE TABLE [cso].[DimProductSubcategory] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimProductSubcategory] OPTION (LABEL = 'CTAS : Load [cso].[DimProductSubcategory] ');
|
|
CREATE TABLE [cso].[DimSalesTerritory] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimSalesTerritory] OPTION (LABEL = 'CTAS : Load [cso].[DimSalesTerritory] ');
|
|
CREATE TABLE [cso].[DimStore] WITH (DISTRIBUTION = ROUND_ROBIN ) AS SELECT * FROM [asb].[DimStore] OPTION (LABEL = 'CTAS : Load [cso].[DimStore] ');
|
|
CREATE TABLE [cso].[FactITMachine] WITH (DISTRIBUTION = HASH([MachineKey] ) ) AS SELECT * FROM [asb].[FactITMachine] OPTION (LABEL = 'CTAS : Load [cso].[FactITMachine] ');
|
|
CREATE TABLE [cso].[FactITSLA] WITH (DISTRIBUTION = HASH([MachineKey] ) ) AS SELECT * FROM [asb].[FactITSLA] OPTION (LABEL = 'CTAS : Load [cso].[FactITSLA] ');
|
|
CREATE TABLE [cso].[FactInventory] WITH (DISTRIBUTION = HASH([ProductKey] ) ) AS SELECT * FROM [asb].[FactInventory] OPTION (LABEL = 'CTAS : Load [cso].[FactInventory] ');
|
|
CREATE TABLE [cso].[FactOnlineSales] WITH (DISTRIBUTION = HASH([ProductKey] ) ) AS SELECT * FROM [asb].[FactOnlineSales] OPTION (LABEL = 'CTAS : Load [cso].[FactOnlineSales] ');
|
|
CREATE TABLE [cso].[FactSales] WITH (DISTRIBUTION = HASH([ProductKey] ) ) AS SELECT * FROM [asb].[FactSales] OPTION (LABEL = 'CTAS : Load [cso].[FactSales] ');
|
|
CREATE TABLE [cso].[FactSalesQuota] WITH (DISTRIBUTION = HASH([ProductKey] ) ) AS SELECT * FROM [asb].[FactSalesQuota] OPTION (LABEL = 'CTAS : Load [cso].[FactSalesQuota] ');
|
|
CREATE TABLE [cso].[FactStrategyPlan] WITH (DISTRIBUTION = HASH([EntityKey]) ) AS SELECT * FROM [asb].[FactStrategyPlan] OPTION (LABEL = 'CTAS : Load [cso].[FactStrategyPlan] ');
|
|
CREATE TABLE [cso].[FactExchangeRate] WITH (DISTRIBUTION = HASH([ExchangeRateKey]) ) AS SELECT * FROM [asb].[FactExchangeRate] OPTION (LABEL = 'CTAS : Load [cso].[FactExchangeRate] ');
|
|
|
|
|
|
-- Track the load progress
|
|
--
|
|
-- You can track the progress of your load using the `[sys].[dm_pdw_exec_requests]` dynamic management view (DMV).
|
|
-- To see all requests
|
|
-- SELECT * FROM sys.dm_pdw_exec_requests;
|
|
--
|
|
-- To see a particular request identified by its lable
|
|
-- SELECT * FROM sys.dm_pdw_exec_requests as r;
|
|
-- WHERE r.label = "FactSales";
|
|
--
|
|
-- Optimize columnstore compression
|
|
-- By default, SQL Data Warehouse stores the table as a clustered columnstore index.
|
|
-- After a load completes, some of the data rows might not be compressed into the columnstore.
|
|
-- There's a variety of reasons why this can happen. To learn more, see ... .
|
|
--
|
|
-- To optimize query performance and columnstore compression after a load, rebuild the table to force
|
|
-- the columnstore index to compress all the rows.
|
|
|
|
SELECT GETDATE();
|
|
GO
|
|
ALTER INDEX ALL ON [cso].[FactStrategyPlan] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimAccount] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimChannel] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimCurrency] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimCustomer] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimDate] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimEmployee] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimEntity] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimGeography] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimMachine] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimOutage] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimProduct] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimProductCategory] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimScenario] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimPromotion] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimProductSubcategory] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimSalesTerritory] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[DimStore] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactITMachine] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactITSLA] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactInventory] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactOnlineSales] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactSales] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactSalesQuota] REBUILD;
|
|
ALTER INDEX ALL ON [cso].[FactExchangeRate] REBUILD;
|
|
|
|
|
|
-- Optimize statistics
|
|
-- It is best to create single-column statistics immediately after a load. There are some choices for statistics. -- For example, if you create single-column statistics on every column it might take a long time to rebuild
|
|
-- statistics. If you know certain columns are not going to be in query predicates, you could skip creating
|
|
-- statistics on those columns.
|
|
--
|
|
-- If you decide to create single-column statistics on every column, you can use stored procedure code
|
|
-- sample `prc_sqldw_create_stats` in the [statistics][] article.
|
|
--
|
|
-- This example is a good starting point for creating statistics. It creates single-column statistics on each
|
|
-- column in the dimension table, and on each joining column in the fact tables. You can always add single or
|
|
-- multi-column statistics to other fact table columns later on.
|
|
--
|
|
|
|
CREATE STATISTICS [stat_cso_DimMachine_DecommissionDate] ON [cso].[DimMachine]([DecommissionDate]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_ETLLoadID] ON [cso].[DimMachine]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_LastModifiedDate] ON [cso].[DimMachine]([LastModifiedDate]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_LoadDate] ON [cso].[DimMachine]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineDescription] ON [cso].[DimMachine]([MachineDescription]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineHardware] ON [cso].[DimMachine]([MachineHardware]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineKey] ON [cso].[DimMachine]([MachineKey]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineLabel] ON [cso].[DimMachine]([MachineLabel]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineName] ON [cso].[DimMachine]([MachineName]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineOS] ON [cso].[DimMachine]([MachineOS]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineSoftware] ON [cso].[DimMachine]([MachineSoftware]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineSource] ON [cso].[DimMachine]([MachineSource]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_MachineType] ON [cso].[DimMachine]([MachineType]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_ServiceStartDate] ON [cso].[DimMachine]([ServiceStartDate]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_Status] ON [cso].[DimMachine]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_StoreKey] ON [cso].[DimMachine]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_UpdateDate] ON [cso].[DimMachine]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimMachine_VendorName] ON [cso].[DimMachine]([VendorName]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_ETLLoadID] ON [cso].[DimOutage]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_LoadDate] ON [cso].[DimOutage]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageDescription] ON [cso].[DimOutage]([OutageDescription]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageKey] ON [cso].[DimOutage]([OutageKey]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageLabel] ON [cso].[DimOutage]([OutageLabel]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageName] ON [cso].[DimOutage]([OutageName]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageSubType] ON [cso].[DimOutage]([OutageSubType]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageSubTypeDescription] ON [cso].[DimOutage]([OutageSubTypeDescription]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageType] ON [cso].[DimOutage]([OutageType]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_OutageTypeDescription] ON [cso].[DimOutage]([OutageTypeDescription]);
|
|
CREATE STATISTICS [stat_cso_DimOutage_UpdateDate] ON [cso].[DimOutage]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_ETLLoadID] ON [cso].[DimProductCategory]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_LoadDate] ON [cso].[DimProductCategory]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_ProductCategoryDescription] ON [cso].[DimProductCategory]([ProductCategoryDescription]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_ProductCategoryKey] ON [cso].[DimProductCategory]([ProductCategoryKey]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_ProductCategoryLabel] ON [cso].[DimProductCategory]([ProductCategoryLabel]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_ProductCategoryName] ON [cso].[DimProductCategory]([ProductCategoryName]);
|
|
CREATE STATISTICS [stat_cso_DimProductCategory_UpdateDate] ON [cso].[DimProductCategory]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_ETLLoadID] ON [cso].[DimScenario]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_LoadDate] ON [cso].[DimScenario]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_ScenarioDescription] ON [cso].[DimScenario]([ScenarioDescription]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_ScenarioKey] ON [cso].[DimScenario]([ScenarioKey]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_ScenarioLabel] ON [cso].[DimScenario]([ScenarioLabel]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_ScenarioName] ON [cso].[DimScenario]([ScenarioName]);
|
|
CREATE STATISTICS [stat_cso_DimScenario_UpdateDate] ON [cso].[DimScenario]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_DiscountPercent] ON [cso].[DimPromotion]([DiscountPercent]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_EndDate] ON [cso].[DimPromotion]([EndDate]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_ETLLoadID] ON [cso].[DimPromotion]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_LoadDate] ON [cso].[DimPromotion]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_MaxQuantity] ON [cso].[DimPromotion]([MaxQuantity]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_MinQuantity] ON [cso].[DimPromotion]([MinQuantity]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionCategory] ON [cso].[DimPromotion]([PromotionCategory]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionDescription] ON [cso].[DimPromotion]([PromotionDescription]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionKey] ON [cso].[DimPromotion]([PromotionKey]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionLabel] ON [cso].[DimPromotion]([PromotionLabel]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionName] ON [cso].[DimPromotion]([PromotionName]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_PromotionType] ON [cso].[DimPromotion]([PromotionType]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_StartDate] ON [cso].[DimPromotion]([StartDate]);
|
|
CREATE STATISTICS [stat_cso_DimPromotion_UpdateDate] ON [cso].[DimPromotion]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_EndDate] ON [cso].[DimSalesTerritory]([EndDate]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_ETLLoadID] ON [cso].[DimSalesTerritory]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_GeographyKey] ON [cso].[DimSalesTerritory]([GeographyKey]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_LoadDate] ON [cso].[DimSalesTerritory]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryCountry] ON [cso].[DimSalesTerritory]([SalesTerritoryCountry]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryGroup] ON [cso].[DimSalesTerritory]([SalesTerritoryGroup]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryKey] ON [cso].[DimSalesTerritory]([SalesTerritoryKey]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryLabel] ON [cso].[DimSalesTerritory]([SalesTerritoryLabel]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryLevel] ON [cso].[DimSalesTerritory]([SalesTerritoryLevel]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryManager] ON [cso].[DimSalesTerritory]([SalesTerritoryManager]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryName] ON [cso].[DimSalesTerritory]([SalesTerritoryName]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_SalesTerritoryRegion] ON [cso].[DimSalesTerritory]([SalesTerritoryRegion]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_StartDate] ON [cso].[DimSalesTerritory]([StartDate]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_Status] ON [cso].[DimSalesTerritory]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimSalesTerritory_UpdateDate] ON [cso].[DimSalesTerritory]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ETLLoadID] ON [cso].[DimProductSubcategory]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_LoadDate] ON [cso].[DimProductSubcategory]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ProductCategoryKey] ON [cso].[DimProductSubcategory]([ProductCategoryKey]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ProductSubcategoryDescription] ON [cso].[DimProductSubcategory]([ProductSubcategoryDescription]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ProductSubcategoryKey] ON [cso].[DimProductSubcategory]([ProductSubcategoryKey]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ProductSubcategoryLabel] ON [cso].[DimProductSubcategory]([ProductSubcategoryLabel]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_ProductSubcategoryName] ON [cso].[DimProductSubcategory]([ProductSubcategoryName]);
|
|
CREATE STATISTICS [stat_cso_DimProductSubcategory_UpdateDate] ON [cso].[DimProductSubcategory]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_FactITMachine_Datekey] ON [cso].[FactITMachine]([Datekey]);
|
|
CREATE STATISTICS [stat_cso_FactITMachine_ITMachinekey] ON [cso].[FactITMachine]([ITMachinekey]);
|
|
CREATE STATISTICS [stat_cso_FactITMachine_MachineKey] ON [cso].[FactITMachine]([MachineKey]);
|
|
CREATE STATISTICS [stat_cso_FactInventory_CurrencyKey] ON [cso].[FactInventory]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactInventory_DateKey] ON [cso].[FactInventory]([DateKey]);
|
|
CREATE STATISTICS [stat_cso_FactInventory_InventoryKey] ON [cso].[FactInventory]([InventoryKey]);
|
|
CREATE STATISTICS [stat_cso_FactInventory_ProductKey] ON [cso].[FactInventory]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_FactInventory_StoreKey] ON [cso].[FactInventory]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_AccountKey] ON [cso].[FactStrategyPlan]([AccountKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_CurrencyKey] ON [cso].[FactStrategyPlan]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_Datekey] ON [cso].[FactStrategyPlan]([Datekey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_EntityKey] ON [cso].[FactStrategyPlan]([EntityKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_ProductCategoryKey] ON [cso].[FactStrategyPlan]([ProductCategoryKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_ScenarioKey] ON [cso].[FactStrategyPlan]([ScenarioKey]);
|
|
CREATE STATISTICS [stat_cso_FactStrategyPlan_StrategyPlanKey] ON [cso].[FactStrategyPlan]([StrategyPlanKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_ChannelKey] ON [cso].[FactSalesQuota]([ChannelKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_CurrencyKey] ON [cso].[FactSalesQuota]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_DateKey] ON [cso].[FactSalesQuota]([DateKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_ProductKey] ON [cso].[FactSalesQuota]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_SalesQuotaKey] ON [cso].[FactSalesQuota]([SalesQuotaKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_ScenarioKey] ON [cso].[FactSalesQuota]([ScenarioKey]);
|
|
CREATE STATISTICS [stat_cso_FactSalesQuota_StoreKey] ON [cso].[FactSalesQuota]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_channelKey] ON [cso].[FactSales]([channelKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_CurrencyKey] ON [cso].[FactSales]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_DateKey] ON [cso].[FactSales]([DateKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_ProductKey] ON [cso].[FactSales]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_PromotionKey] ON [cso].[FactSales]([PromotionKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_SalesKey] ON [cso].[FactSales]([SalesKey]);
|
|
CREATE STATISTICS [stat_cso_FactSales_StoreKey] ON [cso].[FactSales]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_CurrencyKey] ON [cso].[FactOnlineSales]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_CustomerKey] ON [cso].[FactOnlineSales]([CustomerKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_DateKey] ON [cso].[FactOnlineSales]([DateKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_OnlineSalesKey] ON [cso].[FactOnlineSales]([OnlineSalesKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_ProductKey] ON [cso].[FactOnlineSales]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_PromotionKey] ON [cso].[FactOnlineSales]([PromotionKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_StoreKey] ON [cso].[FactOnlineSales]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_AddressLine1] ON [cso].[DimCustomer]([AddressLine1]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_AddressLine2] ON [cso].[DimCustomer]([AddressLine2]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_BirthDate] ON [cso].[DimCustomer]([BirthDate]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_CompanyName] ON [cso].[DimCustomer]([CompanyName]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_CustomerKey] ON [cso].[DimCustomer]([CustomerKey]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_CustomerLabel] ON [cso].[DimCustomer]([CustomerLabel]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_CustomerType] ON [cso].[DimCustomer]([CustomerType]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_DateFirstPurchase] ON [cso].[DimCustomer]([DateFirstPurchase]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Education] ON [cso].[DimCustomer]([Education]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_EmailAddress] ON [cso].[DimCustomer]([EmailAddress]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_ETLLoadID] ON [cso].[DimCustomer]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_FirstName] ON [cso].[DimCustomer]([FirstName]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Gender] ON [cso].[DimCustomer]([Gender]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_GeographyKey] ON [cso].[DimCustomer]([GeographyKey]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_HouseOwnerFlag] ON [cso].[DimCustomer]([HouseOwnerFlag]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_LastName] ON [cso].[DimCustomer]([LastName]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_LoadDate] ON [cso].[DimCustomer]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_MaritalStatus] ON [cso].[DimCustomer]([MaritalStatus]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_MiddleName] ON [cso].[DimCustomer]([MiddleName]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_NameStyle] ON [cso].[DimCustomer]([NameStyle]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_NumberCarsOwned] ON [cso].[DimCustomer]([NumberCarsOwned]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_NumberChildrenAtHome] ON [cso].[DimCustomer]([NumberChildrenAtHome]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Occupation] ON [cso].[DimCustomer]([Occupation]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Phone] ON [cso].[DimCustomer]([Phone]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Suffix] ON [cso].[DimCustomer]([Suffix]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_Title] ON [cso].[DimCustomer]([Title]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_TotalChildren] ON [cso].[DimCustomer]([TotalChildren]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_UpdateDate] ON [cso].[DimCustomer]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimCustomer_YearlyIncome] ON [cso].[DimCustomer]([YearlyIncome]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_BaseRate] ON [cso].[DimEmployee]([BaseRate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_BirthDate] ON [cso].[DimEmployee]([BirthDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_CurrentFlag] ON [cso].[DimEmployee]([CurrentFlag]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_DepartmentName] ON [cso].[DimEmployee]([DepartmentName]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_EmailAddress] ON [cso].[DimEmployee]([EmailAddress]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_EmergencyContactName] ON [cso].[DimEmployee]([EmergencyContactName]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_EmergencyContactPhone] ON [cso].[DimEmployee]([EmergencyContactPhone]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_EmployeeKey] ON [cso].[DimEmployee]([EmployeeKey]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_EndDate] ON [cso].[DimEmployee]([EndDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_ETLLoadID] ON [cso].[DimEmployee]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_FirstName] ON [cso].[DimEmployee]([FirstName]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_Gender] ON [cso].[DimEmployee]([Gender]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_HireDate] ON [cso].[DimEmployee]([HireDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_LastName] ON [cso].[DimEmployee]([LastName]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_LoadDate] ON [cso].[DimEmployee]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_MaritalStatus] ON [cso].[DimEmployee]([MaritalStatus]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_MiddleName] ON [cso].[DimEmployee]([MiddleName]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_ParentEmployeeKey] ON [cso].[DimEmployee]([ParentEmployeeKey]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_PayFrequency] ON [cso].[DimEmployee]([PayFrequency]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_Phone] ON [cso].[DimEmployee]([Phone]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_SalariedFlag] ON [cso].[DimEmployee]([SalariedFlag]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_SalesPersonFlag] ON [cso].[DimEmployee]([SalesPersonFlag]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_StartDate] ON [cso].[DimEmployee]([StartDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_Status] ON [cso].[DimEmployee]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_Title] ON [cso].[DimEmployee]([Title]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_UpdateDate] ON [cso].[DimEmployee]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimEmployee_VacationHours] ON [cso].[DimEmployee]([VacationHours]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EndDate] ON [cso].[DimEntity]([EndDate]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EntityDescription] ON [cso].[DimEntity]([EntityDescription]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EntityKey] ON [cso].[DimEntity]([EntityKey]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EntityLabel] ON [cso].[DimEntity]([EntityLabel]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EntityName] ON [cso].[DimEntity]([EntityName]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_EntityType] ON [cso].[DimEntity]([EntityType]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_ETLLoadID] ON [cso].[DimEntity]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_LoadDate] ON [cso].[DimEntity]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_ParentEntityKey] ON [cso].[DimEntity]([ParentEntityKey]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_ParentEntityLabel] ON [cso].[DimEntity]([ParentEntityLabel]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_StartDate] ON [cso].[DimEntity]([StartDate]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_Status] ON [cso].[DimEntity]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimEntity_UpdateDate] ON [cso].[DimEntity]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_AvailableForSaleDate] ON [cso].[DimProduct]([AvailableForSaleDate]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_BrandName] ON [cso].[DimProduct]([BrandName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ClassID] ON [cso].[DimProduct]([ClassID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ClassName] ON [cso].[DimProduct]([ClassName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ColorID] ON [cso].[DimProduct]([ColorID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ColorName] ON [cso].[DimProduct]([ColorName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ETLLoadID] ON [cso].[DimProduct]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ImageURL] ON [cso].[DimProduct]([ImageURL]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_LoadDate] ON [cso].[DimProduct]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_Manufacturer] ON [cso].[DimProduct]([Manufacturer]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductDescription] ON [cso].[DimProduct]([ProductDescription]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductKey] ON [cso].[DimProduct]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductLabel] ON [cso].[DimProduct]([ProductLabel]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductName] ON [cso].[DimProduct]([ProductName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductSubcategoryKey] ON [cso].[DimProduct]([ProductSubcategoryKey]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_ProductURL] ON [cso].[DimProduct]([ProductURL]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_Size] ON [cso].[DimProduct]([Size]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_SizeRange] ON [cso].[DimProduct]([SizeRange]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_SizeUnitMeasureID] ON [cso].[DimProduct]([SizeUnitMeasureID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_Status] ON [cso].[DimProduct]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_StockTypeID] ON [cso].[DimProduct]([StockTypeID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_StockTypeName] ON [cso].[DimProduct]([StockTypeName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_StopSaleDate] ON [cso].[DimProduct]([StopSaleDate]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_StyleID] ON [cso].[DimProduct]([StyleID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_StyleName] ON [cso].[DimProduct]([StyleName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_UnitCost] ON [cso].[DimProduct]([UnitCost]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_UnitOfMeasureID] ON [cso].[DimProduct]([UnitOfMeasureID]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_UnitOfMeasureName] ON [cso].[DimProduct]([UnitOfMeasureName]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_UnitPrice] ON [cso].[DimProduct]([UnitPrice]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_UpdateDate] ON [cso].[DimProduct]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_Weight] ON [cso].[DimProduct]([Weight]);
|
|
CREATE STATISTICS [stat_cso_DimProduct_WeightUnitMeasureID] ON [cso].[DimProduct]([WeightUnitMeasureID]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_AccountDescription] ON [cso].[DimAccount]([AccountDescription]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_AccountKey] ON [cso].[DimAccount]([AccountKey]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_AccountLabel] ON [cso].[DimAccount]([AccountLabel]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_AccountName] ON [cso].[DimAccount]([AccountName]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_AccountType] ON [cso].[DimAccount]([AccountType]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_CustomMemberOptions] ON [cso].[DimAccount]([CustomMemberOptions]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_CustomMembers] ON [cso].[DimAccount]([CustomMembers]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_ETLLoadID] ON [cso].[DimAccount]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_LoadDate] ON [cso].[DimAccount]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_Operator] ON [cso].[DimAccount]([Operator]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_ParentAccountKey] ON [cso].[DimAccount]([ParentAccountKey]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_UpdateDate] ON [cso].[DimAccount]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimAccount_ValueType] ON [cso].[DimAccount]([ValueType]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_ChannelDescription] ON [cso].[DimChannel]([ChannelDescription]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_ChannelKey] ON [cso].[DimChannel]([ChannelKey]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_ChannelLabel] ON [cso].[DimChannel]([ChannelLabel]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_ChannelName] ON [cso].[DimChannel]([ChannelName]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_ETLLoadID] ON [cso].[DimChannel]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_LoadDate] ON [cso].[DimChannel]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimChannel_UpdateDate] ON [cso].[DimChannel]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_CurrencyDescription] ON [cso].[DimCurrency]([CurrencyDescription]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_CurrencyKey] ON [cso].[DimCurrency]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_CurrencyLabel] ON [cso].[DimCurrency]([CurrencyLabel]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_CurrencyName] ON [cso].[DimCurrency]([CurrencyName]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_ETLLoadID] ON [cso].[DimCurrency]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_LoadDate] ON [cso].[DimCurrency]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimCurrency_UpdateDate] ON [cso].[DimCurrency]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimDate_AsiaSeason] ON [cso].[DimDate]([AsiaSeason]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarDayOfWeek] ON [cso].[DimDate]([CalendarDayOfWeek]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarDayOfWeekLabel] ON [cso].[DimDate]([CalendarDayOfWeekLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarHalfYear] ON [cso].[DimDate]([CalendarHalfYear]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarHalfYearLabel] ON [cso].[DimDate]([CalendarHalfYearLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarMonth] ON [cso].[DimDate]([CalendarMonth]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarMonthLabel] ON [cso].[DimDate]([CalendarMonthLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarQuarter] ON [cso].[DimDate]([CalendarQuarter]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarQuarterLabel] ON [cso].[DimDate]([CalendarQuarterLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarWeek] ON [cso].[DimDate]([CalendarWeek]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarWeekLabel] ON [cso].[DimDate]([CalendarWeekLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarYear] ON [cso].[DimDate]([CalendarYear]);
|
|
CREATE STATISTICS [stat_cso_DimDate_CalendarYearLabel] ON [cso].[DimDate]([CalendarYearLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_DateDescription] ON [cso].[DimDate]([DateDescription]);
|
|
CREATE STATISTICS [stat_cso_DimDate_Datekey] ON [cso].[DimDate]([Datekey]);
|
|
CREATE STATISTICS [stat_cso_DimDate_EuropeSeason] ON [cso].[DimDate]([EuropeSeason]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalHalfYear] ON [cso].[DimDate]([FiscalHalfYear]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalHalfYearLabel] ON [cso].[DimDate]([FiscalHalfYearLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalMonth] ON [cso].[DimDate]([FiscalMonth]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalMonthLabel] ON [cso].[DimDate]([FiscalMonthLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalQuarter] ON [cso].[DimDate]([FiscalQuarter]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalQuarterLabel] ON [cso].[DimDate]([FiscalQuarterLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalYear] ON [cso].[DimDate]([FiscalYear]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FiscalYearLabel] ON [cso].[DimDate]([FiscalYearLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_FullDateLabel] ON [cso].[DimDate]([FullDateLabel]);
|
|
CREATE STATISTICS [stat_cso_DimDate_HolidayName] ON [cso].[DimDate]([HolidayName]);
|
|
CREATE STATISTICS [stat_cso_DimDate_IsHoliday] ON [cso].[DimDate]([IsHoliday]);
|
|
CREATE STATISTICS [stat_cso_DimDate_IsWorkDay] ON [cso].[DimDate]([IsWorkDay]);
|
|
CREATE STATISTICS [stat_cso_DimDate_NorthAmericaSeason] ON [cso].[DimDate]([NorthAmericaSeason]);
|
|
CREATE STATISTICS [stat_cso_DimStore_AddressLine1] ON [cso].[DimStore]([AddressLine1]);
|
|
CREATE STATISTICS [stat_cso_DimStore_AddressLine2] ON [cso].[DimStore]([AddressLine2]);
|
|
CREATE STATISTICS [stat_cso_DimStore_CloseDate] ON [cso].[DimStore]([CloseDate]);
|
|
CREATE STATISTICS [stat_cso_DimStore_CloseReason] ON [cso].[DimStore]([CloseReason]);
|
|
CREATE STATISTICS [stat_cso_DimStore_EmployeeCount] ON [cso].[DimStore]([EmployeeCount]);
|
|
CREATE STATISTICS [stat_cso_DimStore_EntityKey] ON [cso].[DimStore]([EntityKey]);
|
|
CREATE STATISTICS [stat_cso_DimStore_ETLLoadID] ON [cso].[DimStore]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimStore_GeographyKey] ON [cso].[DimStore]([GeographyKey]);
|
|
CREATE STATISTICS [stat_cso_DimStore_GeoLocation] ON [cso].[DimStore]([GeoLocation]);
|
|
CREATE STATISTICS [stat_cso_DimStore_Geometry] ON [cso].[DimStore]([Geometry]);
|
|
CREATE STATISTICS [stat_cso_DimStore_LastRemodelDate] ON [cso].[DimStore]([LastRemodelDate]);
|
|
CREATE STATISTICS [stat_cso_DimStore_LoadDate] ON [cso].[DimStore]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimStore_OpenDate] ON [cso].[DimStore]([OpenDate]);
|
|
CREATE STATISTICS [stat_cso_DimStore_SellingAreaSize] ON [cso].[DimStore]([SellingAreaSize]);
|
|
CREATE STATISTICS [stat_cso_DimStore_Status] ON [cso].[DimStore]([Status]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreDescription] ON [cso].[DimStore]([StoreDescription]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreFax] ON [cso].[DimStore]([StoreFax]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreKey] ON [cso].[DimStore]([StoreKey]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreManager] ON [cso].[DimStore]([StoreManager]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreName] ON [cso].[DimStore]([StoreName]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StorePhone] ON [cso].[DimStore]([StorePhone]);
|
|
CREATE STATISTICS [stat_cso_DimStore_StoreType] ON [cso].[DimStore]([StoreType]);
|
|
CREATE STATISTICS [stat_cso_DimStore_UpdateDate] ON [cso].[DimStore]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_DimStore_ZipCode] ON [cso].[DimStore]([ZipCode]);
|
|
CREATE STATISTICS [stat_cso_DimStore_ZipCodeExtension] ON [cso].[DimStore]([ZipCodeExtension]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_CityName] ON [cso].[DimGeography]([CityName]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_ContinentName] ON [cso].[DimGeography]([ContinentName]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_ETLLoadID] ON [cso].[DimGeography]([ETLLoadID]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_GeographyKey] ON [cso].[DimGeography]([GeographyKey]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_GeographyType] ON [cso].[DimGeography]([GeographyType]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_LoadDate] ON [cso].[DimGeography]([LoadDate]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_RegionCountryName] ON [cso].[DimGeography]([RegionCountryName]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_StateProvinceName] ON [cso].[DimGeography]([StateProvinceName]);
|
|
CREATE STATISTICS [stat_cso_DimGeography_UpdateDate] ON [cso].[DimGeography]([UpdateDate]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_CurrencyKey] ON [cso].[FactOnlineSales]([CurrencyKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_CustomerKey] ON [cso].[FactOnlineSales]([CustomerKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_DateKey] ON [cso].[FactOnlineSales]([DateKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_OnlineSalesKey] ON [cso].[FactOnlineSales]([OnlineSalesKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_ProductKey] ON [cso].[FactOnlineSales]([ProductKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_PromotionKey] ON [cso].[FactOnlineSales]([PromotionKey]);
|
|
CREATE STATISTICS [stat_cso_FactOnlineSales_StoreKey] ON [cso].[FactOnlineSales]([StoreKey]);
|
|
|
|
-- Achievement unlocked!
|
|
--
|
|
-- You now have all the public data loaded into Azure SQL Data Warehouse. Great job!
|
|
--
|
|
--You can now start querying the tables using queries like this. :
|
|
|
|
SELECT SUM(f.[SalesAmount]) AS [sales_by_brand_amount]
|
|
, p.[BrandName]
|
|
FROM [cso].[FactOnlineSales] AS f
|
|
JOIN [cso].[DimProduct] AS p ON f.[ProductKey] = p.[ProductKey]
|
|
GROUP BY p.[BrandName]
|
|
--
|
|
-- Enjoy exploring with SQL Data Warehouse.
|