Текущее время: Пт, авг 08 2025, 01:38

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Query Designer формула
СообщениеДобавлено: Пт, май 18 2012, 13:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 01 2012, 15:22
Сообщения: 154
Всем привет! Кто-нибудь сможет объяснить что в этой формуле происходит? Где тут "Если" , где "То". Где условие, а где результат?

Max( ABS(A) , ABS (B) ) * ((A==0) * ((B>0) - (B<0)) + (A<>0) * ((A>0) - (A<0))) - C


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Query Designer формула
СообщениеДобавлено: Пт, май 18 2012, 13:53 
Модератор
Модератор

Зарегистрирован:
Чт, окт 21 2010, 08:48
Сообщения: 128
(Если A > B - то A иначе B)*
( (Если А==0 То 1 иначе 0)*((Если B>0 то 1 иначе 0) - (Если B < 0 то 1 иначе 0))
+ (Если А <> 0 то 1 иначе 0)*((Если А>0 то 1 иначе 0) - (Если А < 0 то 1 иначе 0)))
- С

В общем берём максимальное значение от А и Б и умножаем его на
Если А = 0 то в зависимости от Б (Если больше 0 на 1 ) если меньше то -1
Если А <> 0 то в зависимости от А(Если больше 0 на 1 ) если меньше то -1
И отнимаем С


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Query Designer формула  Тема решена
СообщениеДобавлено: Пт, май 18 2012, 13:55 
Почетный гуру
Почетный гуру

Зарегистрирован:
Чт, фев 03 2005, 10:18
Сообщения: 503
Code:
Если А = 0 , то
       Если B > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Иначе
            Max( ABS(A) , ABS (B) ) * -1 - С
       КонецЕсли
Иначе
       Если А > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Иначе
            Max( ABS(A) , ABS (B) ) * -1 - С
       КонецЕсли           
КонецЕсли

Вроде так.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Designer формула
СообщениеДобавлено: Пт, май 18 2012, 14:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 01 2012, 15:22
Сообщения: 154
:shock: Не ожидал таких быстрых и понятных ответов. Спасибо большое!!!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Query Designer формула
СообщениеДобавлено: Пн, май 21 2012, 09:02 
Специалист
Специалист

Зарегистрирован:
Пн, дек 12 2011, 08:57
Сообщения: 128
Откуда: Самара
Пол: Мужской
Air_demon написал(а):
Code:
Если А = 0 , то
       Если B > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Иначе
            Max( ABS(A) , ABS (B) ) * -1 - С
       КонецЕсли
Иначе
       Если А > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Иначе
            Max( ABS(A) , ABS (B) ) * -1 - С
       КонецЕсли           
КонецЕсли

Вроде так.

Извините, а разве в ветке где идет проверка на А = 0 есть блок "иначе" для значения B?
Code:
Если А = 0 , то
       Если B > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Если B < 0, то
            Max( ABS(A) , ABS (B) ) * -1 - С
       Если B = 0, то
            Max( ABS(A) , ABS (B) ) * 0 - С
       КонецЕсли
Иначе
       Если А > 0 , то
            Max( ABS(A) , ABS (B) ) * 1 - С
       Иначе
            Max( ABS(A) , ABS (B) ) * -1 - С
       КонецЕсли           
КонецЕсли


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Query Designer формула
СообщениеДобавлено: Пн, май 21 2012, 10:09 
Почетный гуру
Почетный гуру

Зарегистрирован:
Чт, фев 03 2005, 10:18
Сообщения: 503
ski написал:
Извините, а разве в ветке где идет проверка на А = 0 есть блок "иначе" для значения B?

Да, пропустил проверку на 0.
Но результате выполнения функции Max( ABS(A) , ABS (B) ), где А=0 и В=0 все равно был бы 0 и таким образом общий результат -С


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

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


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

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


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

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