[ОТВЕТИТЬ]
Опции темы
29.07.2014 10:39  
Starter
Цитата:
Сообщение от svtl
Прописывать код конкретной группы в поля задачи - не есть хорошо.
Почему же нехорошо ? Бизнес анализ для того и создан, чтобы решать нестандартные хотелки пользователей.
 
29.07.2014 11:03  
svtl
Цитата:
Сообщение от Starter
Почему же нехорошо ? Бизнес анализ для того и создан, чтобы решать нестандартные хотелки пользователей.
по-моему, мы друг друга не поняли. Сегодня - бакалея, завтра - молоко и т.п. Конкретная группа будет меняться, это очевидно. И каждый раз править код - нерационально. а если одному нужно посмотреть от Бакалеи, второму - от Молока, третьему - от Рыбы - создавать 3 разных задачи?
Внести выбор основной группы классификатора в фильтр можно, но поменять саму форму фильтра не получится, т.е. доп. поле фильтра - это будет поле, куда в формате строки будет вносится путь группы. Тогда внутри по decode можно сделать обработку и группировку. Вопрос - насколько это надо и удобство ввода.

По-поводу кросс-таблицы. Исходя из постановки конкретной задачи (реализация за период) мне показалось более логичным сделать крос-таблицу, в которой первый столбец - список кассиров, а раскладка вправо - по группам. И последний столбец - итог по группам. Тогда в реультате можно столбец с нужной группой классификатора подвинуть влево, сделав его первым. И после выгрузки в Excel добавить столбец суммы по прочим группам.
 
"Спасибо" svtl от:
29.07.2014 11:06  
Aligator
Цитата:
Сообщение от Starter
Можно, кстати, слегка усложнить задачу - в виде кросс таблицы и выводить еще и в разбивке по датам (месяцам, неделям, и пр.).
Вообще шикарно!
А вот подскажите пожалуйста как указать другую группу в задаче?
К примеру хочу основной сделать куриную продукцию:


ставлю вот так:
decode (supermag.Classifier.GETTITLEBYPATH(supermag.Classifier.GETTREEPREFIX({Группа классификатора карточки. Путь}, 1), 'sacardclass'),'3.6. Куриная Продукция,' Куриная Продукция','Прочее')

Тогда показывается в отчете только строка "Прочее"
Миниатюры
Нажмите на изображение для увеличения
Название: Image 1185.png
Просмотров: 513
Размер:	10.9 Кб
ID:	3825  
 
29.07.2014 11:50  
svtl
decode (supermag.Classifier.GETTITLEBYPATH(supermag.Classifier.GETTREEPREFIX({Группа классификатора карточки. Путь}, 1), 'sacardclass'),'Куриная Продукция',' Куриная Продукция','Прочее')

попробуйте так.
т.е. у вас
supermag.Classifier.GETTITLEBYPATH(supermag.Classifier.GETTREEPREFIX({Группа классификатора карточки. Путь}, 1), 'sacardclass')
выдает не 3.6.Куриная продукция, а просто название группы.
 
"Спасибо" svtl от:
29.07.2014 12:35  
Starter
Цитата:
Сообщение от svtl
по-моему, мы друг друга не поняли. Сегодня - бакалея, завтра - молоко и т.п. Конкретная группа будет меняться, это очевидно. И каждый раз править код - нерационально. а если одному нужно посмотреть от Бакалеи, второму - от Молока, третьему - от Рыбы - создавать 3 разных задачи?
Внести выбор основной группы классификатора в фильтр можно, но поменять саму форму фильтра не получится, т.е. доп. поле фильтра - это будет поле, куда в формате строки будет вносится путь группы. Тогда внутри по decode можно сделать обработку и группировку. Вопрос - насколько это надо и удобство ввода.

По-поводу кросс-таблицы. Исходя из постановки конкретной задачи (реализация за период) мне показалось более логичным сделать крос-таблицу, в которой первый столбец - список кассиров, а раскладка вправо - по группам. И последний столбец - итог по группам. Тогда в реультате можно столбец с нужной группой классификатора подвинуть влево, сделав его первым. И после выгрузки в Excel добавить столбец суммы по прочим группам.
Если исходить из того, что сегодня бакалея, завтра молоко, тогда разумеется, неразумно. Тогда нужно просто группы, дальнейшая обработка - в экселе, суммированием прочих полей.
И можно поподробнее - про:
"Внести выбор основной группы классификатора в фильтр можно, но поменять саму форму фильтра не получится, т.е. доп. поле фильтра - это будет поле, куда в формате строки будет вносится путь группы. Тогда внутри по decode можно сделать обработку и группировку. Вопрос - насколько это надо и удобство ввода."
Как сделать доп. поле фильтра (пусть даже и в формате строки), которое затем как то можно будет обработать. Т.е. как еще можно получить в задаче всего две строки - одна - группа (из фильтра), вторая - все остальное. Не прописывая жестко в коде название группы.

Ну и вообще интересно - а зачем нужна такая задача ? Т.е. какова была изначально постановка задачи от конечного пользователя ? Реализация по группам в разрезе кассиров - как то непонятно, зачем может пригодиться.
 
"Спасибо" Starter от:
29.07.2014 21:33  
svtl
Цитата:
Сообщение от Starter
И можно поподробнее - про:
"Внести выбор основной группы классификатора в фильтр можно, но поменять саму форму фильтра не получится, т.е. доп. поле фильтра - это будет поле, куда в формате строки будет вносится путь группы. Тогда внутри по decode можно сделать обработку и группировку. Вопрос - насколько это надо и удобство ввода."
Как сделать доп. поле фильтра (пусть даже и в формате строки), которое затем как то можно будет обработать. Т.е. как еще можно получить в задаче всего две строки - одна - группа (из фильтра), вторая - все остальное. Не прописывая жестко в коде название группы.
ну, например, создать поле "Путь выбранной группы", в котором значения будут типа такого
select tree from supermag.sacardclass where length(supermag.Classifier.NormalizeClassif(tree) = 8
т.е. это пути групп второго уровня, так?
Затем в фильтр добавляем поле задачи "Путь выбранной группы",
тип строка, вносить надо будет, например, равно 6.2.
В decode пишем обработку - если путь второго уровня (тот, где функция - префикс) равен значению "Путь выбранной группы", то название группы будет нужное (Бакалея там, птица и пр.), иначе - прочие.
Это навскидку, по памяти. Я не проверяла. Но, по идее, должно получится.
А дальше уже дело фантазии - как лучше доп. фильтр сделать.
 
30.07.2014 10:23  
Starter
А можно все же на примере задачи продемонстрировать ?
Просто есть некоторые сомнения, что взлетит. Хотя очень бы хотелось, по сути дела, такая манипуляция - передача параметров в задачу бизнес анализа.
Но, к сожалению, есть несколько моментов:
1. поле "Путь выбранной группы" сделать мы можем. В фильтр добавить поле задачи также можно. но при внесении условия фильтра равно 6.2 у нас будут отбираться только те товары, у которых этот путь 6.2. а нужно отбирать все. Это обойти можно, добавить какое нибудь поле, тип строка, с фиксированным содержанием, условие фильтра - НЕ СОДЕРЖИТ. и вписывать то, что нужно. тогда отберутся все карточки. Но встает основная проблема:
2. как в формулах использовать фильтр по произвольным полям. В СМ+ есть кнопка "добавить условие фильтра", но количество доступных полей там крайне ограничено.

Хотелось бы чтобы я ошибался, поэтому просьба - попробовать сделать задачу, т.е. проверить теоретические выкладки.
 
"Спасибо" Starter от:
30.07.2014 11:10  
svtl
Да, вы правы. Это я погорячилась. при любом раскладе только внутри нужно вносить нужный путь группы.
И если не в decode, то решения средствами БА нет. Красивого, по крайней мере.
Можно поизвращаться, где-то в доп.свойствах чего-либо - типа МХ - сделать параметр, его запрашивать из задачи через функцию и в decode с ним сравнивать путь группы... Но это очень криво, и опять же - один параметр для всех пользователей...
 
30.07.2014 11:22  
Starter
Жалко. Остается только ждать, пока Сервис+ добавит в БА возможность указания входных параметров и их дальнейшего использования в задаче.
 
08.10.2015 14:01  
hells
[QUOTE=Starter;181309]Можно, кстати, слегка усложнить задачу - в виде кросс таблицы и выводить еще и в разбивке по датам (месяцам, неделям, и пр.).

типа:



Может кто то знает, как это реализовать в БА, чтобы суммировались даты и отображался месяц???
 
 


Опции темы



Часовой пояс GMT +3, время: 09:00.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.