Текущее время: Чт, мар 28 2024, 11:02

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Композитный провайдер, соединение с историческим справочником.
СообщениеДобавлено: Ср, окт 28 2015, 14:36 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 28 2015, 14:03
Сообщения: 3
Добрый день Всем!
Недавно изучаю SAP BW, понадобился отчет в Bex на композитном провайдере, в котором есть два обьекта, например заказ(поля: дата, товар) и прайс-лист(товар,цена, дата_с, дата_по), в sql
соединить просто:
Code:
select * from заказ,прайс-лист where заказ.товар=прайс-лист.товар(+) and заказ.дата between прайс-лист.дата_с(+) and прайс-лист.дата_по(+)

но в sap можно сделать только outer join:заказ.товар=прайс-лист.товар(+), а вот по дате с between никак или не знаю. Возможно в провайдере сделать join только по товару, а в Bex сделать фильтр заказ.дата between прайс-лист.дата_с and прайс-лист.дата_по, но и тут пока не понимаю как. Подскажите как решают такие соединения.


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

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
Вот как бы я не стал делать... :D

DSO_1:
материал
дата

DSO_2:
материал
дата_с
дата_по
цена (пусть будет показатель, потому что так делать не стоит)

INFOSET:
DSO_1 left outer join DSO_2 по материалу

Query:
В строках (все признаки без итогов):
Материал
Дата
Дата_с (скрыть)
Дата_по (скрыть)

В столбцах:
NODIM(Цена)*Формула на переменных замены
Цена (скрыть)
Формула на переменных замены (скрыть): (DATE_FROM <= DATE and DATE <= DATE_TO) or ((DATE_FROM + DATE_TO) == 0)

Условие:
Формула на переменных замены > 0
в разрезе:
Материал
День
Дата_с
Дата_по

DSO_1:
Материал Дата
1 10.01.2015
2 10.01.2015
2 15.01.2015
2 20.01.2015

DSO_2:
Материал Дата_с Цена Дата_по
2 05.01.2015 70,00 11.01.2015
2 12.01.2015 100,00 16.01.2015

Результат:
Материал Календарный день Цена
1 10.01.2015 0
2 10.01.2015 70
2 15.01.2015 100


Последний раз редактировалось murmur Ср, окт 28 2015, 17:37, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Композитный провайдер, соединение с историческим справочником.
СообщениеДобавлено: Ср, окт 28 2015, 17:07 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 28 2015, 14:03
Сообщения: 3
Спасибо.
Несколько смущает 'неполный' join, фильтровать придется [товар X на всю историю по товару] строк на стороне апп-сервера, ну да ладно. А в итогах скрытые строки учитываются?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Композитный провайдер, соединение с историческим справочником.
СообщениеДобавлено: Ср, окт 28 2015, 17:30 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
В итогах скрытые строки учитываются

Я же написал, что так делать не надо (хотя ОНО и работает)... 8)

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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