sql >> データベース >  >> RDS >> Mysql

最初の値をそのままにして、繰り返し値を0に設定します

    SQLにSOITEM."SOID"を追加します (これが重複しているかどうかを確認します)、フィールドを取得します

    <field name="SOID" class="java.lang.Integer"/>
    

    グループを作成する SOID

    <group name="SOID">
        <groupExpression><![CDATA[$F{SOID}]]></groupExpression>
    </group>
    

    次に、変数を作成します そのリセットは、グループがSOIDの発生をカウントすることで行われます

    <variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
        <variableExpression><![CDATA[$F{SOID}]]></variableExpression>
    </variable>
    

    このコードのjrxmlのシーケンスは次のようになります

    <field name="SOID" class="java.lang.Integer"/>
    <variable name="SOID_Count" class="java.lang.Integer" resetType="Group" resetGroup="SOID" calculation="Count">
        <variableExpression><![CDATA[$F{SOID}]]></variableExpression>
    </variable>
    <group name="SOID">
        <groupExpression><![CDATA[$F{SOID}]]></groupExpression>
    </group>
    

    この変数を使用して、SOIDが複製されているかどうかを評価できるようになりました。これは、> 1になります。 重複した場合SOID

    textFieldSOIDが重複している場合は0が表示されます

    <textField pattern="###0">
        <reportElement x="143" y="0" width="105" height="20" uuid="a0e2ae10-906e-4d0f-aebd-30fc0c694aca">
        </reportElement>
        <textElement textAlignment="Right" verticalAlignment="Middle"/>
        <textFieldExpression><![CDATA[$V{SOID_Count}<=1?$F{SOITEM_UNITPRICE}:0]]></textFieldExpression>
    </textField>
    

    レポートを改善したい日は、groupHeaderを追加するだけです。 グループにバンドを入れてから、textFieldをこのバンドに入れます




    1. MS ACCESS DBをmySqlにインポートしますか?

    2. 'user'@'localhost'のアクセスが拒否されました

    3. Excelを超えた5つの兆候

    4. Oracle Forms&Reportsの現在の求人情報を検索する