|
|
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
AS 2008R2, база - тривиальная: взято от заказчика, замылили, вырезали все лишнее - оставив только одну группу мер, подмножество строк, и одно измерение. Бекап тут, весит 3 КБ Странность в том, что вот такой банальный запрос Код: sql 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. работает на ура - выдавая то, что на картинке. Но если доставить NON EMPTY на строках Код: sql 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. , то не возвращается одна строка - SPECIAL Group 7. Дименшн - простой как дверь: один ключевой атрибут, два неключевых - связанных с ключем. В базе данных есть 9 строк где brand 5 и SPECIAL Group 7 Код: sql 1. 2. 3. то есть, autoexists тут не должен выбрасывать SPECIAL Group 7 ну никак, потому что и товары такие есть, и тупой калк (=1) ну явно не null. Если со строк снять NON EMPTY а на столбцы его положить, то там будет еще третий результат. Если на строках начать выбирать другие мемберы в иерархии, то кроме special group 7 будут еще пропадать другие мемберы... Короче, полная мистика. Базу проектировали не мы, я только помогаю заказчику справится с паззлом. Вначале думал, что у него не стоит сервис пак и т.д. - было похоже на глюк движка. Но поднял у себя - у меня то же самое. Я такое первый раз вижу. У кого есть идеи, что с этим можно делать? куда копать, и что заказчику посоветовать? Спасибо наперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2013, 18:11 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Игорь Бобак, Интересный случай :-) Ну с "Если со строк снять NON EMPTY а на столбцы его положить, то там будет еще третий результат." - тут понятно, NON EMPTY выражение прячет строку/столбец если ВСЕ ячейки там пустые А вот то что правильно начинает работать если убрать Hierarchize... - вот это пока непонятно совсем почему :-) И кстати если [Product].[Group].[All].&[SPECIAL Group 63] и [Product].[Group].[All].&[SPECIAL Group 7] поменять местами - то пропадет уже группа 63, а 7 - появится. Чудеса. Имхо, дело в ненатуральной иерархии, но как исправить, пока нет идей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2013, 20:52 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
там еще могу добавить. если сделать иерархию "группа-продукт", процесснуть куб, потом в отчете начать раскрывать группы (чтобы под ними продукты появлялись), то те группы, которые ниже, и которые НИКАКОГО ОТНОШЕНИЯ не имеют к раскрывшимся группам, начинают то показываться, то скрываться. При том ОТ ФОНАРЯ. и не важно какая мера - физическая или калк (я собственно вначале подумал что что-то не так с группой мер, но когда поставил калк - увидел что то же самое). и еще одно. если вместо where условия подставить subcube (даже с одним элементом) - то все начинает работать правильно. Мы конечно можем научить наш Business Analysis Tool делать всегда subcube если на уровне сервера стоит опция "генерировать всегда подкубы", но это как-то тупо: подгонять клиента под баги сервера, чтобы эти баги обходить. А кто его знает, какие баги сервер может с подкубами потом выкинуть на этой базе? Короче, смотрю я на это все, и немножко себя чувствую идиотом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2013, 21:03 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Игорь Бобак, По таблице видно, что возвращается 10 строк. Уберите SOLVE_ORDER = 10 и посмотрите, что получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2013, 22:23 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Игорь Бобак, а вы не задумывались почему Microsoft сделал и браузер в студии и клиента в экселе либо через subselect, либо через сессионные сеты и мемберы? на велозаводе проблема также воспроизводится, select {[Measures].[Internet Sales Amount]} on 0, non empty hierarchize ({ [Product].[Subcategory].&[18], [Product].[Subcategory].&[27], [Product].[Subcategory].&[6], [Product].[Subcategory].&[7], [Product].[Subcategory].&[20], [Product].[Subcategory].&[34], [Product].[Subcategory].&[35], [Product].[Subcategory].&[22], [Product].[Subcategory].&[14], [Product].[Subcategory].&[25] }) on 1 from [Adventure Works] where ([Product].[Product Line].&[M]) причем если сет просто вынести в именованый сет - то работает правильно, ну и так как вы сказали - тоже. Так что думаю - дело не в проблемах базы, а в нюансах работы с ненатуральной иерархией. Наверное выбирали меньшее зло, чтобы хоть при каких то подходах ВСЕГДА работало правильно. У нас например всегда генерируются Set при множественном выборе. Не помню точно, но при подходе с subselect есть тоже нюансы какие то, что там было с дефолтными мемберами в кубе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2013, 00:01 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
ORа вы не задумывались почему Microsoft сделал и браузер в студии и клиента в экселе либо через subselect, либо через сессионные сеты и мемберы? А чтобы Вы были в курсе, если в контексте выбран один мембер, то ексель 2010 запихивает его в WHERE, а не в subselect. В отличие от них мы - гибкие, и можем переделать. А вот они вас слушать не будут. Но всеравно суть остается - не могу понять такого поведения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2013, 00:04 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Игорь Бобак, да, забыл я написать что это только про мультиселект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2013, 00:34 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
ORда, забыл я написать что это только про мультиселект У нас мультиселект тоже идет в подкуб. здесь analysis глючит именно на комбинации where + autoexists. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2013, 01:54 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Игорь Бобак, А воз и ныне там! SSAS 2016, комбинация 4х условий (NON EMPTY, Herarchize, Мультиселект, связанный атрибут в контексте) приводят к подобной аномалии. Как обратиться в MS чтоб поправили-то наконец? MS Connect убрали, да и стучаться похоже бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 12:25 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
а это не тот случай что NON EMPTY работает для меры по умолчанию, и чтобы корретно надо использовать NoEmty с указанием кокретной меры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 14:10 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
ShIgor, если у вас поддержка MS есть, то тикет зарегистрируйте и периодически пинайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 14:23 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
StarikNavy, нет, NON EMPTY - это ключевое слово перед осью, NonEmpty(..) это функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 15:10 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
Критик, да есть, но не конкретно у меня, а у админов, а они пальцем шевелить не станут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 15:11 |
|
||
|
NON EMPTY выбрасывает лишние строки (из разряда "мистики")
|
|||
|---|---|---|---|
|
#18+
ShIgorИгорь Бобак, А воз и ныне там! SSAS 2016, комбинация 4х условий (NON EMPTY, Herarchize, Мультиселект, связанный атрибут в контексте) приводят к подобной аномалии. Как обратиться в MS чтоб поправили-то наконец? MS Connect убрали, да и стучаться похоже бесполезно. Написать сюда: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?forum=sqlanalysisservices&filter=alltypes&sort=lastpostdesc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2019, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=38280821&tid=1857563]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 171ms |

| 0 / 0 |

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