2013-05-23 1 views
1

У меня есть отчет, который должен иметь следующую структуру:Подавить заголовок в кристалле подотчете Сообщить

Group A.1 
    Header 1 
    Record Q.1 
    Record Q.2 
    Header 2 
    Record P.1 
Group A.2 
    Header 1 
    Record Q.3 
    Header 2 
    Record P.2 
    Record P.3 
.... 

Однако ват я постоянно получаю это:

Group A.1 
    Header 1 
    Record Q.1 
    Header 1 
    Record Q.2 
    Header 2 
    Record P.1 
Group A.2 
    Header 1 
    Record Q.3 
    Header 2 
    Record P.2 
    Header 2 
    Record P.3 
.... 

Мои данные поступают из двух наборов данных, которые связаны вместе с групповым ключом (A). Я попытался с двумя дополнительными отчетами в разделе сведений группы. Подсчет представляется для каждой записи (Q.1 и), что имеет смысл. Однако я хотел бы подавить заголовок для каждой записи, кроме первой. Я не могу понять, как это сделать.

Я пробовал без подписок, но не знаю, как определить внутри раздела сведений, есть ли у меня первая запись (Q.1) или вторая().

Я также попытался создать две дополнительные смежные подгруппы вместо вложенных групп, но это вообще не представляется возможным. Я могу только удерживать вложенные подгруппы, не помещая подгруппы рядом друг с другом.

Мои данные структурированы следующим образом (из базы данных Oracle):

Dataset 1      Dataset 2 
Group A.1 | Record Q.1   Group A.1 | Record P.1 
Group A.1 | Record Q.2   Group A.2 | Record P.2 
Group A.2 | Record Q.3   Group A.2 | Record P.3 

ответ

1

Вы можете добавить параметр подотчета называется что-то вроде suppresshead, вы можете связать это с управлением общего поля приращением для каждого запись сброса при изменении поля группы.

1

Я не уверен, что это будет работать или нет из-за времени оценки вложенных отчетов, но вы можете дать ему завихрение: попробуйте использовать общую переменную в качестве переключателя, чтобы определить, следует ли подавлять заголовок субаренды или не.

Например, в заголовке ваших подписок вы можете получить формулу, которая проверяет, совпадает ли последнее значение группы подрепортажей с текущим; если это так, то подавить заголовок.

//initialize the shared variable in header of main report 
whileprintingrecords; 
shared stringvar lastSubVal := ""; 

//in the suppression formula for the subreport header, check the variable 
// to see if the last subreport header is the same as the current one (and suppress if true) 
whileprintingrecords; 
shared stringvar lastSubVal; 

{table.currentGroupValue} = lastSubVal 

//finally, in the subreport footer, just update lastSubVal 
whileprintingrecords; 
shared stringvar lastSubVal := {table.currentGroupValue} 
+0

Вам также необходимо сгруппировать в дополнительный отчет. И установите группу 1 в заголовок вспомогательного отчета. Таким образом, ваша проблема решена –

 Смежные вопросы

  • Нет связанных вопросов^_^