|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
Пытаюсь собрать по разным англоязычным статейкам, готового шаблона не нашел, а то, что написал пока не работает - видимо не правильно прописываю Bindings. Буду очень благодарен, если кто поделится правильным написанием. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 16:58 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
Вот что рабочего удалось написать: <Process xmlns="https://schemas.microsoft.com/analysisservices/2003/engine"> <Object> <DatabaseID>MAIN_1_Replica</DatabaseID> <DimensionID>Dim DT</DimensionID> </Object> <Type>ProcessAdd</Type> <DataSourceView> <ID>MAIN_1_Replica</ID> <Name>MAIN_1_Replica</Name> <DataSourceID>mkt_RL</DataSourceID> <Schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"> <xs:element name="OLAP_Dim_DT" msprop:QueryDefinition="SELECT * FROM OLAP_Dim_DT WHERE id > 20220513" msprop:DbTableName="OLAP_Dim_DT" msprop:IsLogical="True" msprop:TableType="View"> </xs:element> </Schema> </DataSourceView> </Process> Я так понимаю определять с какой строки нужно через линковку SSAS сервера и MDX запрос (можно в этом случае и в Data flow в SSIS можно обойтись, я так понимаю он по тому же принципу в измерения запихивает данные как и этот скрипт ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 19:26 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
13Q, А в чем вопрос-то? как определить откуда грузить? так это ж измерение, а не группа мер. в группе мер это важно, иначе данные будут задублированы. в измерении ProcessAdd только добавляет новые строки не трогая существующих. поэтому если встретит уже существующий ключ то в зависимости от настройки обработки ошибки (у меня KeyDuplicate = Ignore). поэтому с небольшими отклонениями за этой границей не слежу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 08:54 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
ShIgor, вопрос как раз был в том, как указать именно те строки, которые нужно добавить в измерение. скрипт все таки падает как раз с ошибкой дублирования ключей, что странно, т.к. в скрипте я указываю те строки, которых в измерении еще нету если же делать Process Update - то это очень долго (у меня как минимум одно измерение идет на 100 млн строк с большим кол-вом атрибутов) Process Full - тогда и партиции все пересчитывать надо, а некоторые из них очень большие - тоже не вариант Думаю еще попробовать тоже самое сделать через отдельный Data Flow в SSIS С группами мер все как раз намного проще, я просто выделил относительно свежий отрезок в каждой группе в отдельную партицию. Раз в месяц буду делать полный пересчет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 18:05 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
13Q, ну так чтоб не думать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 20:55 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
13Q ShIgor, вопрос как раз был в том, как указать именно те строки, которые нужно добавить в измерение. скрипт все таки падает как раз с ошибкой дублирования ключей, что странно, т.к. в скрипте я указываю те строки, которых в измерении еще нету если же делать Process Update - то это очень долго (у меня как минимум одно измерение идет на 100 млн строк с большим кол-вом атрибутов) Process Full - тогда и партиции все пересчитывать надо, а некоторые из них очень большие - тоже не вариант Думаю еще попробовать тоже самое сделать через отдельный Data Flow в SSIS С группами мер все как раз намного проще, я просто выделил относительно свежий отрезок в каждой группе в отдельную партицию. Раз в месяц буду делать полный пересчет. "у меня как минимум одно измерение идет на 100 млн строк " это неверная архитектура. Измерения не должны быть такого размера. Из вашего куба выгружают некие детальные данные. Откажитесь от этого. Сделайте некий отчет или систему выгрузки. Вы сейчас скажете "без этого нельзя".... та та да да . А зачем вам столько элементов, у вас смотрят детальные номера чеков за 2009 год в 2021 году? Обрежьте до 2018 года хотя бы. ProcessAdd имеет место быть, но вы замучаетесь отслеживать, что именно добавилось, и особенно, что делать если процесс упал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2021, 13:23 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
a_voronin, улыбнуло.. >100млн это с конца 19 года, причем измерений 2 (два разных). "партия сказала 'надо!', комсомол ответил 'есть!'" и железным гвоздем приколочено! с номерами чеков все просто. 1 кассирша в смену физически не может пробить больше 1 чека в минуту (не, ну может, но вероятность = 0) поэтому в измерении номеров чеков 10000 элементов всего с 10кратной избыточностью, потому что ручки шаловливые.. всякое бывает. у меня с ProcessAdd проблем нет. я не отслеживаю конкретные границы, все что не нужно добавлять SSAS отбрасывает сам, хоть все 100лямов ему скорми. по скорости пока удовлетворяет всех. Full всей базы = 45 минут не очень критично. 15-минутный Add меньше 2-х минут. Больше удручает сброс кешей при процессе партиций.. насчитал значит пользователь себе супер-пупер навернутый отчет, ждал 10 минут когда его портянка придет, и хрясь - нет расчетов, даже если обработка не затронула период (партиции) в котором он считал - считай заново! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2021, 17:19 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
a_voronin "у меня как минимум одно измерение идет на 100 млн строк " это неверная архитектура. Измерения не должны быть такого размера. Из вашего куба выгружают некие детальные данные. Откажитесь от этого. Сделайте некий отчет или систему выгрузки . Вы сейчас скажете "без этого нельзя".... та та да да . А зачем вам столько элементов, у вас смотрят детальные номера чеков за 2009 год в 2021 году? Обрежьте до 2018 года хотя бы. ProcessAdd имеет место быть, но вы замучаетесь отслеживать, что именно добавилось, и особенно, что делать если процесс упал. Мне было лениво делать дополнительные отчеты и выгрузки, и тоже добавлял в измерения очень детализированные вещи. Чтобы пользователи меньше доставали хотелками. Но сечас понимаю, что с попытками впихнуть все в куб в результате получается больше головняка. Так что доделаю пользователям выгрузки - и пусть отдельно смотрят детальные данные не из куба. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2021, 17:26 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
a_voronin, Да, я знаю что измерения не должны быть более 20 млн строк, и я скоро проведу работу на этот счет. Но на данный момент это измерение (маркетинговых utm меток) занимает именно столько строк, а пространство должно уже быть на проде и доступно маркетингу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2021, 23:46 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
ShIgor, Да, я уже прописал обработку ошибки, вот мой текущий тестовый скрипт: <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Process> <ErrorConfiguration> <KeyDuplicate>IgnoreError</KeyDuplicate> </ErrorConfiguration> <Object> <DatabaseID>MAIN_1_Replica</DatabaseID> <DimensionID>Dim DT</DimensionID> </Object> <Type>ProcessAdd</Type> <DataSourceView> <ID>MAIN_1_Replica</ID> <Name>MAIN_1_Replica</Name> <DataSourceID>mkt_RL</DataSourceID> <Schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"> <xs:element name="OLAP_Dim_DT" msprop:QueryDefinition="SELECT * FROM OLAP_Dim_DT WHERE id > 20220513" msprop:DbTableName="OLAP_Dim_DT" msprop:IsLogical="True" msprop:TableType="View"> </xs:element> </Schema> </DataSourceView> </Process> </Batch> Но падает он вот с этой ошибкой: <return xmlns="urn:schemas-microsoft-com:xml-analysis"> <results xmlns="http://schemas.microsoft.com/analysisservices/2003/xmla-multipleresults"> <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty"> <Messages xmlns="urn:schemas-microsoft-com:xml-analysis:exception"> <Warning WarningCode="1091436572" Description="Синтаксический анализатор: Был задан, но не используется внешний объект "DataSourceView", ссылающийся на идентификаторы "MAIN_1_Replica"." Source="Службы Microsoft Analysis Services" HelpFile="" /> </Messages> </root> </results> </return> Видимо элемент как то не верно задал, буду еще ковырять, в крайнем случае реализую через датафлоу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2021, 23:50 |
|
пример xmla скрипта с ProcessAdd Dimension - поделитесь, если у кого есть
|
|||
---|---|---|---|
#18+
13Q, шаблон для измерения с одним атрибутом Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:16 |
|
|
start [/forum/topic.php?fid=49&tid=1857062]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 380ms |
0 / 0 |