ORKESTRA

ORKESTRA

  orkestra orkestra.com.tr
  Sohbet   İndirme Merkezi

Veri Gruplama İşlemleri Nedir ve Nasıl Yapılır?



Veri Gruplama İşlemleri Nasıl Yapılır ?


Orkestra içerisinde döküm raporları alınabildiği gibi bu dökümleri isteğimiz doğrultusunda kullanım ve görüş rahatlığı için gruplar halinde oluşturabiliriz. Raporunuzu Sihirbaz Kullanarak  veya Sürükle Bırak Yöntemi ile oluşturabilirsiniz.

 

Şekil 1
 

 

Örneğin: Satış faturaları nesnesinde, Veri / Detay Bandına sadece Fatura No, Cari bilgisi ve Fatura Tarihi alanlarını koyarsak [ Şekil 1 ]  bu bir döküm raporu olacaktır  . Raporu ön izlediğimizde göreceğimiz rapor şimdiye kadar yapmış olduğumuz

tüm satışların sıralı tam listesini artarda görecek şekilde olacaktır. Bu rapor cinsine döküm raporu denmektedir. [ Şekil 2 ] 

 

Şekil 2

 

Ancak bir grup oluşturup, Veri / Detay Bandına Fatura No ve Fatura Tarihini Koyup Gruba Cari bilgisi koyarsak, Karşımıza Carilere göre gruplanmış bir rapor gelecektir. Daha detaylı anlatmak gerekirse; Gruptaki carilerden birisi G Yazılım diğeri B Firması olsun, G Yazılım firmasına yapmış olduğunuz tüm satışların ve B firmasına yapmış olduğunuz tüm satışların birer grup halinde ayrı ayrı görüntülendiğini göreceğiz. Yazımızın devamında bu işlemi nasıl yapabileceğimizi göreceğiz. 

 

[ Şekil 1 ] de görmüş olduğumuz rapor tasarımımıza öncelikle bir grup eklememiz gerekmektedir. 

 

Şekil 3

Ekranın sol tarafında nesne özellikleri - Tanımlar altında Grup tanımları bölümünün sağ tarafında bulunan [ Şekil 3 ] de görülen üç nokta imgesine tıklıyoruz. 

Bu bölümde, oluşturmak istediğimiz grubun neye göre gruplama yapmasını istediğimizi söyleyeceğiz.

Şekil 4

Açılan Gruplama tanımları ekranında [ Şekil 4 ] , sağ tarafta Yeni diyoruz (Kırmızı ile 2. olarak belirtilmiş alan) ve Rapor kayıt Gruplama ekranı karşımıza geliyor. Burada Grup adına, Grubumuzu ne hakkında yapmak istiyorsak onu yazmak yardımcı olacaktır. Herhangi bir şey yazabilirsiniz ancak biz şu anda Cari ye göre gruplayacağımız için sadece cari yazıyoruz. 

Yine [ Şekil 4 ] deki Alt kısımdaki Gruplama Alanları bölümündeki listeden öncelikle Cari Hesabı bulup, solundaki açılır oka tıklayarak altındaki KOD seçeneğini buluyoruz (Kırmızı ile 3. olarak belirtilmiş olan alan)

Not: Buradaki kod, bizim Cari hesapları oluştururken Cari Hesabın ismini yazdığımız bölümdür. 

Bulduğumuz KOD alanını çift tıklayarak veya ekranın ortasında bulunan ekle seçeneğini seçerek ekrandaki sağ tarafa (Kırmızı olarak 4. olarak belirtilmiş olan bölüm) geçmesini sağlıyoruz. Sonrasında tamama tıklayarak kapatıyoruz.

Şekil 5

İşlemi tamamladığımızda karşımıza [ Şekil 5 ] deki ekran geliyor. Burada (A-Z) bölümü küçükten büyüğe sıralanacağını, party.code bölümü, Cari hesap koduna göre sıralanacağını ve [cari] ise yazdığımız grup adını göstermektedir.  Bu ekranı da tamam tuşuna tıklayarak kapatıyoruz.

Şekil 6

Ekranı kapattığımızda raporumuzda [ Şekil 6 ] daki gibi bir "cari - Başlık"  bandı açıldığını görüyoruz. Bu band normal Veri / Detay bandı gibi görünse de farkı bizim seçtiğimiz alana göre gruplama yapmasıdır. 

Şekil 7

Veri / Detay bandına koymuş olduğumuz $F{party.code} alanını sürükleyerek yeni açmış olduğumuz cari - Başlık bandına [ Şekil 7 ] deki gibi bırakıyoruz. 

Şekil 8

Raporumuzu ön izlediğimizde, [ Şekil 8 ] de görüldüğü gibi, döküm raporundan farklı olarak, en üst kısma ayrıca bir de Cari hesap kodu geldiğini ve altında da ilgili cariye ait faturaların görüntülendiğini görmekteyiz. Fakat gözümüze çarpan ilk etmen başlarında bulunan sayıların Cari bazında sıfırlanmaması. ilk grupta 8'e kadar geldikten sonra 9,10,11... şeklinde devam ediyor. Bu durumu çözmek için minik bir kod yazmamız gerekecek. 

Şekil 9

Ekranın sol tarafında bulunan [ Şekil 9 ] deki Nesne Özellikleri altındaki, Tanımlar - Değişken tanımları bölümüne geliyoruz ve Kullanıcı Değişkenleri alanına tıklıyoruz. 

Şekil 10

Karşımıza [ Şekil 10 ]'daki ekran geliyor.

Not: Kullanıcı değişkenleri hakkında bilginiz yoksa, detaylı bilgi edinmek için  tıklayınız.

Kırmızı ile 1. olarak işaretlenmiş Yeni Tuşuna tıklıyoruz ve Rapor değişkeni ekranı karşımıza geliyor. Kırmızı ile 2. olarak işaretlenmiş Adı bölümüne bu değişkenin yapacağı işi yazıyoruz. Biz örnek için grupSayaç yazdık. Tek bir Cari üzerinden milyarlarca adet faturamız olmayacağı için Tam Sayının bizim için yeterli olduğuna karar kılıyoruz. Kırmızı ile 4. olarak işaretlenmiş bölümde fonksiyon olarak "Toplam" seçiyoruz. Kırmızı ile 5. olarak işaretlenmiş bölümde değişkenin yapacağı toplama işleminin her grup bitimine kadar devam etmesini istediğimiz için "Seçilen Grupta" seçeneğini seçiyoruz ve Grubunu da 6. bölümde cari olarak seçiyoruz. Burada seçtiğimiz grup bizim az önce oluşturduğumuz gruptur. 

[ Şekil 10 ] da görüntülenen 7. alan ise kod yazmamız gereken alandır. Bildiğiniz üzere Cari hesap açarken hiçbir şekilde KOD bölümünü doldurmadan Cari hesabı kaydedemezsiniz. Biz yine de işlem sağlaması yapmak adına kodun başına minik bir if-else döngüsü koymaktayız.

if ($F{reference} > 0) {
return 1;
}else return 0;

Kodumuz Orkestraya şunu diyor: "Eğer fatura kayıt numarası sıfırdan büyükse kenara 1 yaz, sıfırdan küçükse 0 yaz. Bu işlemi de yukarıda seçmiş olduğum grup içerisinde yap" 

Amacımız şu; Bir grup oluşturduk ve bu grupta Cari hesaplar bulunacak. İlgili cariye ait her yeni fatura gördüğünde sayıya 1 ekleyecek ve karşımıza toplam bir sayı gelecek. Bu toplam bizim o cariye ait fatura adedimiz olacak. Sonraki cari grubuna geçtiğinde işlemi tekrar edecek ve bu şekilde cari hesaplar ve faturalar bitene kadar devam edecek.

Şekil 11

Oluşturduğumuz değişkeni rapor üzerinde kullanmak için, raporumuza bir Metin Bileşeni sürükleyip bırakıyoruz ve [ Şekil 11 ] deki işlem adımlarını uyguluyoruz.

Şekil 12

[ Şekil 12 ] de görüldüğü üzere, oluşturduğumuz yeni değişkenimiz, grupSayac Adı ile değişken listesine gelmiş bulunuyor. Bu değişkeni seçip alt kısımdan SON tuşuna tıklıyoruz.

Şekil 13

Raporumuzu ön izleme yaptığımızda [ Şekil 13 ]  Gruplanmış bir rapor ve her satırın başında sıra numarasının yazdığını ayrıca bu sıra numaralarının her grupta sıfırlanarak fatura sayısını gösterdiğini görüntülemiş oluyoruz.