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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2013, 00:14   #1  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Когда нужна денормализация?
Работаю с готовым решением от одной компании... и приходиться достаточно часто получать цены с учетом акций... но данные такие, что получать приходиться достаточно сложно каждый раз ломая себе голову.
PriceDiscTable содержит аналитику склад(ссылается на аналитику со складом)
Есть еще пять таблиц которые содержат соответственно строки рекламной акции, шапку рекламной акции с полем её активности, таблица периода(ну т.е. понедельник вторник и тп с часами, причем ее может и не быть данные по датам надо брать из строк), есть таблица куда эта акция проводиться т.е. это формат некого магазина(отдельная таблица с датами по истории я так понял), опять же сайт надо брать все склады относящиеся к данному сайту, либо просто склады, либо все склады компании тогда таблицы мест проведения не будет(все склады данной компании), кроме того нужно учитывать что если дата окончания - пустая, то необходимо брать максимально возможную дату в системе для даты конца этой самой акции. Сортируя это все по некоему коду беру ту у которой меньше этот код, а остальные даже абсолютно такие же - нет, я получаю действующую акцию.

Акции могут просто включать и выключать в прошлом будущем настоящем...

Затем соединяя это все по складу и номенклатуре я в дисплей методах получаю данные высчитывая согласно методу расчета в строке акции...
Стоит ли такие данные немного денормализовать чтобы больше не мучиться? Ну т.е. все таки сделать склад и номенклатуру и даты конца и начала акции с нормальными заполненными данными..
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!

Последний раз редактировалось Murlin; 09.04.2013 в 00:22.
Старый 09.04.2013, 00:38   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Так вы попробуйте и сделайте.
Денормализация есть не просит.
Можно её сделать и попробовать поисполнять запросы по старому и по-новому и сравнить.

Модификации очень простые получатся.
Старый 09.04.2013, 00:58   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Murlin Посмотреть сообщение
приходиться достаточно часто получать цены с учетом акций... но данные такие, что получать приходиться достаточно сложно каждый раз ломая себе голову... Затем я в дисплей методах получаю данные высчитывая согласно методу расчета в строке акции... Стоит ли такие данные немного денормализовать чтобы больше не мучиться?
Стоит пользователям сказать, чтобы не страдали ерундой и пользовались иногда отчетами Зачем им это все в display-методах-то? Если надо посчитать, как такой-то прайс будет выглядеть с учетом акций, можно сделать отчетик или отдельную форму, которая будет обсчитываться на сервере в момент вызова. Надо посмотреть - нажми на кнопочку вызова формы.

А вообще, когда часто используемые расчетные данные так сложно искать, то обычно дело всё - в смешении данных, удобных для работы пользователей, и данных, удобных для работы системы. Шапки, строки, пять таблиц, необязательность заполнения полей, изменения задним числом... брр! Это все для пользователей, это все в журналах каких-нить должно быть. А для системы должна быть одна плоская транзакционная таблица, где все данные проверены, все неоднозначности разрешены и все нужные поля заполнены. И должен быть механизм трансляции из шапок со строками в плоскую таблицу. Это все давно уже придумано - поглядеть хоть на любой модуль Аксапты. Есть журналы, есть транзакционная таблица с движениями по учетным единицам, и есть механизмы разноски этих журналов, которые берут на входе шапки-строки, проверяют, дополняют недостающими данными из справочников/настроек/etc и генерят записи в плоских транзакционных таблицах, которые потом очень удобно фильтровать/агрегировать и куда пользователи своими грязными руками лазить не могут. На разноске - куча проверок, сложные вычисления, решение систем линейных уравнений, что угодно; при работе с транзакционной таблицей - только простые запросы без каких-либо неоднозначностей, максимум maxof/minof, фильтры по дате/клиенту/номенклатуре.

Последний раз редактировалось gl00mie; 09.04.2013 в 01:00. Причина: typo
За это сообщение автора поблагодарили: S.Kuskov (2), Murlin (1).
Старый 09.04.2013, 05:20   #4  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Стоит пользователям сказать, чтобы не страдали ерундой и пользовались иногда отчетами Зачем им это все в display-методах-то? Если надо посчитать, как такой-то прайс будет выглядеть с учетом акций, можно сделать отчетик или отдельную форму, которая будет обсчитываться на сервере в момент вызова. Надо посмотреть - нажми на кнопочку вызова формы.
фильтры по дате/клиенту/номенклатуре.
спасибо большое, попробую ваше мнение использовать в споре с начальством и "внедрятелем".
накипело так что ужос
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!

Последний раз редактировалось Murlin; 09.04.2013 в 05:23.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Кому нужна статистика запуска отчетов? Pustik DAX: Программирование 16 30.11.2011 20:57
Для чего нужна оценка Проект НЗП в модуле проекты? MultiMan DAX: Прочие вопросы 1 31.07.2008 12:52
Когда в Аксапте новый финансовый год создавать? Hidden DAX: Функционал 6 29.12.2005 15:12
Мастер шаблонов Excel падает когда вставляет в Excel поле, не основанное на EDT Ace of Database DAX: База знаний и проекты 5 25.10.2004 18:19
Управление резервированием - нужна помощь! Pavlo AKA Panok DAX: Программирование 8 25.03.2003 14:23

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

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

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