| 
                
             | 
        
        
            
                
                    
                        | 
                            Crystal Repots 2008 ile Excel Verisinden Rapor Yapmak | 
                        
                             | 
                                
                     
                    
                        
                            
	
    
		
            | Gönderiliyor lütfen bekleyin... |   
        
	 
    
 
                         | 
                     
                 
             | 
        
        
            
                
                
   Crystal Reports’un 2008 versiyonu business objects’in web sitesinden duyuruldu.
    Bu makalemizde yeni versiyon ile bir örnek yaparak temel seviyede raporlama işlemlerini öğreneceğiz.
         
             
                 
         Aşağıdaki adresten Crystal Report deneme sürümünü İndirebilirsiniz... 
             
  
             http://www.businessobjects.com/product/catalog/crystalreports/?intcmp=corphp_cr_2008_ga
             
                 
         Kurulum sonrası şu ayarları yapmanızı tavsiye ederim. Bu kısımda göze kolayca çarpamayacak
        ama mutlaka ne şekilde seçili olduğunu bilmemiz gereken seçeneklere değineceğiz.
        Örneğin veri tabanınızdaki tablolarınızda boşluk girilen veya NULL olan değerler
        arasında bir fark vardır. Bu fark raporda karşımıza gelen sonuçları etkiler.
         Tablonuza bir kayıt girerken, kayıt eklendiği anda satırdaki veriler NULL olur.
        Siz o hücreye ilk girdiğinizde değer boşluk olur, bir şey yazmazda hücreden çıkarsanız.
        Değer boştur ama NULL değildir.
  
             
              
            Resim 1 : İlk ayarlar 
        
  
            
                 File > Options > Reporting sekmesinde yada bir rapor açıkken File > Reporting Options
        sekmesinde bu 2 farklı değeri nasıl değerlendirmek istediğimizi işaretleyebiliriz.
          
  
             
          Eğer “Convert Database NULL Values to Default” seçili ise NULL olan alanlarıda sonuçlarınızda
        görürüsünüz. Hem boşluk hemde NULL olan alanlar aynı şekilde değerlendirilsin istiyorsanız
        iki seçeneği de seçmelisiniz.
             
  
             
        
         Raporu kaydederken veri ile birlikte kaydetmek sizin için gerekli değilse yerden
        kazanmak için “Save Data With Reports” seçim kutusunu boş bırakabilirsiniz.
        
         Bu ekrandaki en önemli ipucu da “Auto Save Reports After” olsa gerek. Çünkü Crystal Reports sık
                 sık kitlenen bir programdır. Gerçi CR XI Release 2 daha az kitleniyor
        sanırım ama hiç kitlenmiyor değil! Siz bu riski en aza indirmek için raporunuzu 3 dakikada bir kaydetsin moduna getirebilirsiniz.
  
             
                 Kurulumda Arial default font’tur. Siz raporlarınızda Tahoma kullanmak
        istiyorsanız bunu kurulum sonrası ilk iş olarak File > Options > Fonts Sekmesinden
        tanımlayın.
        
         Bu işlemi burdan yapmazsanız raporunuza eklediğiniz her alan, grafik yada crosstab
        için biçimlendirme yapmanız gerekir. Bu sizin için mühtiş bir zaman kaybıdır. Rapor
        yapma sürecinde zaman alan şey zaten biçinlendirme yapmaktır.
             
  
             
        
        Rapor; bir veritabanındaki verilerin belirli bir kritere göre özetlenmesi, görsel
        öğelerle desteklenerek görüntülenmesi olarak açıklanabilir. Raporlanacak olan veri
        sql serverda yada herhangi başka bir veri tabanında saklanabileceği gibi excel,
        access gibi bir uygulamada da tutulabilir. 
             
  
             
                 Biz şimdi bir Excel örneği yapacağız.
        
         Araç çubuğundaki kısa yoldan yada menü yardımı ile boş bir rapor oluşturma sihirbazını
        başlattığınızda, ilk adım data kaynağı belirleme işlemidir. Açılan ekranda “Create
        New Connection” ağaç menüsüne tıkladığınızda bağlanabileceğiniz bütün veri tabanlarını
        görebilirsiniz. Bağlanmak istediğimiz türü (Excel veya ole db (sql server)) burdan
        seçeceğiz.
  
             
                   
  
             
                 Resim 2 : Data bağlantısı oluşturmak.
  
            
                Bağlantı için daha önceden oluşturduğumuz excel dosyasını gösterelim. Data.xls dosyasının
                yapısı aşağıdaki gibi olsun. Bilgisayarınızda offis programı kurulu olmadan Crysal
                Report yardımı ile bir excel dosyası 
        oluşturabilirsiniz.
        
  
             
                 
   
                              
            
                                        
                                            | 
                                                ÜRÜN ADI
                                             | 
                                            
                                                MARKA
                                             | 
                                            
                                                BÖLGE
                                             | 
                                            
                                                ADET
                                             | 
                                            
                                                FİYAT ($)
                                             | 
                                            
                                                TUTAR ($)
                                             | 
                                            
                                                TARİH
                                             | 
                                         
                                        
                                            | 
                                                COMPUTER
                                             | 
                                            
                                                HP
                                             | 
                                            
                                                İSTANBUL
                                             | 
                                            
                                                25
                                             | 
                                            
                                                2.500
                                             | 
                                            
                                                62.500
                                             | 
                                            
                                                05.12.1996
                                             | 
                                         
                                        
                                            | 
                                                PRINTER
                                             | 
                                            
                                                CANON
                                             | 
                                            
                                                ANKARA
                                             | 
                                            
                                                30
                                             | 
                                            
                                                450
                                             | 
                                            
                                                13.500
                                             | 
                                            
                                                26.08.1996
                                             | 
                                         
                                    
         
        Resim 3 :Excel dosyasındaki data. 
             
  
             
            
            
  
        
        Yapılacak işleri aşağıdaki gibi sıralayabiliriz. 
            
            
                1. File > New > Standart Report, Blank Report, Ctrl + N yada standart araç çubuğundaki
            yeni rapor oluşturma kısayol düğmesine basarak
                                
                 
                standart rapor oluşturma siharbazını başlatalım.
                
                          İlk Adımda Raporumuza veri bağlantısı kurucaz. “Create New Connection” Ağaç menüsünden
            “Access/Excel (DAO)” Ağaç menüsünü tıklayalım. 
    Bağlantı kurulacak dosyayı ve dosya türünü seçeceğimiz ekrana gelmiş oluruz. “Database
            Name” de data.xls yi seçelim. “Database type” da “excel 8.0” olsun ve
        finish’e
            basalım. 
    
        
                 
         
            Resim 3 :Excel dosyasındaki data.
  
    
 
            Şimdi Excel dosyasına oluşturduğumuz bağlantı görünüyor. Excel’in hangi sayfasını
            kullanmak istiyorsak onu seçip, sağa doğru sürüklüyelim. Yada form ekranınının ortasındaki
            yön oklarını da kullanabilirdik.
    
            
            Sihirbazın sonraki adımında listelemek istediğimiz alanları belirliyoruz. Gözükmesini
            istediğimiz alanları sağ tarafa sürükleyebiliriz. Ama biz bu aşamayı atlayalım başka
            bir yöntem kullanarak daha verimli çalışabiliriz. Alanları formula field’a ekleyip
            formulleri rapora çağırırsak. Her hangi bir değişiklik gerktiğinde daha az uğraşıyoruz.
    
    
            Son adımda template uygulamak istersek bir tanesini seçebiliriz. Ama biz kendi biçimimizi
            kullanmak için bu adımı da atlayalım.
            
            
                - Report Header:Rapor başlığı. Her raporun en başında 1 kez görüntülenir. Rapor
                    kapağı. 
 
                - Page Header : Sayfa başlığı.her sayfanın üstünde görüntülenir. 
 
                - Details : Detaylar. Alanları gösterebiliriz. Preview de her bir kayıt için
                    bir detay bölümü eklenir. 
 
                - Report Footer : Rapor Sonu. Her raporun en sonunda 1 kez görüntülenir. 
 
                - Page Footer : Sayfa Sonu. her sayfanın altında görüntülenir. Sayfa Numarası
                    için uygun bir yer.
 
             
            
            
			
				| 				
            Field
            explorer pek çok şeyi kontrol edebileceğimiz bir alandır. Ekranın sağ tarafında
                görüntülenmiyorsa Menüden View > Field Explorer ‘a tıklayıp onu gösterelim.
                  | 
			 
		 
          
                 
                  Rapora bir crostab ekleyelim, eklerken de alanları formula field’in içinden çağıralım.
        Tabi önce formulleri oluşturmalıyız.
        
        
  
    
    
    1. Ekranın sağındaki field explorer’da “Formula Fields” yazan yerde sağ tık yaparak
            “New” komutuna tıklayalım formülümüze rowname adını verip ok’e tıklayalım.
    
    Formula Editör açılacak. Bu ekranda bağlantı kurduğumuz excel dosyasının sayfasını
            ve ordaki başlıkları bir ağaç menü seklinde görüyoruz. “MARKA” alanına çift tıklayalım.
     {data_.MARKA} yazısı editörde belirecek. Bu haliyle kaydedip Details’a sürüklersek.
            Excel dosyamızda marka sütunundaki alanlar sırayla gelir. Ama biz biraz daha fazlasını
            yapalım girilen markalar ProperCase, UpperCase yada LowerCase olsun istersek crystal
            reports’un içindeki fonksiyonlardan faydalanabiliriz.
     Markaların ProperCase girilmesini isteyelim. Editörde pro yazıp CTRL + Space yaparsanız
            ProperCase yazısını editör size tamamlayacaktır. Sizde alan adından önce parantez
            açıp sonra kapatırsanız bu formülü kaydedip kapatabiliriz. “ProperCase({data_.MARKA})”
     - ColumnName” - ProperCase({data_.BÖLGE})
  
     - “DataField” - {data_.ADET}*{data_.FİYAT ($)}
  
    
    
  
        
              
        Resim 5 : Formül oluşturma.
  
                
    
    
        
            
                
                    Formula field olarak oluşturduğumuz alanlar sayesinde ilerde bir değişiklik yapmak
                için sadece gereken alanı değiştiricez, biçimlerini bir kez daha değiştirmemize
                gerek kalmayacak. 
                
  
                
                    
                Eğer formül kullanmadan alanları direk Chart veya Cross-Tab’da kullanırsanız her
                    değişiklikte yaptığınız bütün biçimlendirme, sıralama işlemlerini tekrar yapmanız
                    gerekir. 
                
  
             | 
         
     
                
  
    
    
                     Raporumuzda kullanacağımız alanları hazırladık. Şimdi de CrossTab ekleyelim.
                
                
  
    
        1.
                     
                     Araç çubuğundaki  
        kısayol düğmesine basalım. Mouse imlecine boş bir Cross-Tab gelir. Report Footer
            yada Report Header’a tıklarsanız. Eklendiğini görürsünüz. (Page Header, Page Footer
            yada Details Sectionlarına Cross-Tab ekleyemeyiz.) Şu an boş bir çapraz tablomuz
            var. 
    
  
    
        2.
            Üzerinde Sağ tuş yapıp. “Cross-Tab Expert” ’e girelim. Expert’in solunda filed’ları
            görüyoruz. Eklediğimiz formulalar en üstte. Adlandırırken seçtiğimiz isimler şaşırmamızı
            engelleyecek (RowName, ColumnName,...) Rows, Columns ve Summarized Fields Alanlarına
            gerekli formüller sürükleyelim. Yanlız Summarized Fields Alanına 2 tane DataField
            Sürükleyelim. Birini % göstermek için kullanacağız.
    
  
    
        3.
            Sürüklediğimiz ikinci datafield formülünün üstüne tıklayalım biraz aşağıdaki “Change
            Summary” ‘e tıklayalım. Burada Sum, Average, Count gibi temel işlev değişikliği
            yapabiliriz. Ama biz “options” kısmından “Show as a persantage of” seçeneğini tıklayacağız.
            Buda bize satıra göre % vermiş olacak. Ok’e basıp raporu bir preview edelim.
    
  
            
                  
            Resim 6 :Formul kullanma. 
                
        
  
             Şu an önizlediğimizde pek de derli toplu olmayan bir tablo görücez. Tablo sığmamış
        durumda. Şimdi tabloda bazı biçimsel değişiklikler yapalım. Cross-Tab üzerinde sağ
        tık yaparak “Cross-Tab Expert” e tekrar girelim. “Customize Style” Sekmesinde bazı
        değişiklikler yapıcaz.
        
  
        
  
        
  
    
    
  
    
    
  
        
        
        - “Show Cell Margins” seçeneğini kaldırırsak hücreler arasındaki boşluklar kalkacak
            ve biraz daha yer kazanmış olacağız. 
 
        - “Row Total on Left” seçeneğini kaldırırsak satır toplamı sağ tarafa gözükecek.
 
        - “Column Totals on Top” seçeneğini kaldırırsak sütun toplamı alt tarafta gözükecek.
 
        - Summarized Fileds için ayrıca bir etiket göstermek için “Show labels” ‘ı seçelim
            ve % yi değerin yanında göstermek için “Horizantal” ‘ı seçelim.
 
        - “Format Grid lines” düğmesine tıklayarak da tablonun kenarlık çizgilerini değiştirebilirsiniz.
        
 
     
           
                 Tablomuz hala sayfaya tam sığabilmiş değil. Sütun genişliklerini biraz azaltalım.
                 
        - Önce % gösteren sütunun etiketine “%”, diğer değerin etiketine de “Tutar” yazalım.
        
 
        - Rakamların olduğu alanların Font boyutunu tahoma 7 yapalım. 
 
        - Sütunların üzerinde sağ tık yapıp. “Size and Position” ‘ı açalım. Tutar ve % sütunu
            için 1 cm genişlik verelim toplam tutar sütunu için 1,2 Toplam % için de 1 cm genişlik
            verelim. Sol sütun içinde 2 cm genişlik yeterli olacak. (Sütun genişliklerini mouse
            ile kenarlardan sürükleyerek de ayarlayabiliriz ama bu değerleri size and positiondan
            verirsek tabloya gelen sütun sayısına göre gelmesi gereken konumu bir ortalama formülü
            ile oluşturabiliriz.)
            
 
                  
                     
    
        - Şimdi 2 yeni formül ekleyerek tablonun sayfanın ortasına gelmesini sağlayalım.
            
                - “Serdar Sabiti :)” – Crystal Reports nesnelerin x koordinatları için formül kabul
                    ediyor fakat bu formüle gelen değer cm cinsinden değil “8300/14.6” benim bulduğum
                    santime çeviren kat sayı. Siz dilerseniz “4150/7.3” ile de çarpabilirsiniz. Serdar
                    Sabiti “8300/14.6” :)
 - “ Ortalama Formulu” - (20 - 2 - 1.2 - 1 - (( 1 + 1 ) *
                        DistinctCount({@ColumnName})) ) / 2 * {@Serdar Sabiti :)}
                    
 
             
         
                     - 
                            Bu matematiksel formül ile santim olarak x koordinatını rapora gelebilecek sütun
                            sayısına göre hesaplamış oluyoruz. (Sayfa Genişliği - tablo genişliği / 2)
 
                     - Şimbi Cross-Tab ‘ın üzerinde sağ tık yapıp, Size and Position’ı açalım ve
            
 
            düğmesine basalım. Formula editör açılacak. Report Fields Ağaç menüsünden “Ortalama
            Formulu” ‘nu bulalım ve üzerine çift tıklayalım. CTRL + S yaparak da kısa
            yoldan fomüla editörü kaydedip kapatabiliriz. Sonra “OK” düğmesine basalım. 
            
        - Tablomuz sayfanın ortasına geldi. Data.xls dosyasından bir bölge kayıtlarını silip
            raporu refresh ederseniz.tablonun kendi yerini ayarladığını göreceksiniz.
 
     
    
        
            
                
                    
                        
                 
                  Raporu preview ettiğimizde sol tarafta details sectionlarının çokluğu dikkatinizi
                çekmiş olabilir. Crystal Reports Her bir satır kayıt için bir detail section görüntüler.
                Details section’ın üzerinde sağ tık yapıp. “Suppress (No Drill Down)” komutuna tıklarsanız
                bu boş satırlar gizlenecektir.
                 
                        
                    
  
                 | 
             
         
    
                 Şimdi de Chart Ekleyeceğiz. Önce Tablo oluşuturduğumuz için kısa yoldan faydalanabiliriz.
        Cross-Tab üzerinde sağ tık yaparsanız. “Insert Chart” komutunu göreceksiniz. Tıkladığınızda
        da standart bir grafiğin rapora eklendiğini. Bazı durumlarda sadece biraz biçimlendirme
        yaparak işimizi hızlandırmış olabiliriz.
    
        
        1-Grafiğin üzerinde sağ tık yapıp “Chart Experti Açalım” ve Data sekmesine gelelim.
            Burda solda Cross-Tab aktif. Grafik Datası Cross-Tab’da seçtiğimiz formula fieldlere
            göre geldi. “Advanced” düğmesine basalım.ve biraz değişiklik yapalım. Mesela top
            5 Markayı getirelim.
    
  
            
                  
            Resim7 :Tanımlanan field ların kullanılması.
  
        
  
    
        
        2-Solda Report Fields den Önce “RowName” sonra “ColumName” ‘i üstteki alana sürükleyelim.
            Bunlar grafiğini görmek istediğimiz alanlar. Görmek istediğimiz değer için “DataField”
            ‘i “Show values” kısmına sürükleyelim.
    
  
    
        3-“RowName” ‘in üstüne tıklayalım. “TopN” ve “Order” aktif oldu. “TopN” ‘e tıklayalım.
            İçinde “NoSort” yazan bir combobox göreceğiz onu açıp “TopN” seçelim. Burada en
            çok kaç görmek istediğinizi seçebilirsiniz. Biz 5 yazalım.
    
  
    
        4-“ColumnName” içinde özel bir sıralama yapalım. “Order” düğmesine basalım ve açılan
            ekranda “in ascending order” yazan combobox’ta “Specified order” ‘ı seçelim.
    
  
            
                  
            Resim 8 :Tanımlanan field ların kullanılması.
  
 
    
        5-Yeni bir sekme gelecek. Burada “Named Group” Combobox’ına tıkladığınızda Bölge adlarımızı
            göreceğiz. İstanbul, ankara, izmir önce gelsin sonra diğerleri gelsin istiyoruz.
            Sırayla Combobox’tan seçerek eklenmelerini sağlayalım.
    
  
    
        6-İlk bölgeyi eklediğinizde ücüncü bir sekme gelir “Others” Bu sekmede de “Leave in
            their own groups” seçeneğini seçelim. Yani 2. sekmede belirlediğim bölgeleri belirlediğim
            sırada getir. Kalanlarıda alfabetik olarak sırala.
    
  
  
        
            
                
                    
                        
   
     Grafik için “Chart Expert”, “Chart Options” ve “Auto Arrange Chart” kullancağınız
                3 mouse komutu. “Auto Arrange Chart” Grağin dağınık duran görünümünü sığmayan yazılarını
                düzelten çok kullanışlı bir komut.
  
                 | 
             
         
  
  
    
    1. Gelelim “Chart Options” ‘a. Grafiğin üstünde sağ tıklayarak “Chart Options” kısmını açalım.
    2. “Titles” Sekmesinden başlıkları değiştirebilir yada silebilirsiniz. Hepsini silelim.
    3. “Data Labels” Sekmesinden veri etiketleri ekleyebilirsiniz.
     4. “Legend” Sekmesinden renk göstergesinin yerini ayarlayabilirsiniz. “Layout” combobox’ından
            “Legend Below Chart” ‘ı seçelim.
    5. Her hangi bir grafik objesinin biçimini değiştirmek istediğinizde üzerine sağ tıklarsanız
            “Format ...” komutu göreceksiniz. Excel Grafiklerinde yaptığınız işlemlerin benzeri
            bir şekilde düzenlemeler yapabilirsiniz. 
   
       
        
     Raporumuza bir grafik birde tablo ekledik. Şimdi birde başlık ekleyelim. (Belkide
        en başında yapmalıydık :) ) bir text objesi ekleyip içine “Markaların Bölgelere
        Göre Tutar Analizi” yazalım. Fontunu da biraz büyütürsek bu işi de yapmış oluruz.           
    
  
                
            Sihirbazdan sonra rapor preview ekranında görüntülenir.
  
    
        
          
            Resim 9 : Raporun son hali.
     
      Umarım makalem başlangıç seviyesinde size yardımcı olur. Hepinize iyi çalışmalar.           
            
  
			Örnek uygulama 
    
                
                Makale: 
                Crystal Repots 2008 ile Excel Verisinden Rapor Yapmak ADO.NET ve SQL Serdar Büyüktemiz  
             | 
        
        
            | 
             | 
        
        
            | 
                 
             | 
        
        
            
                
                
                    
                        - 
                            
                        
 
                        - 
                            
Eklenen Son 10  
                         
                        - 
                            
Bu Konuda Geçmiş 10 
                         
                     
                    
                        
                            Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
                         
                        
                            Son Eklenen 10 Makale Yükleniyor
                         
                        
                            Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
                         
                     
                 
                
                
             | 
        
        
            | 
                
             |