2009-05-27 20 views
1

私は現在2つのレポートに分かれているレポートを持っており、それらをマージしたいと思います。Crystal Reportsで項目を条件付きでグループ化するにはどうすればよいですか?

基本的にはこれに沸く:

彼らは各プロパティの改ページを持つようにしたい場合、彼らは財産ではい、私の並べ替え/グループにお答えして、IソートすることによりX
場合、私は、ユーザーに尋ねますユーザーが「いいえ」と答えた場合は、Xで並べ替え/グループ化したい

ユーザーが「いいえ」と答えた場合、私は最初のグループ化を抑制しようとしましたが、それに応じてソートします。

これを2つのレポートに保存せずにどうすればいいですか?

答えて

3

グループ化フィールドを抑制する代わりに、空の文字列""に設定してみてください。私は先週のレポートで非常に似ていました。 「グループ化なし」が選択されていても、未知のデフォルトでグループ化されています。数式グループ化フィールドでは、「グループ化なし」を選択した場合、フィールドがまったく設定されていないことがわかりました。フィールドを空の文字列に設定すると、レポートが期待通りに生成されました。

+0

を追加サブグループ化は " – Malfist

+0

"のプロパティに一致しようとするため、私にとってはうまくいきました。グループ化式のフィールドで条件式がどのように表示されますか? –

+0

if {?doPageBreak} then {tblProperty.PropertyName} else "" – Malfist

2

グループ分けやソートは行っていますか?グループヘッダー/フッターを使用しない場合は、ソートと基本的に同じです。単純にレコードソートを使用する必要があります。

一般に、フィールドを条件付きでグループ化するには、式を使用します。

//{?break_by_property} would be the parameter value to control the page break 

if {?break_by_property) then 
{the_property_field} 
else 
"" //any static value of the same type as {the_property_field} 

今...それはこのようになる最初のグループ化式のように聞こえるあなたのケースではなど数、文字列、日付、:これは問題のフィールドを動作させるには、同じタイプとして返​​される必要がありますそのグループヘッダの式「の前に新しいページ」に行くと、このブール式を(groupnumberは、特別なキーワードである)を入力してください...

{?break_by_property} and groupnumber > 1 

その後、動作しませんX.のレコードのソート

+0

私はあなたをよく理解していません。ユーザーがページ区切りを必要とする場合は、Yでソートし、Xでソートします(FKで結合されているため)。ページ区切りが必要ない場合は、Xでソートするだけです。 X "の表のFKにはリンクされていないため、Xは表示されません。 : – Malfist

+0

静的な値を使用すると、すべてのデータがその1つのグループ内にあるので、最初のグループが基本的に削除されます。ページ区切り(グループヘッダーの新しいページをグループヘッダーに追加)したり、 – dotjoe

+0

""を返すと、Xが ""に結合されていないので、それらはFKリンクについてのあなたの懸念を理解していません。 {the_property_field}にのみ結合されています。あなたが提案しているものに変更すれば、空のレポートが得られます。 – Malfist

関連する問題