이 질문에 제목을 쓰는 방법을 모르겠다. 간단하고 어리석은 논리가 정렬되어야하지만 필요한 부분을 설명 할 수 있음을 알고 있습니다. 나는 벽옥 보고서 스크립트에서 아래 식으로 계산되는 지금은이 값을 필요동적 변수 값 재스퍼 보고서
SELECT TOTAL, PARTIAL FROM PRICE WHERE TOTAL > 0
아래 쿼리에서 수집 한 값을 기반으로 간단한 계산을 필요로하는 벽옥 보고서 스크립트 및 쿼리가
VAR CALC += TOTAL + (PARTIAL) //as partial can be a -ve or +ve value
현재 변수의 값을 TOTAL
으로 지정하고 사용하려고 할 때마다이를 수행 할 방법을 찾지 못했습니다. 쿼리를 사용하여 항상 값을 가져오고 계산할 때 필요합니다. 거기에 한 번만 다음에 계산을 수행합니다. 그 때문에 나는 calculation="First"
을 사용하려고 시도했지만 그 또한 항상 첫 번째 가치를 부여하고 계속됩니다. 나는 도와주세요 내가 아니라 내 문제를 넣을 수 있어요 희망
편집
QUERY
SELECT RECEIPTS.DATENEW AS DATE,
TICKETS.TICKETID AS TICKETID,
PAYMENTS.PAYMENT AS PAYMENT,
PAYMENTS.METHOD AS METHOD,
PAYMENTS.TOTAL AS TOTAL,
CUSTOMERS.NAME AS NAME,
(SELECT SUM(P.TOTAL) FROM PAYMENTS AS P
INNER JOIN RECEIPTS AS R ON P.RECEIPT = R.ID
INNER JOIN TICKETS AS T ON R.ID = T.ID
INNER JOIN CUSTOMERS AS C ON T.CUSTOMER = C.ID
WHERE C.ID = CUSTOMERS.ID and P.PAYMENT IN ('debt','debtpaid', 'advance', 'cashrefund')) AS CTOTAL
FROM RECEIPTS
INNER JOIN TICKETS ON RECEIPTS.ID = TICKETS.ID
INNER JOIN PAYMENTS ON RECEIPTS.ID = PAYMENTS.RECEIPT
INNER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID
WHERE
PAYMENTS.PAYMENT IN ('debt', 'debtpaid', 'advance', 'cashrefund')
....
....
WHERE -TOTAL > 0
VARIABLE
<variable name="DUES" class="java.lang.Double" resetGroup="Customer" resetType="Group" calculation="Nothing">
<variableExpression><![CDATA[$F{CTOTAL} + $F{TOTAL}]]></variableExpression>
<initialValueExpression><![CDATA[new Double(0.0)]]></initialValueExpression>
</variable>
당신은 다음과 같이 SQL 문에 변수 자체를 정의 할 수 있습니다
당신은에 의해 반환 된 데이터의 예를 줄 수 쿼리 및 변수 값을 각 행마다 어떻게 변경해야합니까? –
위에서 설명한대로 리턴 된 데이터는 단순한 double 값이므로'value = value + anotherVal; '으로 사용해야하므로 어떤 의미에서는 값의 변수는 보고서의 각 행마다 적절히 변경됩니다 – Saqib