|
|
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть иерархия: Из неё нужно получить элемент иерархии (Uniquename) по ID. Сейчас это делаю так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. При этом возвращается не искомый, а родительский элемент, в котором он находится. Как получить искомый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 14:17 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
Дело в том что искомый член находится в разных иерархиях: Work Item Tree, Work Item Tree 1, Work Item Tree 2, Work Item Tree 3, ... Как его искать сразу в нескольких иерархиях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 13:20 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, 1) Если нужно вывести элемент зная его уникальный идентификатор - то зачем выполнять поиск? Прямо его и пиши на ось. 2) Точно-ли на других уровнях этот-же элемент? Выведи ключ рядом и проверь (скорее всего он окажется другим, например &[123] и &[124]). Имя может совпадать, а ключи наверное разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 16:26 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
3) Выполни поиск по имени элемента : через Filter (.. , instr()>0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 16:28 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
1) В этом и проблема - нужно узнать идентификатор, чтобы в дальнейшем с ним работать через параметры в SSRS. 2) На каждом уровне разные элементы, но они связаны. Я мог бы получить это так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. И это работает, но я не знаю на каком уровне окажется искомый элемент. Если указываю лишний уровень, на котором его нет, то получаю исключение: Код: sql 1. 2. 3. vikkivchenix, 1) Если нужно вывести элемент зная его уникальный идентификатор - то зачем выполнять поиск? Прямо его и пиши на ось. 2) Точно-ли на других уровнях этот-же элемент? Выведи ключ рядом и проверь (скорее всего он окажется другим, например &[123] и &[124]). Имя может совпадать, а ключи наверное разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:08 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, Т.е. тебе нужно выполнить поиск на только на выбранном уровне? в таком случае можно использовать свойства элемента, такие как: например для поиска по имени .member_caption или .member_name для идентификации уровня level.name или .level.ordinal всё это ставится условием в фильтр откуда и получается искомый идентификатор элемента к примеру через .member_unique_name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:33 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
например Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:45 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix, Т.е. тебе нужно выполнить поиск на только на выбранном уровне? в таком случае можно использовать свойства элемента, такие как: например для поиска по имени .member_caption или .member_name для идентификации уровня level.name или .level.ordinal всё это ставится условием в фильтр откуда и получается искомый идентификатор элемента к примеру через .member_unique_name Нужно во всех иерархиях найти элемент (его идентификатор, например: [Work Item Tree].[Work Item Tree Hierarchy].&[7654321]) с заданным ID (параметр). После этого идентификатор будет использоваться в других запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:45 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, у тебя слово идентификатор (по формату: ключ) - в единственном числе, и встречаться он будет скорее всего только на одном уровне (иерархии) и только один раз что значит "во всех иерархиях"? для разных иерархий - разные запросы, в пределах одной иерархии - могут быть разные уровни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:57 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
.. для поиска (конвертации между) известного элемента в разных иерархиях - можно использовать MDX функцию LinkMember(), работает так-же и между разными Role-Playing измерениями (т.е. если корневое измерение в базе данных одно и тоже). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 18:13 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix, у тебя слово идентификатор (по формату: ключ) - в единственном числе, и встречаться он будет скорее всего только на одном уровне (иерархии) и только один раз что значит "во всех иерархиях"? для разных иерархий - разные запросы, в пределах одной иерархии - могут быть разные уровни. Переформулирую, как в иерархии (на всех уровнях) найти нужный элемент (его идентификатор - Uniquename, &) с заданным ID (это отельный параметр у члена иерархии) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 18:13 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, как задаётся этот ID (отдельный параметр у члена иерархии)? можешь привести пример его MDX выражения? (это Properties, имя {а не ключ}, какой-то связанный элемент {хотя у тебя на диаграмме только один дополнительный атрибут не используемый в запросе}) в обычных иерархиях то что у тебя в начале Descendants - обычно справляется с поиском всех подчинённых (если поставить правильные флаги) если поиск только по имени - то уже указано выше, если по другим критериям - то приведи их достаточно точно в MDX формате(пока это всего-лишь какой-то мистический ID). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 18:28 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkiv, ID вполне себе реальный, это параметр члена иерархии. Например, Код: sql 1. 2. 3. 4. 5. 6. Возвращает: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 18:42 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, тогда твоё выражение и идёт в критерий фильтра, например (критерий 3): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 19:24 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
Увы, не выходит. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:07 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, классический debug - отвинчиваешь все элементы и прикручиваешь по одному чтобы определить что именно ломает схему. например сначала пробуй с .member_key а потом с .Properties(...) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. и так далее наращивая сложность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:20 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix, классический debug - отвинчиваешь все элементы и прикручиваешь по одному чтобы определить что именно ломает схему. например сначала пробуй с .member_key а потом с .Properties(...) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. и так далее наращивая сложность Аналог, Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:53 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, по моему явно что-то сломано, скорей всего придётся чинить структуру базы, или смотреть права доступа, может даже проверить есть-ли там ROLAP на всякий случай (хотя вряд-ли т.к. это обычно на всё измерение, а здесь остальные атрибуты работают, если только что-то с правами на SQL базу или со структурой SQL таблицы), почистить поле (тип данных, длинна, левые символы в строке) для полноты картины разверни где-нибудь на свободном сервере и отпроцесь урезанное решение в котором 2-3 малых измерения (включая это, попробуй даже ограничь количество элементов в каждом атрибуте измерения до Top 1000) и символическая группа мер без скриптов, убрать атрибуты до минимума, проверить связи (и тип) между ними, тип измерений (и есть-ли связи между ними типа Referenced) смотри как там MDX запрос отработает. поставить последнее обновление на сервер, проверить работу решения на другом сервере (может даже с более новой SQL версией). в общем копать на исключение одной возможной проблемы за другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:16 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix, по моему явно что-то сломано, скорей всего придётся чинить структуру базы, или смотреть права доступа, может даже проверить есть-ли там ROLAP на всякий случай (хотя вряд-ли т.к. это обычно на всё измерение, а здесь остальные атрибуты работают, если только что-то с правами на SQL базу или со структурой SQL таблицы), почистить поле (тип данных, длинна, левые символы в строке) для полноты картины разверни где-нибудь на свободном сервере и отпроцесь урезанное решение в котором 2-3 малых измерения (включая это, попробуй даже ограничь количество элементов в каждом атрибуте измерения до Top 1000) и символическая группа мер без скриптов, убрать атрибуты до минимума, проверить связи (и тип) между ними, тип измерений (и есть-ли связи между ними типа Referenced) смотри как там MDX запрос отработает. поставить последнее обновление на сервер, проверить работу решения на другом сервере (может даже с более новой SQL версией). в общем копать на исключение одной возможной проблемы за другой. Спасибо. Это "проприетарный" куб, который создает TFS, в него не вносились какие-либо коррективы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:23 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
как альтернатива - попробуй добавь в атрибут (если он Browsable) который System_Id в запрос (CrossJoin) и выводи вместо Properties для [Work Item Tree Hierarchy] - собственно имя самого элемента атрибута содержащего System_Id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:24 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix..Это "проприетарный" куб, который создает TFS, в него не вносились какие-либо коррективы.ну так делов-то, сделай с него копию и внеси нужные изменения для проверки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:25 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix..Это "проприетарный" куб, который создает TFS, в него не вносились какие-либо коррективы.ну так делов-то, сделай с него копию и внеси нужные изменения для проверки Создать копию без проблем, но на счет правок куба - пока нет уверенности) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:29 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
chenix, ну это уже чисто опыт разработчика, импортировать SSAS базу в Visual Studio тестовый проект и раздеть до минимума (оставить нужное измерение, выкинуть скрипты, и группы мер кроме одной минимальной/фиктивной) да развернуть на проверочный сервер на своё имя базы - вопрос обычно минут пяти-десяти, потом главное чтобы доступ к SQL источнику был, и вопрос решен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:40 |
|
||
|
Поиск в иерархии
|
|||
|---|---|---|---|
|
#18+
vikkivchenix, ну это уже чисто опыт разработчика, импортировать SSAS базу в Visual Studio тестовый проект и раздеть до минимума (оставить нужное измерение, выкинуть скрипты, и группы мер кроме одной минимальной/фиктивной) да развернуть на проверочный сервер на своё имя базы - вопрос обычно минут пяти-десяти, потом главное чтобы доступ к SQL источнику был, и вопрос решен. Возможно, но я не настоящий сварщик. Я администратор, которого занесло в BI (MDX+SSAS+SSRS). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:44 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39712069&tid=1857759]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 282ms |

| 0 / 0 |

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