Текущее время: Вт, июл 29 2025, 08:26

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Альтернативный календарь
СообщениеДобавлено: Пн, апр 07 2014, 12:39 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Коллеги, поделитесь опытом.

Необходимо создать два альтернативных календаря по неделям.

Например: я продал Товар Х 30-го декабря 2012 года. Этот факт должен быть отнесен одновременно на две недели - на последнюю неделю 2012-года и на первую неделю 2013 года. В отчете пользователь выбирает какой вариант календаря он хочет посмотреть и в соответствии с его выбором меняются цифры - в моем примере результаты продаж.

кто решал похожую задачу - отзовитесь. Спасибо :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Пн, апр 07 2014, 13:54 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Заводим признак "Вариант календаря" со значениями:
1 - Первый вариант
2 - Второй вариант

При заполнении в трансформации этого признака, если запись должна быть отнесена к Первому варианту, пишем 1, если ко-второму - пишем 2, если к обоим - пишем 3 (т.к. по битовой логике 1+2 = 3)

В самом отчете заводим две переменные
- переменную для ввода (не на признаке - просто числовую)
- переменную множественного выбора USER-EXIT (на признаке "Вариант календаря"). В расширении ее обрабатываем таким образом: если пользователь ввел 1 в первой переменной, то вторая переменная заполняется значениями 1 и 3, если пользователь ввел 2 в первой переменной, то вторая переменная заполняется значениями 2 и 3

PS: И с вас тоже 1000 руб. коту на молочко


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Пн, апр 07 2014, 16:32 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Да, такой вариант рассматривался :) Но у него есть один небольшой минус - приходится размножать данные. Такие образом данные по каждой продаже необходимо записывать на вариант 1 и вариант 2, что увеличивает объем записей в БД.

Хотелось бы как-то избежать этого размножения...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Пн, апр 07 2014, 21:21 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Тот вариант, который я привел, как раз не требует размножения строк, но возможно, что он вам и не подойдет и не решит проблему. Не совсем понятно какие все-таки параметры должен выбрать пользователь в отчете и чего получить на выходе


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Вт, апр 08 2014, 10:21 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Должна быть возможность смотреть данные в разрезе обоих календарей. Т.е. пользователь на селекционном экране выбирает как он хочет смотреть.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Вт, апр 08 2014, 11:40 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Что в вашем понимании сам календарь и что представляет собой разрез календаря?

Условно предположим вы загрузили строчку 30.12.2012 Продано 100 шт и размножили ее, превратив в

30.12.2012 Продано 100 шт Оригинал
01.01.2013 Продано 100 шт Виртуал

где Оригинал - соответствует оригинальным записям, Виртуал - сгенерированным. Тогда, при формировании отчета, вы можете указать в качестве параметров отчета:

- Год
- Вариант (1 или 2)

При этом выбор 1 приведет к тому, что отчет будет выбирать данные только со значением Оригинал, а выбор варианта 2 - выберет записи Оригинал и Виртуал.

Это я привел некий абстрактный пример. Может на самом деле вам нужно получать отчеты по таким ограничениям:

- Год (интервал)
- Вариант (1 или 2)

и тут картина резко меняется и размножение не поможет. Чтобы вам ответили точно, надо задавать ясный и конкретный ответ. "Должна быть возможность смотреть данные в разрезе обоих календарей" - это не конкретно!

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

29.12.2012 Продано 50 шт 1
30.12.2012 Продано 100 шт 3, где 3 = 1+2
01.01.2013 Продано 30 шт 2

Записи в этом варианте не размножены. Мы можем получить данные по условиям:

- только 1 (записи за 2012 год - вариант календаря 1)
- 1 и 3 (записи за 2012 год - вариант календаря 2)

- только 2 (записи за 2013 год - вариант календаря 1)
- 2 и 3 (записи за 2013 год - вариант календаря 2)

- 1 и 2 (интервал 2012-2013 год - вариант календаря 1 - возможно бессмысленный запрос!!!)
- 1, 2, 3 (интервал 2012-2013 год - вариант календаря 2)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Вт, апр 08 2014, 15:38 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Не совсем понял откуда в примере цифры 50 и 30? В изначальном варианте у нас была одна продажа на 100 шт. :?:


Цитата:
29.12.2012 Продано 50 шт 1
30.12.2012 Продано 100 шт 3, где 3 = 1+2
01.01.2013 Продано 30 шт 2


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Альтернативный календарь
СообщениеДобавлено: Вт, апр 22 2014, 13:11 
Ассистент
Ассистент

Зарегистрирован:
Чт, фев 26 2009, 00:21
Сообщения: 41
Tiktuger написал:
Коллеги, поделитесь опытом.

Необходимо создать два альтернативных календаря по неделям.

Например: я продал Товар Х 30-го декабря 2012 года. Этот факт должен быть отнесен одновременно на две недели - на последнюю неделю 2012-года и на первую неделю 2013 года. В отчете пользователь выбирает какой вариант календаря он хочет посмотреть и в соответствии с его выбором меняются цифры - в моем примере результаты продаж.

кто решал похожую задачу - отзовитесь. Спасибо :)

А что-нибудь мешает создать новый признак ZCALWEEK и заполнять 0calweek стандартом, чтобы не возникало неконсист. информации в кубе, а ZCALWEEK - как душе угодно? Размножать строки не придется, ограничения ставятся через user-exit, вопрос только с разверткой в отчете - устроит что есть 2 признака?


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB