AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.08.2011, 07:31   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Как правило, там где встречаюсь с деревом и отчетностью все замечательно выводится в OLAP. Собственно, для сводных таблиц и иерархий как правило и требуются деревья в Системе.
Как раз для работы сводных таблиц и тем более иерархий - деревья противопоказаны.

Я об этом писал
Цитата:
Сообщение от mazzy Посмотреть сообщение
Дерево категорически противопоказано использовать там, где реальная структура - произвольный граф.
Дерево можно использовать только там, где реальная структура - именно дерево (а такое бывает очень редко)
Сводные таблицы замечательно работают по плоской структуре с разными полями в качестве группировок.
Сводные таблицы отвратительно работают по иерархической структуре (parentID, ChildID).
Сводные таблицы просто неправильно работают, если подсунуть им граф вместо дерева.

В реальной жизни чистое дерево бывает очень редко. Как правило, наличие дерева означает что есть очень жесткие ограничения, которые скорее всего противоречат реальной жизни.
__________________
полезное на axForum, github, vk, coub.
Старый 01.08.2011, 07:36   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от mazzy Посмотреть сообщение
Как раз для работы сводных таблиц и тем более иерархий - деревья противопоказаны.
Вы, наверное, про обычные сводные таблицы Excel без OLAP говорите? Там дерево построить, действительно, тяжело. В чем проблема для OLAP и последних версий Excel?

Насчет фильтров и дерева. Не работал с 1С, но кто мешает выбрать в дереве самый первый родительский объект, который покажет именно все записи?
__________________
Ivanhoe as is..
Старый 01.08.2011, 07:43   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Вы, наверное, про обычные сводные таблицы Excel без OLAP говорите?
Э-э-э...вроде про ОЛАП говорим.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Там дерево построить, действительно, тяжело. В чем проблема для OLAP и последних версий Excel?
Я же написал
Сводные таблицы отвратительно работают по иерархической структуре (parentID, ChildID).
Сводные таблицы просто неправильно работают, если подсунуть им граф вместо дерева.

Поясняю:
В частности ОЛАП не проверяет глубину дерева (если ему скормить parentID, ChildID). Что чревато отказами при обходе в глубину.

ОЛАП не будет проверять, что ему подсунули граф, а не дерево. В лучшем случае он просто будет агрегировать (суммировать) несколько раз. В худшем - зациклится.

Следовательно валидация - задача программиста.
Я повторю свою мысль: Как правило, наличие дерева означает что есть очень жесткие ограничения, которые скорее всего противоречат реальной жизни.


Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Насчет фильтров и дерева. Не работал с 1С, но кто мешает выбрать в дереве самый первый родительский объект, который покажет именно все записи?
Во-первых, это надо программировать.
Таких тонких моментов, которые "надо программировать" с деревом очень много.
Поэтому я и говорил про "усложнение на порядок".

Во-вторых, "первый родительский объект" не решает проблему.
Предположим, что установили на первый родительский объект. Значит ли это, что все найденные "*пальто*" принадлежат родительскому объекту?
__________________
полезное на axForum, github, vk, coub.
Старый 01.08.2011, 07:57   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от mazzy Посмотреть сообщение
Поясняю:
В частности ОЛАП не проверяет глубину дерева (если ему скормить parentID, ChildID). Что чревато отказами при обходе в глубину.

ОЛАП не будет проверять, что ему подсунули граф, а не дерево. В лучшем случае он просто будет агрегировать (суммировать) несколько раз. В худшем - зациклится.

Следовательно валидация - задача программиста.
Я повторю свою мысль: Как правило, наличие дерева означает что есть очень жесткие ограничения, которые скорее всего противоречат реальной жизни.
1. Мне кажется отказ при обходе из-за глубины чем-то напоминает ограничение Excel ..2003 в 64 тыс. строк. Есть такое ограничение, его просто надо иметь в виду. Также как и другие ограничения любой платформы для построения отчетности.
2. Не допускайте графа при создании дерева, вот и вся задача. Понятно, что это надо программировать. Но при этом и понятна выгода от использования агрегированных аналитических отчетов.


Цитата:
Сообщение от mazzy Посмотреть сообщение
Во-вторых, "первый родительский объект" не решает проблему.
Предположим, что установили на первый родительский объект. Значит ли это, что все найденные "*пальто*" принадлежат родительскому объекту?
Тут зависит от реализации. Мне кажется достаточно интуитивным что в таком случае я вижу все *пальто* из справочника. См. скриншот - выбран единственный первый уровень "Ассортиментный классификатор". Выбор его равнозначен отсутствию дерева. Товары могут принадлежать только корневым уровням которые, принадлежат "Ассортиментному классификатору".
__________________
Ivanhoe as is..
Старый 01.08.2011, 09:18   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
...Есть такое ограничение, его просто надо иметь в виду. Также как и другие ограничения любой платформы для построения отчетности.
2. Не допускайте графа при создании дерева...
...Товары могут принадлежать только корневым уровням...
Можно я настойчиво повторю свою мысль?

Как правило, наличие дерева означает что есть очень жесткие ограничения, которые скорее всего противоречат реальной жизни.
__________________
полезное на axForum, github, vk, coub.
Теги
дерево, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Экспорт/Импорт прав доступа Anais DAX: Администрирование 28 11.11.2006 21:44
Дерево Tree Unicorn DAX: Программирование 7 16.09.2005 13:25
Вопрос про Web Apps konfet DAX: База знаний и проекты 18 12.09.2005 15:36
Дерево сопоставлений в SP2? Sanya DAX: Функционал 4 23.06.2004 09:42
дерево ФК dalyet DAX: Администрирование 1 25.11.2002 15:27

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:03.