2012-01-04 25 views
0

私のoracleデータベースには、次のスキーマを持つテーブルがあります。student(studentNumber、name、dateOfCreation)。クリスタルレポートのグループ化レコード

dateOfCreationは、学生レコードが作成された日付です。 4週間(そのdateOfCreation 4週間以上前であるレコード)より

  1. 古い:クリスタルレポートで

    は、私がdateOfCreationフィールドを使用して、グループに以下のグループにレコードを持っています。

  2. 2〜4週間(dateOfCreationが2週間以上前で4週間未満のレコード)です。

  3. 1〜2週間(dateOfCreationが1週間以上前ですが2週間未満のレコード)です。

  4. 1週間未満(dateOfCreationが1週間未満前のレコード)未満です。

グループエキスパートを使用して特定の順序でグループ化を試みましたが、これらのグループは見つかりませんでした。助けてください。これをどのように達成するのですか?

答えて

0

グループ化する式を作成します。

式は、(擬似コードで)のようなものを読んでqould:

if CreationDate > 4 weeks 
then A; 
else if CreationDate >2 weeks and CreationDate <4 weeks 
then B; 

あなたは、この式にグループを作成することができます。

CRには、作成と現在の日付との日付の差異を見つけるための適切な日付機能があります。

0

@viceが示唆したように、式とそれにグループを作成する - このような式は動作するはずです:

if  DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 28 then 1 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 14 and 
     DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 28 then 2 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 7 and 
     DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 14 then 3 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 7 then 4 

{student.dateOfCreation}は、この分野のクリスタルの表現に一致するように改正する必要があるかもしれない - あなたがする必要があります数式エディタのフィールドツリーペインでこれを見つけることができます)。

この数式は質問内の条件と正確に一致しているため、ちょうど1,2または4週間古いdateOfCreation値は使用できません。これらを考慮に入れて調整することをお勧めします。

+0

うわー!皆さん、本当にありがとうございました。それは魅力のように働いた! – Raymond8893

関連する問題