|
|
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Есть корректно работающий MDX. Код: plaintext 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. Селект вырван профайлером из excel 2007. Я создаю следующие CM: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Беру тот же самый запрос а получаю чушь! Везде стоит значение "А" кроме empty элементов(там стоит "о" как и должно быть). Пожалуйста, подскажите в чем проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 11:01 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Причем сами set'ы неправильные(хотя и при не правильных должны были быть все группы: и "А" и "Б" и "С" и "o") Ниже set'ы ppA и ppB: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 11:12 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
SerLightБеру тот же самый запрос а получаю чушь! Не вникая в детали предположу, что результат расходится с Вашим ожиданием по той причине, что множества вычисляются в разных контекстах: соответственно с where и без where. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 12:15 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Fec un Tues, может быть я неправильно понял о каком "where" вы говорите, но если о том, что стоит в select'е , то и в MDX скрипте и в запросе посылаемом excel'ем он один и тот же. Собственно я из экселя запрос и вытянул. Кстати, пробовал в mdx и с подзапросами - работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 14:01 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Блин. Понял о чем Вы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2008, 14:04 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Создаю в Visual Studio два именованных множества [ABC Валовая прибыль A] Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. [ABC Валовая прибыль] Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 15:44 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
(В дополнение к предыдущему посту) Такой запрос очень сильно тормозит - 6 минут Код: plaintext 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. против 2-х секунд с именованными наборами (SSMS) Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2008, 17:45 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Поднимаю тему. Несмотря на то что причина неработоспособности моих CM понятна, проблему так и не удалось обуздать. А так как у Evgenych такая же проблема, то все таки прошу помощи уже Нам) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 14:14 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. Попробуйте так. Только это будет ABC относительно всех товаров, без учета тех атрибутов товара, которые выставлены в where. Впрочем, в эталонных запросах с set то же самое, потому что не используется Existing. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2008, 16:28 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Fec un Tues, попробовал использовать функцию existing. Код: plaintext 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. Как заставить функцию TopPercent "заглянуть" в Where? (когда она используется в контексте сессии, а не запроса) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 12:59 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Я с Existing ошибся, TopPercent и так вычисляет с учетом where (когда в контесте запроса). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2008, 14:38 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Есть!!! Задача решена!)) Решена на SSAS 2008. В 2005ом можно было использовать только статические сеты которые считаются 1 раз на всю сессию! Теперь же в 2008ом есть возможность создавать динамические сеты, которые определяются для каждого запроса заново. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2009, 11:44 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
SerLight, SSAS 2008 R2. Столкнулся с "зависанием" ВСЕГО куба: проблема в использовании в кубе динамических сетов на предложенном решении, при том, что их можно и не использовать (строю отчет без них). Выборка любого элемента измерения в фильтре Excel может занять 5-10 сек. Без динамических сетов все работает шустро (как должно, собственно). В дин. сете используется атрибут на ~60 тыс.элементов для ABC. Теперь проблема с тем, как решить эту задачку. CU не спасли пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2011, 13:42 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
SerLightЕсть!!! Задача решена!)) Решена на SSAS 2008. В 2005ом можно было использовать только статические сеты которые считаются 1 раз на всю сессию! Теперь же в 2008ом есть возможность создавать динамические сеты, которые определяются для каждого запроса заново. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Попробовал Ваш метод - действительно он не привязан к фильтрам и почти правильно формирует эти списки (в ppA входит 80% и 80,01% почемуто но уже не так важно), но есть одна проблема - когда я выполняю его на 300 записях то работает нормально, но когда стал пробовать на 65Гб хранилище то ждал 10 минут и отменил. Пробовал добавить еще 2 динамических набора вида Код: plaintext 1. 2. Я практически не знаю MDX, и может этот сет можно доделать както. Господа прошу вашей помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2011, 13:18 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Заменил Код: plaintext 1. Код: plaintext 1. но когда я пишу Код: plaintext то Excel ругается. Как сделать ссылку в minA на его же поле [Measures].[Quantity] ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2011, 14:19 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Вобщем мое решение для БОООЛЬШИХ кубов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Причем если сеты сравнивать через MIN Код: plaintext 1. Владимир Штепа предлагал использовать через RANK без динамических сетов Код: plaintext 1. ИТОГО когда я воодрузил решение на ХД 107 Гб то получил время обработки запроса 3.4 сек!!!! Господа это очень хороший результат!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2011, 17:54 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
mihamiВладимир Штепа предлагал использовать через RANK без динамических сетов Ну, скажем, когда он это предлагал, еще и динамических сетов не было... mihamiкогда я воодрузил решение на ХД 107 Гб то получил время обработки запроса 3.4 сек!!!! То, что ХД 107 Гб - это мало о чем говорит. Важен размер иерархии в элементах. На измерении Customer из Adventure Works Ваш вариант действительно гораздо быстрее (на моей древней около 15 секунд), чем тот, на котором остановился SerLight, и, тем не менее, думаю, можно сделать еще быстрее, если немного переписать решение, которое я приводил выше ( 6626346 ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2011, 14:39 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
mihamiВобщем мое решение для БОООЛЬШИХ кубов: Нужно не для для больших кубов, а для больших измерений. Попробуйте свой пример на 100 - 150 тыс. элементах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2011, 14:45 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Fec un Tuesдумаю, можно сделать еще быстрее, если немного переписать решение, которое я приводил выше ( 6626346 ). Вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Динамические сеты здесь нужны для того, чтобы реагировать на фильтр (в where или subselect), в котором может оказаться какая-нибудь иерархия из Customer. Но есть проблема, о которой раньше говорил Voyager_lan. Эти динамические сеты замедляют работу Excel. Например, при определении фильтров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2011, 15:25 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Voyager_lanmihamiВобщем мое решение для БОООЛЬШИХ кубов: Нужно не для для больших кубов, а для больших измерений. Попробуйте свой пример на 100 - 150 тыс. элементах... В том разрезе товаров что я делал чуть больше 80 тыс. наименований ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2011, 15:13 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Fec un TuesFec un Tuesдумаю, можно сделать еще быстрее, если немного переписать решение, которое я приводил выше ( 6626346 ). Код: plaintext 1. 2. 3. 4. Динамические сеты здесь нужны для того, чтобы реагировать на фильтр (в where или subselect), в котором может оказаться какая-нибудь иерархия из Customer. Но есть проблема, о которой раньше говорил Voyager_lan. Эти динамические сеты замедляют работу Excel. Например, при определении фильтров. Разница между моим и Вашим кодом в использовании ( [Customer].[Customer].Parent, [_minA] ) вместо sum на наборе из 1го элемента. Так работает быстрее? (по идее должно быть так) Я просто пока начинающий в этом деле )) Вопрос с задержкой при выборе фильтров присутствует, но не в таких временных диапазонах как говорил Voyager_lan. Но заметил интересную особенность: эти задержки в 2010 Excel больше чем в 2007 (как это ни странно!) и в 2007 они есть только при первом обращении к фильтру, а при последующих их нет вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2011, 15:30 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Господа. Подкажите идею решения задачи: приведенная выше задача АВС анализа должна иметь продолжение только не по фильтрам которые выбирает пользователь, а выполнить АВС анализ для каждого элемента в списке (производитель напр.) и после некоторых манипуляций с данными залить их в таблицу на сервер. Строить прямые MDX запросы для куба я толком не понял как, да и не могу выбрать все поля что мне надо. Пробовал через SSIS используя ADO.NET подлючение к Analysis Services как источник с запросом: Код: plaintext 1. 2. 3. Пока остановился на таком решении: в Excel написал макрос (VBA) который меняет фильтры в таблице и записывает данные на другой лист. Потом подлючаюсь через SSIS к книге Excel и работаю с ней. Время выполнения задачи в Excel'ле 34-35 сек, но не устраивает то, что всеравно необходима ручная работа (открыть книгу, запустить макрос, сохранить книгу, запустить SSIS пакет). Господа, есть ли идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2011, 15:46 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Это уже даже не off-topic, а off-off-topic. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2011, 15:58 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
SerLightЕсть!!! Задача решена!)) Решена на SSAS 2008. В 2005ом можно было использовать только статические сеты которые считаются 1 раз на всю сессию! Теперь же в 2008ом есть возможность создавать динамические сеты, которые определяются для каждого запроса заново. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Реализовал у себя подобный вариант (выше писал его особенности), все работает нормально. Кидаю в строки товары, после кидания в фильтр нар. "магазин" то перечень товаров уменьшается, что говорит о том что динамический сет пашет правильно. Добавляю в фильтр дату - все ОК. Но, возникла необходимость добавить в фильтр например "группа товара" и начинаются траблы. Когда я выбираю группу товара в которой около 45 позиций - то сет уже не пересчитывается. Да и он вообще никак не реагирует на фильтр "группа товара". Пробовал также с нуля ставить сначало группу товара и потом все остальное - реакции никакой. Честно говоря сижу в раздумии.... или надо дописать че в MDX или неправильно сделано измерение "группа товара", хотя продажи сожно смотреть нормально и как бы практика в этом есть. Может есть у кого идеи или куда хоть смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 13:12 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
mihami, а есть ли возможность упростить вопрос, перейдя к конкретному MDX запросу для Adventure Works? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 13:41 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Fec un Tues, вот мои сеты Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 13:48 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
И все-таки. Если перейти к Adventure Works, сразу станет ясно, в вычислениях дело или в чем-то другом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2011, 14:08 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Реализовал ABC-анализ по аналогии с данным примером и столкнулся с следующей ситуацией: Динамические сеты используемые в расчете ABC-анализа стали значительно тормозить время создания или открытия других отчетов. При этом если исключить DYNAMIC SET на обычный, то все тормоза пропадают, но ABC-анализ не отрабатывает с фильтрацией по иерархии товаров. Кто нибудь сталкивался с данной задачей?!?! Если да то подскажите решение. Заранее спасибо!!! mihamiВобщем мое решение для БОООЛЬШИХ кубов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Причем если сеты сравнивать через MIN Код: sql 1. то время обработки вырастает с 1.9 сек до 2.1 сек по сравнению с SUM (тестил на ХД 160 Мб) Владимир Штепа предлагал использовать через RANK без динамических сетов Код: sql 1. и должен с ним не согласится, т.к. время обработки выростает с 1.9 до 11.3 сек. ИТОГО когда я воодрузил решение на ХД 107 Гб то получил время обработки запроса 3.4 сек!!!! Господа это очень хороший результат!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2012, 10:32 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Добрый день. Проблема торможения других запросов решается через ХАК: http://rubicon.azurewebsites.net/2014/08/05/abc-анализ-в-sql-server-analysis-services-практическое-руководс/ Велосипед не мой, так как нет желания переписывать RegexIsMatch, то сделано через IsLike. (В AS влит стандартный ASSP): Код: sql 1. 2. 3. 4. 5. 6. Если у кого есть ASSP с вышеназванной функцией, или объявится автор - прошу его выложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 09:57 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
Вопрос с ABC не закрыт: Предложенное решение работает с текущими фильтрами, но без учёта столбцов, для разных объектов учёта(Иван, Петя) может быть разный ранг и разный ABC. (Иван хорошо продал яблоко - для него ранг 1 по яблоку, Петя продал персик - для него ранг 1 по персику). Так как я только начал разбираться прошу сообщество о помощи для решения такой тривиальной для бизнеса задачи, как ABC-анализ в разрезе объектов учёта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 10:02 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
n0isy, Может разочарую но ни в этой теме, ни в приведённой ссылке совсем не ABC анализ а однофакторный TopCount или TopSum, поэтому для начала рекомендую разобраться с его теоретической бизнес-сутью и потом приступать к поиску технической реализации (которая к стати на этом форуме уже приводилась). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 11:24 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
vikkiv, Вот. Вы умными словами сказали что я и описал в прошлом сообщении. Приемлемого по скорости ABC не нашёл. Буду благодарен, если поможете в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 11:31 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
n0isy, концептуально (и по быстрому скопированно от сюда 18968217 ) вот так можно реализовать: Код: sql 1. 2. 3. 4. 5. 6. 7. но на самом деле зависит от того что ты подразумеваешь под столбцами, даже если встраиваешь в меры на стороне куба то по идее считается в текущем (остальное null) контексте (from/where currentmember), остальное уже от клиентского приложения зависит - как оно формирует запрос.. в принципе у меня на наборах из тысяч продуктов/клиентов (или что там другое под анализ попадает) отрабатывает за секунды (хотя и очевидно что в cell-by-cell режиме).. вечером вернусь и если время останется может что-то перепишу попроизводительней (напр. там сразу видно что count и второе sum можно кэшировать через промежуточное [All].., к set для сжатия лучше применить nonempty если продаж по многим продуктам нет.. и пр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 12:17 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
vikkiv, Пожоже тормозит подсчёт C. Не дождался правильно ли я понимаю, что при расчёте RunningSum в C, для каждого tuple из A суммируются все элементы от первого до текущего? Получается O^3 алгоритм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 13:46 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
n0isy, Так указано-же на nonempty и кеширование (Total/Sum и Count).. вот немного оптимизированный запрос - разница в скорости - последний выполняется за долю (0.0024) или четверть процента (0.24%) от начального Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. с лева время на выполнение первичного, с права новый запрос хотя доля прироста производительности за счёт кэширования в данном случае не такая высокая, в основном играет роль nonempty ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 16:15 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
наверное можно ещё нарастающий итог / кумулятивную сумму как-то оптимизировать - видел много где мелькает в блогах, но есть-ли подобное для такого отсортированного набора другой вопрос. причём это время выполнения у меня на лаптопе (правда с SSD), не сервере может побыстрее будет (хотя тестовые кубы маленькие - всё равно всё в памяти и нагрузка на CPU при таких малых измерениях не такая большая) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 16:26 |
|
||
|
MDX. Странное поведение CM.
|
|||
|---|---|---|---|
|
#18+
n0isyvikkiv, .... правильно ли я понимаю, что при расчёте RunningSum в C, для каждого tuple из A суммируются все элементы от первого до текущего? Получается O^3 алгоритм?Да, это суть нарастающего итога к сожалению, один из гвоздей в колесо (rank тоже не самая резвая функция).. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2017, 18:39 |
|
||
|
|

start [/forum/topic.php?all=1&fid=49&tid=1858325]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 192ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...