Ana Sayfa
Forumlar
Hakkımızda
Yükleniyor. Lütfen bekleyin ...
Kategoriler
ASP.NET
C# & VB.Net
Visual Studio ve Araçlar
Sharepoint
.NET Framework
SQL Server
Mobil Teknolojileri
Dynamics
Silverlight
İş Zekası
Windows Embedded Sistemler
Yazılım Mimarisi
Yazgeliştir
Yazar olmak ister misiniz?
Forumlar
Kitap Önerileri
Haberler
Yazarlar
İpuçları
Görüşleriniz
Hakkımızda
İstatistikler
En son kayıt olan üye:
bahattin
Şuanki online üyeler (
2
) :
ugurturkmen93
,
cem_gnc
.NET Framework Kategorisi
»
Pivot Table
Pivot Table
Print Versiyonu
Yazar:
İncilay Çilesizoğlu
Tarih:08.10.2007
Puan:
4,25
(Oy Kullanan:
4
)
Okuma Sayısı:
2819
Makaleyi İşaretle
Makale Özeti
Pivot table, ilişkili veritabanlarından ve çok boyutlu veri kaynaklarından verileri gösterebilmektedir. Pivot table kullanarak, çok büyük verilerin analizlerini yönetebilirsiniz.
Paylaşım
Makale
Pivot Table
Pivot table, ilişkili veritabanlarından ve çok boyutlu veri kaynaklarından verileri gösterebilmektedir. Pivot table kullanarak, çok büyük verilerin analizlerini yönetebilirsiniz.
Pivot tables Microsoft Ofis geliştirme deneyimi olmayan bir çok .NET geliştiricisi için yenidir. Bununla birlikte, veri analizi yapmak zorunda olan son kullanıcılar için de son derece önemlidir.
Şekil 1'de, excelde hazırlanmış bir pivot tables bulunmakta. Malzeme alış bilgilerini içeren kaynaktan, aylara göre her malzeme için ödenen fiyat toplamları pivot table sayesinde görüntülenmekte. Tablodaki bilgiler pivot table tool sayesinde değiştirilebilir, daha fazla ayrıntı içerebilir.
Şekil1
Çoğu .NET geliştirici, veri analizi sonucunu datagrid kullanarak gösterdiğinden, son kullanıcı kendi istediği analiz yönetimi gerçekleştiremiyor olabilir.
VSTO içerisinde Pivot Table yaratmak için iki yöntem bulunmakta. Bunlardan bir tanesi PivotTable sihirbazını kullanmak. Diğer bir yol, çalışma sayfasına pivot table nesnesini eklemek. İlk seçeneği inceleyecek olursak, özel parametre listesi ile koddan sihirbaz çağarılabilir. Sihirbaz kullanımında mutlaka gerekli olan parametre değerleri sağlanmalıdır.
Public Overridable Sub
PivotTableWizard
( _
SourceType
As Object, _
SourceData
As Object, _
TableDestination
As Object, _
TableName
As Object, _
RowGrand
As Object, _
ColumnGrand
As Object, _
SaveData
As Object, _
HasAutoFormat
As Object, _
AutoPage
As Object, _
Reserved
As Object, _
BackgroundQuery
As Object, _
OptimizeCache
As Object, _
PageFieldOrder
As Object, _
PageFieldWrapCount
As Object, _
ReadData
As Object, _
Connection
As Object _
)
Parametreler :
SourceType
:
Veri kaynağının nereden alınacağını belirtir. Bir XlPivotTableSourceType değeridir.
SourceData
:
Veri kaynağının tanımlandığı yerdir.
TableDestination
:
Raporun oluşturulacağı aralığı belirtir. Eğer bu parametre tanımlanmaz ise, aktif olan hücrede rapor oluşturulur.
TableName
:
Yeni raporun ismidir.
RowGrand
:
Eğer satılar için toplam değeri görüntülenecekse, değeri True olmalıdır.
ColumnGrand
:
Eğer sütunlar için toplam değeri görüntülenecekse, değeri True olmalıdır.
SaveData
:
Raporla birlikte veriyi kaydetmek için True, sadece raporun tanımlarını kaydetmek için False değeri atanır.
HasAutoFormat
:
Rapor yenilendiğinde ya da alanları taşındığında, Excelin otomatik formatını alması için True değeri atanır.
AutoPage
:
Sadece kaynak tipi xlConsolidation olanlarlar için geçerlidir.Excel sayfa alanı yaratacak ise True değeri atanır.
False değeri atanırsa, sayfa alan(lar)ı mutlaka yaratılmalıdır.
Reserved
:
Excel tarafından kullanılmaz
BackgroundQuery
:
Excel arka planda rapor için sorgu gerçekleştirecekse True değeri atanır.
OptimizeCache
:
pivotTable oluşturulurken önbellek optimize edilecekse True değeri atanır.
PageFieldOrder
:
Sayfa alanlarındaki sıra PivotTable rapor yerleşimine eklenir. XlOrdeR sabitlerinden biri kullanılabilir.
PageFieldWrapCount
:
PivotTable raporunun içindeki her bir satıda ya da sütundaki sayfa alanlarının sayısıdır.
ReadData
:
Dış veritabanından bütün kayıtları içeren PivotTable ön belleği yaratmak için True değeri atanır,
bu ön bellek çok büyük olabilir.
Connection
:
ODBC veri kaynağına bağlanmak için, ODBC ayarlarını içeren metindir.
PivotTableWizard
metodu,
PivotTable
nesnesi döndürmektedir. Bu nesneyi kullanarak, PivotTable üzerinde işlemler gerçekleştirilebilir.
En gereksinim duyulan, PivotTable a ait, satır, sütun ve veri değerleridir. Satır ve sütun belirlemek için, AddFields metodundan yaralanılır.
Dim
RowFields
As Object
Dim
ColumnFields
As Object
Dim
PageFields
As Object
Dim
AddToTable
As Object
Dim
returnValue
As Object
Dim
pivotTable1
As PivotTable
returnValue = pivotTable1.
AddFields
(
RowFields, ColumnFields, PageFields, AddToTable
)
RowFields
:
Rapora eklenecek satır alanını temsil eder.
ColumnFields
:
Rapora eklenecek sütun alanını temsil eder.
PageFields
:
Rapora eklenecek sayfa alanını temsil eder.
AddToTable
:
Sadece PivotTable raporlarında kullanılır. Rapora özel bir alan eklemek için,
True değeri, yeni alanı var olan bir alan ile değişmesi için False değeri atanır.
PivotTable içerisinde analiz etmek istediğimiz veriyi,
AddDataField
metodu ile belirtebiliriz. AddDataField metodunda bulunan Function parametresi, veri üzerinde yapılacak işlem belirtilir; Toplama, Ortalama gibi..
Dim
Field
As Object
Dim
Caption
As Object
Dim
Function
As Object
Dim
returnValue
As PivotField
Dim
pivotTable1
As PivotTable
returnValue = pivotTable1.
AddDataField
(
Field, Caption, Function
)
Şekil1 'de excelde tasarlanmış olan pivotTable yukarıda belirtilen metodları kullanarak oluşturacak olursak; öncelikle vs.net 2005 de, Project types : Office, Templates: Excel Template seçerek yeni bir proje oluşturalım.Solution Explorer 'da oluşturulan Sheet1.vb tıklandığında, excel tasarım görünümüne pivot table oluşturacağımız kaynağını oluşturalım.(Bu kaynağı, ilerdeki makalelerde uygulamalarımızdan alacağız.)
Şekil2
Kaynağı oluşturduktan sonra, kodu yazmak için, Shhet1.vb üzerindeki kısa yol menüsünden, View Code komutunu çalıştıralım.
Şekil3
Kodumuzu çalıştırdığımızda, Şekil1 deki gibi bir görünüm oluşacaktır.
HoşÇakalın...
Makaleyi nasıl buldunuz?
Makaleye puan vermek için üye girişi yapmanız gerekmektedir.
v2.4
Geri Bildirim (Feedback)
Site içerisinde yazılan tüm makalelerin yazım ve yayınlama hakkı aksi belirtilmediği sürece sadece yazarlara aittir.
Yazgelistir.Com Ekibi - 2006 -
Yazgelistir.com