Текущее время: Вс, июн 22 2025, 23:35

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Пн, май 06 2013, 14:24 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 08 2013, 16:42
Сообщения: 50
Откуда: саратов
Пол: Женский
Добрый день.

я применяю формулу в BEX для вычисления суммы.

допустим что в кубе находятся KeyFigures : KF1, KF2, KF3
KF1 - € (например 100€)
KF2 - € (например 1000€)
KF3 - Factor (%)(например 30%) 0,3

искомое значение: V = KF1 + KF2*KF3

проблема приходит при агрегации:

Query-Formula вычисляет:
V = (KF1(1)+KF1(2)+KF1(3)) + (KF2(1)+KF2(2)+KF2(3)) *(KF3(1)+KF3(2)+KF3(3))

а правильно:
V = (KF1(1) + KF2(1)*KF3(1))+(KF1(2) + KF2(2)*KF3(2))+(KF1(3) + KF2(3)*KF3(3))

можно это както настроить?
(в примере агрегация трёх строк) (1)=строка 1, (2)=строка 2, (3)=строка 3


заранее спасибо
Юлия


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Вт, май 14 2013, 23:41 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 13 2005, 10:41
Сообщения: 558
Откуда: Гондурас (округ Москвы)
Пол: Мужской
это "классика"... вам нужен расчет до агрегации.
если у вас SAP BW 7.x, то надо определить тот уровень, агрегация на котором вас устраивает, например у вас
есть чек с позициями, то есть ID чека и N позиции и необходимо произвести расчет на уровне позиции чека.

В этом случае задаете локальный расчетный показатель, KF_00 = X+Y*Z, в свойствах агрегации задаете SUM на признаке "N позиции чека", после этого сохраняете и создаете второй локальный расчетный показатель KF_01 = KF_00, в свойствах агрегации указываете SUM на признаке "ID чека".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Ср, май 15 2013, 10:48 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 08 2013, 16:42
Сообщения: 50
Откуда: саратов
Пол: Женский
в Вашем примере позиция в чеке однозначно привязана к номеру чека.

А как быть если два поля какбы независимы
например если в "ключе" SALESORG и PLANT

как организовать вычисление до агрегации по этим полям?

понятно что можно организовать виртуальные KeyFigures, но хотелосьбы попроще


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Ср, май 15 2013, 11:19 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Ср, май 15 2013, 22:42 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 13 2005, 10:41
Сообщения: 558
Откуда: Гондурас (округ Москвы)
Пол: Мужской
Юля, я привел пример реализации расчета до агрегации и показал, как это делать.
основная идея заключается в том, что (как замечено было выше) необходимо реализовать расчетные показатели с вложенной спец.агрегацией, чтобы получить корректный результат расчета.
Если вы не можете этого сделать, значит возвращаетесь на шаг моделирования.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Чт, май 16 2013, 16:46 
Ассистент
Ассистент

Зарегистрирован:
Чт, фев 26 2009, 00:21
Сообщения: 41
Если время выполнения запроса позволяет, можно сделать 2 переменные типа путь замены для 0plant и 0salesorg (замена на 1) и в формуле пишем V = пер1 (путь замены 0plant)*пер1 (путь замены 0salesorg)* (KF1 + KF2*KF3). Считать будет дольше, но так как надо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Чт, май 16 2013, 19:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вс, янв 11 2009, 14:41
Сообщения: 902
Откуда: Москва
Пол: Мужской
qwert_AG написал(а):
Если время выполнения запроса позволяет, можно сделать 2 переменные типа путь замены для 0plant и 0salesorg (замена на 1) и в формуле пишем V = пер1 (путь замены 0plant)*пер1 (путь замены 0salesorg)* (KF1 + KF2*KF3). Считать будет дольше, но так как надо.
Переменные замены допустимы, если эти признаки присутствуют в развертке, но если бы они присутствовали в развертке, то вопрос бы скорее всего вообще не возник и топика бы не было. Поэтому только вложенная спецагрегация.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BEX / Formula / как изменить последовательность суммирования
СообщениеДобавлено: Пт, май 17 2013, 00:08 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, фев 08 2013, 16:42
Сообщения: 50
Откуда: саратов
Пол: Женский
===Поэтому только вложенная спецагрегация.===

Можно поподробней о вложеной спецагрегации применительно у этому примеру.

правильно ли так:

Step1. создаём calculated KF (C1KF1) для KF1 и выбираем спецагрегацию по 0PLANT
Step2. создаём calculated KF (C2KF1) для (C1KF1) и выбираем спецагрегацию по 0SALESORG
???

или

Step1. создаём calculated KF (C1KF1) для KF1 и выбираем спецагрегацию по 0PLANT
Step2. создаём calculated KF (C1KF2) для KF2 и выбираем спецагрегацию по 0SALESORG
???

или ещо както?

надо также предотвратить суммирование процентов KF3

давайте для простоты предположим что куб состоит из 0COMPANY, 0PLANT, 0SALESORG, KF1, KF2, KF3

и надо выдать два столбца в Query:
0COMPANY + результат V = KF1 + KF2*KF3

V должно вычисляться V = (KF1(1) + KF2(1)*KF3(1))+(KF1(2) + KF2(2)*KF3(2))+(KF1(3) + KF2(3)*KF3(3))


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

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


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

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


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

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