BIRT

2016-04-13 29 views
1

'daki sonraki satıra dayalı hesaplama değeri Her satırın bir satın alma siparişiyle eşleşen bir alındı ​​belgesi olduğu BIR BIRT Raporu oluşturuyorum. Satınalma siparişi başına genellikle birden fazla makbuz vardır. Müşterim, satın alma siparişindeki qty_remaining öğesinin yalnızca her satın alma siparişi için son makbuzda gösterilmesini istiyor. BIRT'nin onu almasından önce verileri değiştiremiyorum. İki olası çözüm görüyorum, ancak nasıl uygulanacağını da bulamıyorum. Bu soru ilk olası çözümle başa çıkacak.BIRT

Satınalma siparişi numarasını (po_number) bir sonraki satıra göre karşılaştırabilirsem, po_numbers ile eşleşen başka bir gerçek qty_remaining değerini gösterirse mevcut satırın qty_remaining değerini 0 olarak ayarlayabilirim. Bir sonraki satıra erişmek mümkün mü?

Düzenleme

istenen bakış, bu benzer:

| date | receipt_number | po_number | qty_remaining | qty_received | |------|----------------|-----------|---------------|--------------| | 4/9 | 723 | 6026 | 0 | 985 | | 4/9 | 758 | 6026 | 2 | 1 | | 4/20 | 790 | 7070 | 58 | 0 | | 4/21 | 801 | 833 | 600 | 0 |

Ama şu anda bu alıyorum:

| date | receipt_number | po_number | qty_remaining | qty_received | |------|----------------|-----------|---------------|--------------| | 4/9 | 723 | 6026 | 2 | 985 | | 4/9 | 758 | 6026 | 2 | 1 | | 4/20 | 790 | 7070 | 58 | 0 | | 4/21 | 801 | 833 | 600 | 0 |

+0

diğer onaylayıcınız ne zaman gösterecek şekilde görüntülemek için vizör ayarını kullanabilirsiniz. Beklenen sonucun basit bir tablosunu görüntüleyebilir misiniz? – Jeroen

+0

Diğer yaklaşım, http://developer.actuate.com/community/forum/index.php?/topic/21623-calculate-from-previous-row/ sayfasına benzer. Ancak, mevcut satırın sütun değişkenini global değişkenden ayarlamak yerine, önceki satırın önceki değerine erişebilmem için gerekli olan satır değerini ayarladım. –

cevap

0

sana bakarken düşünüyorum Bu yanlış yol. Döngüleri andıran davranışı istiyorsanız, gruplama ve toplama işlevlerini kullanmalısınız. Grup üstbilgileri ve altbilgileri kullanarak (veya kullanmadığınız) oldukça karmaşık şeyler oluşturabilirsiniz.

Sizin durumunuzda, makbuzları po_number üzerinde gruplamaya çalışacağım. Makbuz_numarası ile sipariş verin, ardından makbuzlar_sayısı üzerinde MAX veya LAST gibi bir toplama işlevine sahip olun ve 'last_receipt' olarak adlandırın. Tüm tabloya değil, grup üzerinde toplanmalıdır. Bu 'toplam', gruptaki her satırda kullanılabilir. Daha sonra, yalnızca qty_remaining satırını ['makbuz_numarası'] == satır ['last_receipt']