Как настроить обработку больших размеров с помощью ProcessAdd в SSAS?

Наши SSAS имеют очень большое значение. Во время инкрементального запуска мы используем ProcessAdd для обработки измерения. Обработка этого измерения занимает 95% всего времени обработки куба.

Это измерение включает одну таблицу. Именованный запрос для измерения из DSV -

  SELECT        ABC, XYZ, DEF, PQR, PLADKey, LEFT(ABC, 3) AS DNL1, LEFT(ABC, 7) AS DNL2, 
                         LEFT(ABC, 9) AS DNL3
FROM            dbo.PLAD AS ad

В таблице более 33000000 строк, которые ежедневно увеличиваются. Возможно ли, что из-за большого количества строк processAdd работает медленно. Выбирает ли он автоматически только строки новостей или нам нужно указывать критерии фильтрации для идентификации новых строк (например, добавление условия where для выбора только данных, которые больше, чем последнее значение ключа)?

Мы используем AMO для создания сценария XMLA для обработки. Если нам нужно добавить фильтры, как мы это делаем в AMO?

Мы работаем над SQL Server 2008 R2.

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


person AJ01    schedule 08.02.2017    source источник


Ответы (1)


Если я понял ваше текущее состояние, вы запустили ProcessAdd для этого измерения, но не настроили запрос, чтобы просто читать новые строки? Во-первых, важно выполнять ProcessAdd только для тех измерений, которые предназначены только для вставки (без обновлений и удалений) в вашем ETL. Если это ваш случай, то я писал о ProcessAdd здесь . См. Пример «ProcessAdd Dimension 2008.xmla». Он показывает, как предоставить SQL-запрос, который возвращает только новые строки.

person GregGalloway    schedule 09.02.2017
comment
Привет, Грег, спасибо за ваш вклад. Я читаю твой блог. У меня вопрос - из раздела 2. ProcessAdd Dimension - Point 3 - В BIDS откройте представление источника данных .... когда я это сделаю, он принесет код для всех других измерений и фактов. Мне нужно подбирать только деталь по моему большому габариту. - person AJ01; 09.02.2017
comment
@ AJ01 внешний DSV должен содержать таблицы, необходимые для всех обрабатываемых измерений или разделов, которые обычно используют этот DSV. Не думаю, что есть лишние таблицы DSV, но вы можете попробовать очистить ненужные, если хотите. - person GregGalloway; 09.02.2017
comment
@GregGalloway привет, не могли бы вы помочь мне в очень похожей проблеме, пожалуйста? : stackoverflow.com/questions/51286842/ - person Almazini; 12.07.2018