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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.10.2002, 12:49   #1  
kalex is offline
kalex
Участник
 
132 / 20 (1) +++
Регистрация: 18.05.2002
Адрес: Москва
Рефлексивные связи в таблицах
Зачем на некотрые таблицы навешаны связи, в которых ключевые поля ссылаются сами на себя? (Например в таблице Dimensions)
Старый 25.10.2002, 14:33   #2  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,884 / 3792 (184) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Отличный вопрос!
Начал отвечать и почувстввал, что вру. Начал проверять.
Я не нашел ответа на этот вопрос, но узнал много нового.
Давно не было вопросов, которые позволяют узнать новое. Спасибо.

Начну отечать как хотел изначально, может кто знает правильный ответ и поправит.
Связи на себя нужны для того, чтобы можно было бы открыть подчиненные элементы. По крайней мере, когда я создавал свои модули, то использовал подобные связи именно с такой целью.

Но.
Когда я посмотрел в проекты, действия, заказы, затраты по целям, то увидел, что связь родитель подчиненный делается вручную, а не с помощью Relations.
Кроме того, аналитики являются линейными и в таблице Dimension данная связь вообще не нужна. Поэтому в данном случае, это предположение отпадает.

Кроме того, перекрестные ссылки показывают, что этот Relation никем не используется.

Поэтому пока я склонен отнести связь Num в таблице Dimension к забытым объектам. Сначала хотели для чего то использовать, а потом забыли.

Но вопрос очень интересный. Надо будет еще подумать.
Старый 25.10.2002, 15:01   #3  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,784 / 2327 (85) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
"Рефлексивные" связи делаются для того, чтобы была возможность переименования ключевого поля в таблице. Если ключевое поле таблицы не основано на расширенном типе данных, который указывает на само поле таблицы (как, например, AccountNum в LedgerTable), приходится делать такие связи.
За это сообщение автора поблагодарили: mazzy (2).
Старый 25.10.2002, 15:54   #4  
kalex is offline
kalex
Участник
 
132 / 20 (1) +++
Регистрация: 18.05.2002
Адрес: Москва
Несколько корявый способ указать на параметры переименования ключевого поля. Тем более, что лишняя связь на таблице сильно мешает - приходиться выбирать, какая важнее. И Люкапы выпадают где ненадо, смущая пользователя...
Старый 25.10.2002, 15:59   #5  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,784 / 2327 (85) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Да уж какой есть.
Старый 25.10.2002, 16:19   #6  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,884 / 3792 (184) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано EVGL
чтобы была возможность переименования ключевого поля в таблице.
Вах!
Спасибо.
Старый 25.10.2002, 18:13   #7  
kalex is offline
kalex
Участник
 
132 / 20 (1) +++
Регистрация: 18.05.2002
Адрес: Москва
А не могли бы вы пояснить механизм переименования ключевого поля? Как я понимаю, для этого используется common.renamePrimaryKey().
И другой интересный вопрос: как работает (и работает ли) common.merge(). Почему-то в форме sysRecordInfo, которая позволяет переименовывать первичный ключ, функциональность слияния записей, которая там есть, отключена.
Старый 31.10.2002, 09:07   #8  
Роман Кошелев is offline
Роман Кошелев
Продавец игрушек
Аватар для Роман Кошелев
 
433 / 73 (3) ++++
Регистрация: 22.11.2001
Адрес: Москва
Хочу предостеречь, чтобы на грабли не наступили:
http://www.axforum.info/forums/searc...rder=ascending
__________________
С уважением, Роман Кошелев.
Теги
renameprimarykey, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обновление поля с определённым типом во всех таблицах. Corel DAX: Программирование 1 20.12.2008 13:37
Сводное планирование и тип связи операции Эола DAX: Функционал 6 22.04.2005 14:52
Связи между таблицами. braathe DAX: Программирование 7 18.02.2005 18:40
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:38.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.