Текущее время: Чт, авг 28 2025, 00:25

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Crystal Reports: фильтр данных при группировке
СообщениеДобавлено: Вт, сен 02 2014, 14:05 
Начинающий
Начинающий

Зарегистрирован:
Вт, сен 02 2014, 13:08
Сообщения: 3
Добрый день.

Помогите пж с решением возникшей проблемы.
Есть данные, к примеру, есть оборудование, которое группируем по полю КНБК. Оборудование имеет код и диапазон значений. Диапазоны значений для всех элементов входящих в каждую из КНБК всегда одинаково.
КНБК1
КБ 0 20
КД 0 20
КЛ 0 20

КНБК2
КБ 20 30
ДД 20 30
ДД 20 30
КУ 20 30

КНБК3
ДД 50 75
КУ 50 75
КН 50 75
КЖ 50 75
КЦ 50 75

Нужно получить сумму разностей диапазонов для всех групп КНБК, в состав которых не входит элемент с кодом ДД. То есть ответ 20.

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

Если поможет, то вот так это выглядит в SQL в результате получаю просто список разностей для каждой группы, не содержащей ДД:
SELECT a.assembly_id, a.md_out - a.md_in
FROM DM_BHA_RUN a
WHERE a.assembly_id NOT IN (
SELECT DISTINCT b.assembly_id
FROM CD_ASSEMBLY_COMP b
WHERE b.sect_type_code = 'ДД')
order by a.assembly_id


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Crystal Reports: фильтр данных при группировке
СообщениеДобавлено: Вт, сен 02 2014, 16:33 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Давненько не пользовал CR. В памяти осталась еще независимая от SAP версия 8.5. Но такую фильтрацию реализовывал. По памяти только, могу ошибиться, но прицип изложу. Вводится например булева переменная. Во время чтения записей анализируется поле фильтрации. Если попадается ненужная запись, то переменная выставляется в 1. На условие отображения группы указывается введенная переменная = 0. Ну и во время печати шапки группы надо прописать обнуление переменной. В той поставке CR был пример на скрытие группы. Хлопотно это в принципе. Если требуются вычисления по отображаемым записям, то то же програмно считать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Crystal Reports: фильтр данных при группировке
СообщениеДобавлено: Ср, сен 03 2014, 08:59 
Начинающий
Начинающий

Зарегистрирован:
Вт, сен 02 2014, 13:08
Сообщения: 3
Благодарю за Ваш ответ, только, наверное, в этом и есть основная проблема: где или как можно воздействовать на группу?
На свякий случай, у меня CR2013. Но любые подсказки помогут.

Функций для работы с групой я не нашла. Я могу только задавать правила группировки, но не фильтровать отображение групп в зависимости от входящих в нее данных. Или я ошибаюсь?)))


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Crystal Reports: фильтр данных при группировке
СообщениеДобавлено: Ср, сен 03 2014, 12:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Не знаю поможет ли , но CR под рукой нет и не будет - то что помню
http://flylib.com/books/en/4.229.1.35/1/ - в конце текста примеры формул примерно на эту тему - надо немного доработать
а секция скрывается по формуле - см. рис.10
http://htr.io/parus/f/Parus7_Crystal_Reports.html Suppres и там формулу можно ввести CountCustomer <> 0 а записи так анализировать
Code:
If {Orders.Order Amount} = 'ДД' Then
(CountCustomer :=  1;
- это так раньше было в 8.5, сейчас не знаю, ну и обнуление надо не забыть - вот эта фраза
Code:
@Reset Group Bonus is placed in the group header and suppressed:
WhilePrintingRecords;
NumberVar CountCustomer := 0;

CountCustomer это для примера - вам надо свое поле анализировать на совпадение с ненужным названием и если хоть одно поле такое есть то как в примере CountCustomer станет не равным 0 и секция должна скрыться. Можно еще вариант с субрепортами посмотреть - но тормозить сильно будет


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Crystal Reports: фильтр данных при группировке
СообщениеДобавлено: Ср, сен 03 2014, 14:45 
Начинающий
Начинающий

Зарегистрирован:
Вт, сен 02 2014, 13:08
Сообщения: 3
Помогли, заработало: http://scn.sap.com/message/15346943#15346943

Try this:

1) Create a formula called (@LL) with this code:
If {sect_type_code} startswith 'LL' or left(sect_type_code,2) = 'LL' then 1

2) Go to Report > Selection Formulas > Group and use this code:
Sum({@LL}, {Group_Field}) = 0

Replace {Group_Field} with the field you've used as the Group on the report.


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

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


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

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


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

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