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


Изменение измерения Date

В ходе выполнения задач этого раздела мы создадим определяемую пользователем иерархию и изменим имена элементов, отображаемых для атрибутов «Дата», «Месяц», «Календарный квартал» и «Календарное полугодие». Также мы определим составные ключи для атрибутов, настроим порядок сортировки элементов измерения и зададим связи атрибутов.

Добавление именованного вычисления

К таблице в представлении источника данных можно добавить именованное вычисление, которое является выражением SQL и представляет собой вычисляемый столбец, Это выражение имеет вид и функции столбца таблицы. Именованные вычисления позволяют расширять реляционную схему таблиц, существующих в представлении источника данных, не изменяя таблицы в базовом источнике данных. Дополнительные сведения см. в разделе Определение именованных вычислений в представлении источника данных (службы Analysis Services)

Добавление именованного вычисления

  1. Чтобы открыть представление источника данных Adventure Works DW 2012 , дважды щелкните его в папке Представления источников данных в обозревателе решений.

  2. В нижней части области Таблицы щелкните правой кнопкой мыши Dateи выберите пункт Создать именованное вычисление.

  3. В диалоговом окне Создание именованного вычисления введите SimpleDate в поле Имя столбца , а затем введите или скопируйте и вставьте следующую DATENAME инструкцию в поле Выражение :

    DATENAME(mm, FullDateAlternateKey) + ' ' +  
    DATENAME(dd, FullDateAlternateKey) + ', ' +  
    DATENAME(yy, FullDateAlternateKey)  
    

    Инструкция DATENAME извлекает из столбца FullDateAlternateKey значения числа, месяца и года. Этот новый столбец будет содержать отображаемое имя для атрибута FullDateAlternateKey.

  4. Нажмите кнопку ОК, а затем разверните Date узел в области Таблицы .

    Именованное SimpleDate вычисление отображается в списке столбцов в таблице Date со значком, указывающим, что это именованное вычисление.

  5. В меню Файл выберите команду Сохранить все.

  6. В области Таблицы щелкните правой кнопкой мыши Dateи выберите команду Просмотреть данные.

  7. Прокрутите вправо и просмотрите последний столбец в представлении Просмотр таблицы "Дата" .

    Обратите внимание, что SimpleDate столбец отображается в представлении источника данных, правильно сцепляя данные из нескольких столбцов из базового источника данных без изменения исходного источника данных.

  8. Закройте представление Просмотр таблицы "Дата" .

Использование именованных вычислений в качестве имен элементов

После создания именованного вычисления в представлении источника данных это вычисление можно использовать в качестве свойства атрибута.

Использование именованного вычисления в качестве имен элементов

  1. Откройте Designer измерения для измерения даты в SQL Server Data Tools (SSDT). Для этого дважды щелкните Date измерение в узле ИзмеренияОбозреватель решений.

  2. На панели Атрибуты на вкладке Структура измерения выберите атрибут Date Key .

  3. Если окно "Свойства" не открыто, откройте его и нажмите в строке заголовка кнопку Автоматически скрывать , чтобы оно оставалось открытым.

  4. Щелкните поле свойства NameColumn в нижней части окна, а затем нажмите кнопку с многоточием (...), чтобы открыть диалоговое окно Столбец имен .

  5. Выберите SimpleDate в нижней части списка Исходный столбец и нажмите кнопку ОК.

  6. В меню Файл выберите команду Сохранить все.

Создание иерархии

Иерархию можно создать, перетащив атрибут с панели Атрибуты на панель Иерархии .

Создание иерархии

  1. На вкладке Структура измерения Designer измерения для Date измерения перетащите атрибут Calendar Year из области Атрибуты в область Иерархии.

  2. Перетащите атрибут Calendar Семестр из области <Атрибуты в новую ячейку уровня> в области Иерархии под уровнем Календарный год.

  3. Перетащите атрибут Calendar Quarter из области <Атрибуты в новую ячейку уровня> в области Иерархии под уровнем Календарь семестра.

  4. Перетащите атрибут Название месяца на английском языке из области <Атрибуты в новую ячейку уровня> в области Иерархии под уровнем "Календарный квартал".

  5. Перетащите атрибут Date Key из области <Атрибуты в новую ячейку уровня> в области Иерархии под уровнем Название месяца на английском языке.

  6. В области Иерархии щелкните правой кнопкой мыши заголовок иерархии иерархии, выберите команду Переименовать и введите Calendar Date.

  7. С помощью контекстного меню, щелкнув правой кнопкой мыши, в Calendar Date иерархии переименуйте уровень Calendar Monthназвания месяца на английский язык на , а затем переименуйте уровень ключа даты на Date.

  8. Удалите атрибут Full Date Alternate Key на панели Атрибуты , так как он больше не понадобится. Нажмите кнопку OK в окне подтверждения Удалить объекты .

  9. В меню Файл выберите команду Сохранить все.

Определение связей атрибутов

Необходимо определять связи между атрибутами, если базовые данные это поддерживают. Определение связей между атрибутами ускоряет обработку измерений, секций и запросов.

Определение связей атрибутов

  1. В DesignerDate измерения щелкните вкладку Связи атрибутов.

  2. На диаграмме щелкните правой кнопкой мыши атрибут English Month Name и выберите команду Создать связь атрибутов.

  3. В диалоговом окне Создание связи атрибутов свойство Исходный атрибут имеет значение English Month Name. Задайте для поля Связанный атрибут значение Календарный квартал.

  4. В списке Тип связи выберите тип Жесткая.

    Связь имеет тип Жесткая , так как связи между элементами не будут меняться с течением времени.

  5. Нажмите кнопку ОК.

  6. На диаграмме щелкните правой кнопкой мыши атрибут Календарный квартал и выберите команду Создать связь атрибутов.

  7. В диалоговом окне Создание связи атрибутов поле Исходный атрибут имеет значение Calendar Quarter. Задайте для поля Связанный атрибут значение Календарное полугодие.

  8. В списке Тип связи выберите тип Жесткая.

  9. Нажмите кнопку ОК.

  10. На диаграмме щелкните правой кнопкой мыши атрибут Календарное полугодие , а затем выберите команду Создать связь атрибутов.

  11. В диалоговом окне Создание связи атрибутов поле Исходный атрибут имеет значение Календарное полугодие. Задайте для поля Связанный атрибут значение Календарный год.

  12. В списке Тип связи выберите тип Жесткая.

  13. Нажмите кнопку ОК.

  14. В меню Файл выберите команду Сохранить все.

Создание уникальных имен для элементов измерения

В этой задаче будут созданы столбцы понятных имен, которые будут использоваться для атрибутов EnglishMonthName, CalendarQuarterи CalendarSemester .

Создание уникальных имен для элементов измерения

  1. Чтобы переключиться в представление источника данных Adventure Works DW 2012, дважды щелкните его в папке Представления источников данных в Обозреватель решений.

  2. В области Таблицы щелкните правой кнопкой мыши Dateи выберите пункт Создать именованное вычисление.

  3. В диалоговом окне Создание именованного вычисления введите MonthName в поле Имя столбца , а затем введите или скопируйте и вставьте следующую инструкцию в поле Выражение :

    EnglishMonthName+' '+ CONVERT(CHAR (4), CalendarYear)  
    

    Эта инструкция объединяет месяц и год для каждого месяца в таблице в новый столбец.

  4. Нажмите кнопку ОК.

  5. В области Таблицы щелкните правой кнопкой мыши Dateи выберите пункт Создать именованное вычисление.

  6. В диалоговом окне Создание именованного вычисления введите CalendarQuarterDesc в поле Имя столбца , а затем введите или скопируйте и вставьте следующий скрипт SQL в поле Выражение :

    'Q' + CONVERT(CHAR (1), CalendarQuarter) +' '+ 'CY ' +  
    CONVERT(CHAR (4), CalendarYear)  
    

    Этот скрипт SQL помещает в новый столбец объединение календарного квартала и года для каждого квартала в таблице.

  7. Нажмите кнопку ОК.

  8. В области Таблицы щелкните правой кнопкой мыши Dateи выберите пункт Создать именованное вычисление.

  9. В диалоговом окне Создание именованного вычисления введите CalendarSemesterDesc в поле Имя столбца , а затем введите или скопируйте и вставьте следующий скрипт SQL в поле Выражение :

    CASE  
    WHEN CalendarSemester = 1 THEN 'H1' + ' ' + 'CY' + ' '   
           + CONVERT(CHAR(4), CalendarYear)  
    ELSE  
    'H2' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear)  
    END  
    

    Этот скрипт SQL помещает в новый столбец объединение календарного полугодия и года для каждого полугодия в таблице.

  10. Нажмите кнопку ОК.

  11. В меню Файл выберите команду Сохранить все.

Определение составного свойства KeyColumns и задание столбца имени

Свойство KeyColumns содержит столбец или столбцы, представляющие ключ для атрибута. В этой задаче будет определено составное свойство KeyColumns.

Определение составного свойства KeyColumns для атрибута English Month Name

  1. Откройте измерение Date и перейдите на вкладку Структура измерения .

  2. На панели Атрибуты щелкните атрибут English Month Name .

  3. В окне Свойства щелкните в поле KeyColumns и нажмите кнопку обзора (...).

  4. В диалоговом окне Ключевые столбцы в списке Доступные столбцы выберите столбец CalendarYear и нажмите кнопку > .

  5. Столбцы EnglishMonthName и CalendarYear отображаются в списке Ключевые столбцы .

  6. Нажмите кнопку ОК.

  7. Чтобы задать свойство NameColumn атрибута EnglishMonthName , щелкните поле NameColumn в окне свойств и нажмите кнопку обзора (...).

  8. В диалоговом окне Столбец имени в списке Исходный столбец выберите MonthNameи нажмите кнопку ОК.

  9. В меню Файл выберите команду Сохранить все.

Определение составного свойства KeyColumns для атрибута Calendar Quarter

  1. На панели Атрибуты щелкните атрибут Календарный квартал .

  2. В окне Свойства щелкните в поле KeyColumns и нажмите кнопку обзора (...).

  3. В диалоговом окне Ключевые столбцы в списке Доступные столбцы выберите столбец CalendarYear и нажмите кнопку > .

    Столбцы CalendarQuarter и CalendarYear отображаются в списке Ключевые столбцы .

  4. Нажмите кнопку ОК.

  5. Чтобы задать свойство NameColumn атрибута Календарный квартал , щелкните поле NameColumn в окне свойств и нажмите кнопку обзора (...).

  6. В диалоговом окне Столбец имени в списке Исходный столбец выберите CalendarQuarterDescи нажмите кнопку ОК.

  7. В меню Файл выберите команду Сохранить все.

Определение составного свойства KeyColumns для атрибута Calendar Semester

  1. На панели Атрибуты щелкните атрибут Календарное полугодие .

  2. В окне Свойства щелкните в поле KeyColumns и нажмите кнопку обзора (...).

  3. В диалоговом окне Ключевые столбцы выберите из списка Доступные столбцы столбец CalendarYear, а затем нажмите кнопку > .

    Столбцы CalendarSemester и CalendarYear отображаются в списке Ключевые столбцы .

  4. Нажмите кнопку ОК.

  5. Чтобы задать свойство NameColumn атрибута Календарное полугодие , щелкните поле NameColumn в окне свойств и нажмите кнопку обзора (...).

  6. В диалоговом окне Столбец имени в списке Исходный столбец выберите CalendarSemesterDescи нажмите кнопку ОК.

  7. В меню Файл выберите команду Сохранить все.

Развертывание и просмотр изменений

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

Развертывание и просмотр изменений

  1. В меню Сборка SQL Server Data Tools выберите команду Развертывание учебника по службам Analysis Services.

  2. Получив сообщение Развертывание успешно завершено, перейдите на вкладку Браузерв разделе Измерение Designer для Date измерения, а затем нажмите кнопку Повторно подключиться на панели инструментов конструктора.

  3. В списке Иерархия выберите значение Календарный квартал . Просмотрите элементы иерархии атрибута Календарный квартал .

    Обратите внимание, что имена элементов иерархии атрибута Календарный квартал выглядят понятнее и проще в использовании, так как для их отображения создано именованное вычисление. Теперь в иерархии атрибута Календарный квартал есть элементы для каждого квартала каждого года. Элементы не отсортированы в хронологическом порядке. Вместо этого они отсортированы сначала по кварталам, а затем по годам. В следующей задаче этого раздела требуется изменить поведение этой иерархии атрибута, чтобы отсортировать ее элементы сначала по годам, а затем по кварталам.

  4. Просмотрите элементы иерархий атрибутов English Month Name и Календарное полугодие .

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

Изменение порядка сортировки путем изменения порядка элементов составных ключей

В этой задаче будет изменен порядок сортировки посредством изменения порядка ключей, составляющих составной ключ.

Изменение порядка элементов составных ключей

  1. Откройте вкладку Структура измерения Designer измерения для Date измерения, а затем выберите Calendar Семестр в области Атрибуты.

  2. В окне свойств просмотрите значение свойства OrderBy . Оно имеет значение Ключ.

    Элементы иерархии атрибута Календарное полугодие отсортированы по значению ключа. При составном ключе сортировка ключей элементов ведется упорядочение сначала по значению первого ключа элемента, а затем — по значению второго ключа элемента. Иными словами, элементы иерархии атрибута Календарное полугодие отсортированы сначала по полугодиям, а затем по годам.

  3. В окне свойств нажмите кнопку обзора (...), чтобы изменить значение свойства KeyColumns .

  4. В списке Ключевые столбцы в диалоговом окне Ключевые столбцы выберите столбец CalendarSemester , а затем нажмите стрелку вниз, чтобы изменить порядок элементов составного ключа. Нажмите кнопку ОК.

    Теперь элементы этой иерархии атрибута отсортированы сначала по годам, а затем по полугодиям.

  5. Выберите Календарный квартал на панели Атрибуты и нажмите кнопку обзора (...) для свойства KeyColumns в окне свойств.

  6. В списке Ключевые столбцы диалогового окна Ключевые столбцы выделите столбец CalendarQuarter , а затем нажмите стрелку вниз, чтобы изменить порядок элементов составного ключа. Нажмите кнопку ОК.

    Теперь элементы этой иерархии атрибута отсортированы сначала по годам, а затем по кварталам.

  7. На панели Атрибуты выберите элемент English Month Name , а затем в окне свойств нажмите кнопку с многоточием (...) для свойства KeyColumns .

  8. В списке Ключевые столбцы диалогового окна Ключевые столбцы выделите столбец EnglishMonthName , а затем нажмите стрелку вниз, чтобы изменить порядок элементов составного ключа. Нажмите кнопку ОК.

    Теперь элементы этой иерархии атрибута отсортированы сначала по годам, а затем по месяцам.

  9. В меню Сборка SQL Server Data Tools выберите команду Развертывание учебника по службам Analysis Services. После успешного завершения развертывания перейдите на вкладку Браузер в Designer измерения для Date измерения.

  10. На панели инструментов вкладки Браузер нажмите кнопку повторного соединения.

  11. Просмотрите элементы иерархий атрибутов Календарный квартал и Календарное полугодие .

    Обратите внимание, что теперь элементы этих иерархий атрибутов сортируются в хронологическом порядке, по годам, а затем по полугодиям или кварталам соответственно.

  12. Просмотрите элементы иерархии атрибута English Month Name .

    Обратите внимание, что теперь элементы этой иерархии атрибута сортируются сначала по годам, а затем по месяцам в алфавитном порядке. Причина этого заключается в том, что столбец EnglishCalendarMonth в представлении источника данных имеет строковый тип данных, который основан на типе данных nvarchar базовой реляционной базы данных. Сведения о сортировке по месяцам хронологически внутри года см. в разделе Сортировка элементов атрибута по вторичному атрибуту.

Следующая задача занятия

Просмотр развернутого куба

См. также:

Измерения в многомерных моделях