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


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

Применимо к: SQL Server 2019 и более поздних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

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

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

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

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

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

Порядок создания секций в таблице FactInternetSales

  1. В обозревателе табличных моделей разверните пункт Таблицы и щелкните правой кнопкой мыши FactInternetSales>Секции.

  2. В диспетчере секций щелкните Копировать, а затем измените имя на FactInternetSales2001.

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

  3. Щелкните Конструктор, чтобы открыть Редактор запросов, а затем щелкните запрос FactInternetSales2001.

  4. В режиме предварительного просмотра щелкните стрелку вниз в заголовке столбца OrderDateKey и выберите пункт Число фильтров>между.

    Снимок экрана: Редактор Power Query с выбранным числом фильтров>.

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

  5. В диалоговом окне Фильтрация строк в поле Сохранить строки, где: OrderDateKey, оставьте значение больше или равно, а затем в поле number введите 20010101. Оставьте оператор And выбранным, оставьте значение меньше или равно, а затем в поле number введите 20011231 и нажмите кнопку ОК.

    Снимок экрана: диалоговое окно

    После нажатия кнопки ОК вы вернелись в редактор запросов. Обратите внимание, что в разделе ПРИМЕНЕННЫЕ ШАГИ вы увидите еще один шаг с именем Отфильтрованные строки. Этот фильтр позволяет выбрать только даты заказа за 2001 год.

  6. Щелкните Импорт.

    В диспетчере секций обратите внимание на то, что теперь выражение запроса имеет дополнительное предложение "Строки с примененным фильтром".

    Снимок экрана: выражение запроса в диспетчере секций с выделенным предложением

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

Создание секции для 2002 года

  1. В списке секций щелкните созданный раздел FactInternetSales2001 и нажмите кнопку Копировать. Измените имя секции на FactInternetSales2002.

    Для создания предложения отфильтрованных строк не требуется использовать редактор запросов. Так как вы создали копию запроса для 2001 года, достаточно внести небольшое изменение в запрос для 2002 года.

  2. В выражении запроса замените часть года целого числа в предложении Отфильтрованные строки на 20020101 и 20021231 соответственно:

    let
        Source = #"SQL/probiuesqlserver database windows net;AdventureWorksDW",
        dbo_FactInternetSales = Source{[Schema="dbo",Item="FactInternetSales"]}[Data],
        #"Filtered Rows" = Table.SelectRows(dbo_FactInternetSales, each [OrderDateKey] >= 20020101 and [OrderDateKey] <= 20021231)
    in
        #"Filtered Rows"
    
    

Создание секций для 2003, 2004 и 2005.

  • Выполните предыдущие шаги, создав секции для 2003, 2004 и 2005, изменив годы в предложении Отфильтрованные строки, чтобы включить только строки за этот год.

Удаление секции FactInternetSales

Теперь, когда у вас есть секции для каждого года, можно удалить секцию FactInternetSales. Это позволяет предотвратить перекрытие при выборе параметра "Обработать все" для обработки секций.

Порядок удаления секции FactInternetSales

  • Щелкните секцию секции по умолчанию и нажмите кнопку Удалить.

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

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

Порядок обработки секций FactInternetSales

  1. Нажмите кнопку ОК, диспетчер секций.

  2. Щелкните Расширения Модели>>Процесс>Секции процесса.

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

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

    Снимок экрана: диалоговое окно

    Если вам будет предложено ввести учетные данные, введите учетные данные, указанные на занятии 2.

    Откроется диалоговое окно Обработка данных со сведениями обработки для каждой секции. Обратите внимание, что для каждой секции передается различное количество строк. Каждая секция включает только строки за год, указанный в инструкции Отфильтрованные строки. По завершении обработки закройте диалоговое окно "Обработка данных".

    Снимок экрана: диалоговое окно

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

Перейдите к следующему уроку: Занятие 11. Создание ролей