Поделиться через


Занятие 11: Создание секций

На этом занятии мы создадим секции для разделения таблицы интернет-продаж на более мелкие логические части, которые могут быть обработаны (обновлены) независимо от других секций. По умолчанию каждая таблица, включенная в модель, имеет одну секцию, включающую все столбцы и строки таблицы. Для таблицы интернет-продаж нам необходимо разделить данные по годам — по одной секции на каждые пять лет. После этого каждую секцию можно обработать независимо. Дополнительные сведения см. в разделе Секции (табличные службы SSAS).

Предполагаемое время выполнения данного занятия: 15 минут.

Предварительные требования

Этот раздел является частью учебника по табличному моделированию, который необходимо изучать по порядку. Прежде чем выполнять задания в этом занятии, необходимо завершить предыдущее занятие: Занятие 10. Создание иерархий.

Создание секций

Создание секций в таблице интернет-продаж

  1. В конструкторе моделей щелкните таблицу Интернет-продажи, затем щелкните меню Таблица и выберите пункт Секции.

    Будет открыто диалоговое окно Диспетчер секций.

  2. В диалоговом окне Диспетчер секций на вкладке Секции щелкните секцию Интернет-продажи.

  3. В строке Имя секции введите новое имя Интернет-продажи 2005.

    СоветСовет

    Прежде чем переходить к следующему шагу, обратите внимание, что имена столбцов в окне «Предварительный просмотр таблицы» отображают столбцы, включенные в таблицу модели (которая отмечена флажком) с именами столбцов из источника. Это происходит, потому что окно «Предварительный просмотр таблицы» отображает столбцы из исходной таблицы, а не из таблицы модели.

  4. Нажмите кнопку Редактор запросов чуть выше в правой части окна предварительного просмотра.

    Поскольку необходимо, чтобы секция включала только строки из определенного периода, используйте предложение WHERE. Предложение WHERE можно создать только с помощью инструкции SQL.

  5. В поле Инструкция SQL замените существующую инструкцию, вставив следующее:

    SELECT 
    [dbo].[FactInternetSales].[ProductKey],
    [dbo].[FactInternetSales].[CustomerKey],
    [dbo].[FactInternetSales].[PromotionKey],
    [dbo].[FactInternetSales].[CurrencyKey],
    [dbo].[FactInternetSales].[SalesTerritoryKey],
    [dbo].[FactInternetSales].[SalesOrderNumber],
    [dbo].[FactInternetSales].[SalesOrderLineNumber],
    [dbo].[FactInternetSales].[RevisionNumber],
    [dbo].[FactInternetSales].[OrderQuantity],
    [dbo].[FactInternetSales].[UnitPrice],
    [dbo].[FactInternetSales].[ExtendedAmount],
    [dbo].[FactInternetSales].[UnitPriceDiscountPct],
    [dbo].[FactInternetSales].[DiscountAmount],
    [dbo].[FactInternetSales].[ProductStandardCost],
    [dbo].[FactInternetSales].[TotalProductCost],
    [dbo].[FactInternetSales].[SalesAmount],
    [dbo].[FactInternetSales].[TaxAmt],
    [dbo].[FactInternetSales].[Freight],
    [dbo].[FactInternetSales].[CarrierTrackingNumber],
    [dbo].[FactInternetSales].[CustomerPONumber],
    [dbo].[FactInternetSales].[OrderDate],
    [dbo].[FactInternetSales].[DueDate],
    [dbo].[FactInternetSales].[ShipDate] 
    FROM [dbo].[FactInternetSales]
    WHERE (([OrderDate] >= N'2005-01-01 00:00:00') AND ([OrderDate] < N'2006-01-01 00:00:00'))
    

    Эта инструкция указывает, что секция должна включать все данные из строк, в которых OrderDate относится к календарному 2005 году, согласно предложению WHERE.

  6. Нажмите кнопку Проверить.

    Обратите внимание на предупреждение о том, что некоторые столбцы не присутствуют в источнике. Это происходит потому, что в ходе выполнения Занятие 3. Переименование столбцов столбцы в таблице интернет-продаж были переименованы так, чтобы они отличались от тех же столбцов в источнике.

Создание секции для 2006 года в таблице «интернет-продажи»

  1. В диалоговом окне Диспетчер секций на вкладке Секции щелкните только что созданную секцию Интернет-продажи 2005 и выполните команду Копировать.

  2. В поле Имя секции введите Интернет-продажи 2006.

  3. Для того чтобы секция включала только строки для 2006 года, замените предложение WHERE в инструкции SQL на следующее:

    WHERE (([OrderDate] >= N'2006-01-01 00:00:00') AND ([OrderDate] < N'2007-01-01 00:00:00'))
    

Создание секции для 2007 года в таблице «Интернет-продажи»

  1. В диалоговом окне Диспетчер секций выберите команду Копировать.

  2. В поле Имя секции введите Интернет-продажи 2007.

  3. В поле Переключиться на выберите Редактор запросов.

  4. Для того чтобы секция включала только строки для 2007 года, замените предложение WHERE в инструкции SQL на следующее:

    WHERE (([OrderDate] >= N'2007-01-01 00:00:00') AND ([OrderDate] < N'2008-01-01 00:00:00'))
    

Создание секции для 2008 года в таблице «Интернет-продажи»

  1. В диалоговом окне Диспетчер секций выберите команду Создать.

  2. В поле Имя секции введите Интернет-продажи 2008.

  3. В поле Переключиться на выберите Редактор запросов.

  4. Для того чтобы секция включала только строки для 2008 года, замените предложение WHERE в инструкции SQL на следующее:

    WHERE (([OrderDate] >= N'2008-01-01 00:00:00') AND ([OrderDate] < N'2009-01-01 00:00:00'))
    

Создание секции для 2009 года в таблице «Интернет-продажи»

  1. В диалоговом окне Диспетчер секций выберите команду Создать.

  2. В поле Имя секции введите Интернет-продажи 2009.

  3. В поле Переключиться на выберите Редактор запросов.

  4. Для того чтобы секция включала только строки для 2009 года, замените предложение WHERE в инструкции SQL на следующее:

    WHERE (([OrderDate] >= N'2009-01-01 00:00:00') AND ([OrderDate] < N'2010-01-01 00:00:00'))
    

Обработка секций

В диалоговом окне Диспетчер секций обратите внимание на звездочку (*) рядом с именами секций для каждой из только что созданных секций. Это означает, что секция не была обработана (обновлена). Во время создания новых секций нужно запустить операцию обработки секций или обработки таблиц для обновления данных в этих секциях.

Обработка секций интернет-продаж

  1. Нажмите кнопку OK, чтобы закрыть диалоговое окно Диспетчер секций.

  2. В конструкторе моделей щелкните таблицу Интернет-продажи, выберите меню Модель, укажите пункт Обработка (обновление) и выберите команду Обработать секции.

  3. В диалоговом окне Обработка секций убедитесь, что свойство Режим имеет значение Обработка по умолчанию.

  4. Установите флажок напротив столбца Обработка для каждой из пяти созданных секций и нажмите кнопку OK.

    Если появится окно для ввода учетных данных олицетворения, введите имя пользователя и пароль в системе Windows, которые были указаны в занятии 2, шаге 6.

    Откроется диалоговое окно Обработка данных и отобразит сведения обработки для каждой секции. Обратите внимание, что для каждой секции передается различное количество строк. Это происходит, потому что каждая секция включает только строки для года, указанного с помощью предложения WHERE в инструкции SQL. Нет данных за 2010 год.

Следующие шаги

Чтобы продолжить работу с этим учебником, перейдите к следующему занятию: : Занятие 12. Создание ролей.