クロス集計で列グループを並べ替えようとしていますが、iReportは名前の昇順で独自の並べ替えを適用しています。「Order By Exp.」を挿入してみましたが、うまくいきませんでした。(フィールドが見つからないエラー!)
フィールド/変数による独自のソートを追加する正しい方法は何ですか? または、データを事前に並べ替えて、そのまま表示します。
クロス集計で列グループを並べ替えようとしていますが、iReportは名前の昇順で独自の並べ替えを適用しています。「Order By Exp.」を挿入してみましたが、うまくいきませんでした。(フィールドが見つからないエラー!)
フィールド/変数による独自のソートを追加する正しい方法は何ですか? または、データを事前に並べ替えて、そのまま表示します。
同様の問題がありました。データベースから「見出し」を表示したかったのですが、見出しの順序はユーザーが決定したため、アルファベット順に並べ替えたくありませんでした。
並べ替えたい HeadingOrder フィールドがありました。ソート式で使用するには、クロスタブにある必要があります。
列に見出しがあったので、2 つの列グループを作成しました: 1) HeadingOrder 2) 見出し。
見出しの順序番号を表示するテキスト フィールドを削除し、その領域を折りたたんで表示されないようにしました。これにより、HearingOrder フィールドを主要な並べ替えとして使用しながら、クロス タブに見出しを表示することができました。
回避策:
フィールド (列グループで使用される) を、SQL クエリ自体のフィールドによる並べ替えと連結します。フィールド名を「タイトル」、ソートフィールド名を「ランク」とすると、
select (mt.rank ||'-'|| mt.title) as title from my_tab mt
(上記の postgresql 固有のクエリ)
通常どおり、corsstab 列グループでこの「タイトル」フィールドを使用します。
クロスタブの「タイトル」列グループのテキストフィールドをクリックします。
プロパティ パネルから「テキスト フィールド式」を$V{title}.split("/")[1]として編集します。
ReportInspector でクロス集計を右クリック --> クロス集計データをクリックすると、新しいウィンドウが開きます。[データは事前に並べ替えられています] をクリックします。これは仕事をするでしょう