Текущее время: Сб, авг 23 2025, 20:04

Часовой пояс: 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 часа


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

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


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

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