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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.05.2010, 19:40   #1  
Just_smile is offline
Just_smile
Участник
Axapta Retail User
 
41 / 29 (1) +++
Регистрация: 28.10.2008
Унифицированный справочник цветов
Всем привет!

В нашем справочнике цветов уже около 1200 строк. Для решения определенных задач было принято решение создать унифицированный справочник цветов, в нем будет около 100 цветов.

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

Подскажите пожалуйста методы которыми можно выявить хотя бы какую то часть цветов которые есть в унифицированном справочнике. А то вручную как то не хочется людей напрягать проставлять
Старый 27.05.2010, 20:25   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Может попробовать Soundex, тем более, что в MS SQL он реализован.

Не знаю, правда, насколько качественно он реализован для русского языка.
Старый 27.05.2010, 21:04   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
нечеткий поиск
Старый 27.05.2010, 21:12   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
А ведь мой же проект Даже забыл для чего это делал - как же давно это было
Старый 27.05.2010, 21:18   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Just_smile Посмотреть сообщение
В нашем справочнике цветов уже около 1200 строк. Для решения определенных задач было принято решение создать унифицированный справочник цветов, в нем будет около 100 цветов.
.............
А то вручную как то не хочется людей напрягать проставлять
Дааа, люди, я смотрю, у вас не переламываются, если "1200 строк" - это напряжение )

Я бы взял обычный Excel и разбил текст по столбцам (есть там такая команда). Разделитель - дефис. Получившиеся две колонки отсортировал бы возрастанию по первой-второй колонкам. Дальше бежал бы (вручную, конечно) по получившемуся списку и проставлял в третьей колонке новые названия цветов (можно организовать выбор из списка при помощи функции "Проверка", кажется). Дальше можно пробежаться, отсортировав по второй-первой колонкам и проверить. Или начинать сразу с сортировки "2-1", если основной цвет, как правило, во второй колонке. В общем, как-то так... Разработка здесь, по-моему, не оправдана абсолютно, если задачку вручную можно решить за час. Ну за два.

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

Последний раз редактировалось Gustav; 27.05.2010 в 21:20.
За это сообщение автора поблагодарили: mazzy (2).
Старый 27.05.2010, 23:00   #6  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Ну, насколько я понимаю, нет гарантии, что разделителем является тире, что части только две и что вообще есть разделитель.

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

Значит можно попробовать сгруппировать все цвета по вхождению в них корней наиболее распространенных 7-8 цветов: "син", "красн", "зел", "черн", "бел" ..

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

Последний раз редактировалось Андре; 27.05.2010 в 23:02.
За это сообщение автора поблагодарили: Gustav (2).
Старый 28.05.2010, 01:03   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Андре Посмотреть сообщение
Но если искать простой способ, то я бы исходил из предположения, что люди, в большинстве своем ленивы и в вопросе создания цветов, вряд ли вышли за пределы радуги.
Это мужской взгляд.
У женщин число воспринимаемых цветов может быть значительно больше
__________________
полезное на axForum, github, vk, coub.
Старый 28.05.2010, 07:48   #8  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от mazzy Посмотреть сообщение
Это мужской взгляд.
У женщин число воспринимаемых цветов может быть значительно больше
Вы не поверите сколько цветов воспринимают маркетологи Мы использовали такой справочник цветов, пополняемый в основном из вендорских описаний продуктов. Даже учитывая то, что активно работали всего с двумя вендорами, через полгода накопилось по паре десятков значений для каждого основного цвета радуги: Blue, Light blue, Dark blue, Navy blue, Sea blue, Sky blue и т.д., не говоря уже о сочетаниях основных цветов: Blue Red, Blue Black, Red Blue (!) и т.д.
__________________
-ТСЯ или -ТЬСЯ ?
Старый 28.05.2010, 08:58   #9  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Даже учитывая то, что активно работали всего с двумя вендорами, через полгода накопилось по паре десятков значений для каждого основного цвета радуги: Blue, Light blue, Dark blue, Navy blue, Sea blue, Sky blue и т.д., не говоря уже о сочетаниях основных цветов: Blue Red, Blue Black, Red Blue (!) и т.д.
Так я про это и говорю - в большинстве из них присутствует корень основного цвета (blue), а значит их легко можно по нему сгруппировать.
Старый 28.05.2010, 09:53   #10  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
На эту переписку у вас вчера вечером и сегодня утром ушло суммарно 3-4 часа. За это время вполне можно перелопатить 1200 цветов вручную в Аксапте, а уж в Экселе точно, силами даже одного человека, главное чтобы у этого человека не солома была в голове. Не надо усложнять себе задачу - я думаю у вас работы и так хватает.
Старый 28.05.2010, 10:03   #11  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
А вот такой вопрос про цвета, но в другой плоскости.
Не делал ли кто-то что-то подобное.

Исходные данные:
+ Например, в каком-то гриде много колонок. У пользователей от этого пестрит в глазах, работать не слишком удобно.
+ При этом все колонки важны для работы, то есть скрывать их пользователи не будут.
+ С этой формой работает несколько пользователей, и для каждого особенно важны в работе данные в какой-то одной (для простоты) колонке, с которой он в основном каким-то образом работает

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

PS Будь у меня бюджет на аутсорсинг, я бы за такое даже заплатил. Но увы.

Последний раз редактировалось Bober; 28.05.2010 в 10:05.
Старый 28.05.2010, 10:14   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Bober Посмотреть сообщение
Задача:
+ сделать для каждого пользователя возможность раскрасить нужную ему колонку в выбранный им самим цвет.
Пусть перемещают важные для них колонки влево. Чем важнее, тем левее.

Не надо раскрашивать - такие тесты Росшарха получаются.
__________________
полезное на axForum, github, vk, coub.
Старый 28.05.2010, 10:20   #13  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Thumbs up Формула массива в Excel
Цитата:
Сообщение от Андре Посмотреть сообщение
Значит можно попробовать сгруппировать все цвета по вхождению в них корней наиболее распространенных 7-8 цветов: "син", "красн", "зел", "черн", "бел" ..
Идея мне очень понравилась. Поэтому в дополнение к своим тезисам о сортировках в Excel предлагаю формулу массива, которую следует ввести в ячейку B1 (название цвета предполагается в A1). И в этой ячейки отобразится название "базового" цвета. При вводе следует использовать комбинацию клавиш Shift+Ctrl+Enter (а не просто Enter). После ввода формулы в B1 ее можно распространить на другие ячейки колонки B обычным копированием:

Формула массива ищет 14 цветов, которые мне пришли в голову: "радуга" + еще несколько. При желании список легко расширяем. Привожу версию формулы в английской и русской версии Excel (установленный разделитель списка - запятая):
Код:
=CHOOSE( MIN( IF( NOT( ISERR( SEARCH(
{"кра","ора","жел","зел","гол","син","фио","бел","сер","чер","кор","беж","роз","сир"},
A1))),{1,2,3,4,5,6,7,8,9,10,11,12,13,14},9999)),
"красный","оранжевый","желтый","зеленый","голубой","синий","фиолетовый","белый","серый","черный","коричневый","бежевый","розовый","сиреневый")

=ВЫБОР( МИН( ЕСЛИ( НЕ( ЕОШ( ПОИСК(
{"кра";"ора";"жел";"зел";"гол";"син";"фио";"бел";"сер";"чер";"кор";"беж";"роз";"сир"},
A1))),{1;2;3;4;5;6;7;8;9;10;11;12;13;14},9999)),
"красный","оранжевый","желтый","зеленый","голубой","синий","фиолетовый","белый","серый","черный","коричневый","бежевый","розовый","сиреневый")
Для удобства визуального восприятия я вставил пробелы и добавил переносы строк.

Чтобы не париться с ручным вводом (а также с выяснением региональных настроек), прилагаю файл, в котором эта формула уже введена (см. ячейки колонки B). Обратите внимание, что 4 последних строки - по желанию заказчика Также обратите внимание, что "синекрасный" цвет детектируется как "красный", так как "кра" находится левее в списке выбора.

P.S. А для ситуации, когда в одной ячейке встречаются два базовых цвета ("син" и "кра" - в синекрасном), предлагается сигнальная формула в ячейке C1, подсчитывающая кол-во базовых цветов. В подавляющем большинстве значением будет 1. А на значения больше 1 надо будет обратить повышенное внимание (файл Excel обновил).
Код:
=СУММ( ЕСЛИ( НЕ( ЕОШ( ПОИСК(
{"кра";"ора";"жел";"зел";"гол";"син";"фио";"бел";"сер";"чер";"кор";"беж";"роз";"сир"},
A1))),1,0))
Благодаря этой второй формуле заметил, что формулы можно ввести и как обычные (не массива). Дело в том, что когда я эти формулы конструировал, то промежуточные варианты требовали "массивный" ввод. Но поскольку в окончательных версиях появились агрегирующие функции МИН и СУММ, возвращающие одно значение, то необходимость в массиве отпала Т.е. можно вводить, нажимая просто Enter.
Вложения
Тип файла: xls ColorFormula.xls (37.5 Кб, 170 просмотров)

Последний раз редактировалось Gustav; 28.05.2010 в 12:13.
За это сообщение автора поблагодарили: Андре (2), Just_smile (1).
Старый 28.05.2010, 10:31   #14  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
в функции нечеткого поиска кода с 3 копейки, за то же время можно было ее и в виде макроса в Ёкселе сделать и с синекрасным она бы лучше справилась
Базовых цветов у них планируется, не 7, не 14 и даже не 49, а около 100, что ручную обработку значительно усложняет.
Старый 28.05.2010, 11:05   #15  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Wamr Посмотреть сообщение
в функции нечеткого поиска кода с 3 копейки, за то же время можно было ее и в виде макроса в Ёкселе сделать и с синекрасным она бы лучше справилась
Ой ли? Насколько мне известно (смотрел ее ранее по другому вопросу) она возвращает так называемую "релевантность совпадения" (что-то типа вероятности - от 0 до 1). Ну, и что будет с того, что, например, для синекрасного она вернет степень совпадения с красным, скажем, 83%. Вам стало легче? Таким образом, начинаются эксперименты с интерпретацией результатов, которые могут затянуться.
Цитата:
Сообщение от Wamr Посмотреть сообщение
Базовых цветов у них планируется, не 7, не 14 и даже не 49, а около 100, что ручную обработку значительно усложняет.
49 и 100 не получится ввести в формулу, так как лимит на список аргументов, вроде, 30 штук. Но если первоначальные 1200 значений разобьются более-мене прилично пусть даже и всего на 14 карманов, уже будет легче - в среднем меньше 100 значений в кармане. Далее внутри кармана врубаем сортировку и разбираемся по "понятиям", в смысле по оттенкам базового цвета ("темно-", "светло-" и т.п.).

P.S. А впрочем соглашусь, что попробовать нечеткий поиск было бы интересно. Получается, что нужно будет в цикле перебрать 1200 "мусорных" цветов, сопоставляя их в другом цикле с 100 "правильными" цветами. У какого "правильного" цвета релевантность будет самая высокая, тот и считать сопоставленным для данного "мусорного" цвета. Конечно, возможны "проблемы" в результатах и их все равно придется отсмотреть. Под проблемами я понимаю, в первую очередь, несколько одинаковых максимальных релевантностей, для которых нужно будет определиться со стратегией выбора одного цвета, а также различные неожиданные результаты. Но интересно, интересно!

Код VBA (Access) для нечеткого поиска, который можно поместить в Excel, приводится в сообщении Андре про "источник идеи": Функция нечеткого сравнения строк. Т.е. собственно "поисковый" код имеется, осталось оформить циклы.

Последний раз редактировалось Gustav; 28.05.2010 в 12:17.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Справочник банков twilight DAX: Функционал 17 16.12.2013 11:43
Насущное - справочник номенклатуры. Операторы делают массу ошибок. Что делать? zzerf DAX: Функционал 24 13.12.2007 11:18
справочник цветов Nikolaich DAX: Функционал 1 13.04.2005 10:29
Справочник выходныхдней в расчетах....? откуда можно загружать ShadowFromXZone DAX: Функционал 1 17.09.2004 18:37
Справочник цехов tolstjak DAX: Функционал 9 05.03.2003 11:37

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

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

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