4

クロス集計で列グループを並べ替えようとしていますが、iReportは名前の昇順で独自の並べ替えを適用しています。「Order By Exp.」を挿入してみましたが、うまくいきませんでした。(フィールドが見つからないエラー!)

フィールド/変数による独自のソートを追加する正しい方法は何ですか? または、データを事前に並べ替えて、そのまま表示します。

4

5 に答える 5

3

同様の問題がありました。データベースから「見出し」を表示したかったのですが、見出しの順序はユーザーが決定したため、アルファベット順に並べ替えたくありませんでした。

並べ替えたい HeadingOrder フィールドがありました。ソート式で使用するには、クロスタブにある必要があります。

列に見出しがあったので、2 つの列グループを作成しました: 1) HeadingOrder 2) 見出し。

見出しの順序番号を表示するテキスト フィールドを削除し、その領域を折りたたんで表示されないようにしました。これにより、HearingOrder フィールドを主要な並べ替えとして使用しながら、クロス タブに見出しを表示することができました。

于 2012-08-15T11:56:15.540 に答える
2

回避策:

  1. フィールド (列グループで使用される) を、SQL クエリ自体のフィールドによる並べ替えと連結します。フィールド名を「タイトル」、ソートフィールド名を「ランク」とすると、

    select (mt.rank ||'-'|| mt.title) as title from my_tab mt
    

    (上記の postgresql 固有のクエリ)

  2. 通常どおり、corsstab 列グループでこの「タイトル」フィールドを使用します。

  3. クロスタブの「タイトル」列グループのテキストフィールドをクリックします。

  4. プロパティ パネルから「テキスト フィールド式」を$V{title}.split("/")[1]として編集します。

于 2012-08-22T07:25:16.207 に答える
1

ReportInspector でクロス集計を右クリック --> クロス集計データをクリックすると、新しいウィンドウが開きます。[データは事前​​に並べ替えられています] をクリックします。これは仕事をするでしょう

于 2014-09-09T13:43:23.470 に答える