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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.07.2022, 12:44   #1  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Формирование мэппинга данных (DAX2012)
Добрый день!

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

Предполагается, что пользователь будет вводить данные по принципу Продукт Х - Продукт Y.

Причем если происходит следующая ситуация:
1) Продукт 1 - Продукт 2
2) Продукт 1 - Продукт 3
3) Продукт 2 - Продукт 4
Система должна понять, что для продукта 4, продукт 1 и продукт 3 тоже являются аналогами. Также предполагается использование данной таблицы в запросах.

Единственное что пришло в голову, реализовать метод который будет рекурсивно создавать все возможные связи при создании новой записи в таблице.

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

2.
то, как вы описали задачу требует решения еще одной подзадачи:
определить циклические графы и как то работать с ними.
опять же, графы совместно с SQL - это боль.

3.
стопудов люди работают с аналогами не так.
я не помню ни одного товароведа, который определял бы аналоги через другие продукты.

скорее всего, у них есть некий признак, который проставляется в продукт.
одинаковый признак - аналог, разный признак - не аналог

Продукт1, Аналог1
Продукт2, Аналог1
Продукт3, Аналог1
Продукт4, Аналог1
Продукт5, "" - пустышка не является аналогом никому, например
Продукт6, Аналог2
...

4.
В Аксапте кроме продуктов аналогом может является (или не являться) первичная складская аналитика - цвета, размеры, конфигурации

Продукт1, Цвет1, Аналог1
Продукт1, Цвет2, Аналог1
Продукт2, Цвет1, Аналог1
Продукт2, Цвет3, Аналог1
Продукт3, Цвет3, Аналог2
Продукт4, Цвет1, Аналог2
Продукт5, "", "" - пустышка в цвете означает "любой цвет", например. пустышка в аналоге не является аналогом никому, например
Продукт6, Цвет1, Аналог2
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: DesparioN (1).
Старый 11.07.2022, 13:29   #3  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Благодарю. Группы - это то что доктор прописал
Старый 11.07.2022, 14:00   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DesparioN Посмотреть сообщение
Группы - это то что доктор прописал
Ну... Давайте попробуем добить тему.

Нажмите на изображение для увеличения
Название: 15188727-1.jpg
Просмотров: 26
Размер:	205.2 Кб
ID:	13411

разные отделы в компании могут работать с продуктами с разной детализацией.
разная детализация нужна, чтобы "меньше считать", "меньше печатать", "сделать красиво" для человека.

суть "сделать красиво" в том, что человек выделяет некий мастер-продукт и говорит "вот его аналоги" (вариации).
далее человек предполагает, что компьютер позволит ему установить параметры только для мастер-продукта.
и, что компьютер самостоятельно применит эти параметры для аналогов.

причем разные люди в разных отделах могут иметь разное мнение насчет того, как выделять мастер-продукт и что именно считать аналогами. в большинстве компаний договариваются, конечно. но бывало, что и не договаривались.

самое интересное, что люди, которые просят "аналоги", могут совершенно не заморачиваться мастер-продуктом - типа мы установим параметр в любой аналог, а компьютер пусть сам решает как этот параметр распространить на остальные аналоги.

в этом случае вполне можно реализовать группы аналогов.

но это все равно не достаточно. все равно нужен функционал который работает:
1. с мастер-продуктом (выбрать мастер-продукт, напечатать название мастер-продукта в счете на оплату, зарезервировать любой аналог и т.п.)
2. с конкретным продуктом (складские остатки, инвентаризация, производство, счет для привередливого клиента с указанием конкретного аналога)

===================
дык, вот...

в ax2012 разработчики попытались в EcoRes.
но очень сильно увлеклись интеркомпани и, можно сказать, запороли работу с вариантами-аналогами.

посмотрите, проанализируйте.
возможно сможете что-то использовать из EcoRes.

===================
да, в конечном итоге, на техническом уровне SQL и таблиц,
нужно свести к группам. И никаких графов-рекурсий.

на бизнес-уровне, люди будут хотеть работать и с мастер-продуктом, и с конкретным продуктом.
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 11.07.2022 в 14:04.
За это сообщение автора поблагодарили: Vals (20), GEP442 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Кэширование данных на форме (DAX2012) DesparioN DAX: Программирование 10 28.01.2022 18:04
Формирование отчета XMLExcelReport DAX2012 DesparioN DAX: Программирование 3 18.06.2021 15:07
Импорт экспорт данных АХ 2012 vlad_ax DAX: Функционал 7 28.07.2015 11:50
Перенос настроек и данных DAX2012 R3 MazterHan DAX: Функционал 8 29.05.2015 22:19
Создание снимков изменений в базе данных Ace of Database DAX: Программирование 17 01.11.2011 12:34

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

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

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