私は薬局で働いています。薬を分類する 1 つの方法は、GPI と呼ばれる識別子です。GPIの数字には意味があり、親子関係があります。
私のデータベースには、グループのテーブル、クラスのテーブル (グループを含む)、およびサブクラスのテーブル (グループとクラスを含む) があります。クラスの数値は、グループ全体で繰り返されます。たとえば、グループ 01 にはクラス 01、02、03、および 04 が含まれる場合があります。グループ 02 にも 01、02、03、および 04 が含まれる場合があります。クラスはグループごとに異なり、同じ ID を使用します。
JasperReports Server 4.7 には、GPI グループを表示する複数選択クエリ入力コントロールがあります。クラスのリストを表示するために gpi_group 値を受け取る複数選択クエリ カスケード入力コントロールもあります。カスケード入力コントロールを設定するクエリは次のとおりです。
SELECT DRUG_GROUP, DRUG_CLASS, CLASS_NAME
FROM Schema.DRUG_CLASSES
WHERE $X{IN, DRUG_GROUP, gpi_group}
ORDER BY DRUG_GROUP, DRUG_CLASS
表示される列: DRUG_GROUP、DRUG_CLASS、CLASS_NAME
値列: DRUG_CLASS
そして、1つの薬物グループを選択するとうまく機能します. グループ 01 は次のとおりです。
グループ 02 は次のとおりです。
しかし、それらを一緒に選択すると:
入力コントロールは、複数の GPI グループが選択されているときに発生する GPI クラスの重複値を好まないようです。値の列を GPI クラス名 (重複がない場合) に変更すると、表示は希望どおりになります。
ただし、値列を GPI クラス名にしたくはありません。GPI クラスにしたいのです。GPI サブクラス入力コントロールを、GPI グループおよび GPI クラス入力コントロールからの値に制限し、GPI グループ、GPI クラス、および GPI サブクラスをクエリに入力したいと考えています。
そのカスケード入力コントロールを取得して「重複した」GPI クラス値を表示する方法について何か考えはありますか?