{"id":124,"date":"2010-02-05T11:33:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=124"},"modified":"2010-02-05T11:33:00","modified_gmt":"1970-01-01T00:00:00","slug":"pivot-table-nedir-ve-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2010\/02\/05\/pivot-table-nedir-ve-nasil-kullanilir\/","title":{"rendered":"Pivot Table Nedir ve Nasil Kullanilir"},"content":{"rendered":"<h2>\n\tPivot Table Nedir Nasil Kullanilir<\/h2>\n<p>\n\tPivot table bir tablodaki verileri yatay olarak g&ouml;stermemizi saglar yani satirlarda bulunan bilgileri istedigimiz alanlara g&ouml;re sutunlara &ccedil;evirir.&nbsp; &Ouml;zellikle rapor hazirlarken verileri daha anlasilir ve d&uuml;zenli hale getirmemizi saglar. &Ouml;rnegin bir siparis tablomuz var. Bir m&uuml;sterinin verdigi her bir siparis bir satirda g&ouml;steriliyor. Her m&uuml;steri i&ccedil;in son 6 aylik siparis bilgilerini g&ouml;rmek istiyoruz. Birinci y&ouml;ntem her hareketi alt alta yazmak olabilir ama daha anlasilir ve d&uuml;zenli bir rapor i&ccedil;in her m&uuml;steri bir satirda yer almali ve bu satirda son alti aya ait t&uuml;m siparis tutarlarinin toplami g&ouml;sterilmelidir. Bu durumda pivot table kullanmak imdadimiza yetisir. Bu &ouml;rnegin daha iyi anlasilmasi i&ccedil;in k&uuml;&ccedil;&uuml;k bir &ccedil;alisma yapalim.<\/p>\n<p>\n\tIlk olarak basit bir tablo yapalim ve i&ccedil;ine asagidaki &ouml;rnek verileri atalim.<\/p>\n<pre class=\"brush:sql\">\nCREATE TABLE [dbo].[Siparis](\n\n      [SiparisID] [int] IDENTITY(1,1) NOT NULL,\n\n      [MusteriAdSoyad] [varchar](80) NULL,\n\n      [UrunAdi] [varchar](50) NULL,\n\n      [Tutar] [decimal](10, 2) NULL,\n\n      [Donem] [int] NULL\n\n) ON [PRIMARY]<\/pre>\n<table class=\"reference\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>\n\t\t\t\tSiparisID<\/th>\n\t\t\t<th>\n\t\t\t\tMusteriAdSoyad<\/th>\n\t\t\t<th>\n\t\t\t\tUrunAdi<\/th>\n\t\t\t<th>\n\t\t\t\tTutarDonem<\/th>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t1<\/td>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\tApple IPAD<\/td>\n\t\t\t<td>\n\t\t\t\t1025201001<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t2<\/td>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\tLG Netbook<\/td>\n\t\t\t<td>\n\t\t\t\t950200912<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t3<\/td>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\tPacketBell Notbook<\/td>\n\t\t\t<td>\n\t\t\t\t1200200911<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t4<\/td>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\tNikon D5000<\/td>\n\t\t\t<td>\n\t\t\t\t1480200912<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t5<\/td>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\tMicrosoft Mouse<\/td>\n\t\t\t<td>\n\t\t\t\t100200912<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t6<\/td>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\tHP Printer<\/td>\n\t\t\t<td>\n\t\t\t\t250200912<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t7<\/td>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\tHP Server<\/td>\n\t\t\t<td>\n\t\t\t\t2100200911<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t8<\/td>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\tHP Pavilion<\/td>\n\t\t\t<td>\n\t\t\t\t1600200912<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t9<\/td>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\tADSL Modem<\/td>\n\t\t\t<td>\n\t\t\t\t80200911<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n<p>\n\tSimdi m&uuml;steri basina aylik olarak ne kadar harcama yapildigini g&ouml;rmek i&ccedil;in bir sorgu yazalim.<\/p>\n<pre class=\"brush:sql\">\nSELECT \n       MusteriAdSoyad\n      ,Donem\n      ,sum(Tutar) as ToplamTutar     \n  FROM Siparis\n  group by MusteriAdSoyad ,Donem\n<\/pre>\n<p>\n\tYukaridaki sorgu sonucu asagidaki gibi her donem i&ccedil;in m&uuml;sterilerin ka&ccedil; liralik harcama yaptiklarini g&ouml;r&uuml;r&uuml;z.<\/p>\n<p>\n\t<a href='www.yazilimmutfagi.com'>.<\/a><\/p>\n<table class=\"reference\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>\n\t\t\t\tMusteriAdSoyad<\/th>\n\t\t\t<th>\n\t\t\t\tDonem<\/th>\n\t\t\t<th>\n\t\t\t\tToplamTutar<\/th>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\t200911<\/td>\n\t\t\t<td>\n\t\t\t\t80<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\t200911<\/td>\n\t\t\t<td>\n\t\t\t\t3300<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\t200912<\/td>\n\t\t\t<td>\n\t\t\t\t2550<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\t200912<\/td>\n\t\t\t<td>\n\t\t\t\t250<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\t200912<\/td>\n\t\t\t<td>\n\t\t\t\t1580<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\t201001<\/td>\n\t\t\t<td>\n\t\t\t\t1025<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n<p>\n\tPeki, bizim binlerce m&uuml;sterimiz olsa ve toplam 1 yil boyunca her ay ne kadarlik harcamala yaptiklarini g&ouml;rmek istersek yukaridaki gibi bir sorgunun sonucunda i&ccedil;inden &ccedil;ikamayacagimiz b&uuml;y&uuml;k bir tablomuz olurdu. Her m&uuml;steri i&ccedil;in aylik harcama miktarlarini farkli satirlarda g&ouml;stermek hi&ccedil; de isimize gelmezdi.<\/p>\n<p>\n\tSimdi ise her m&uuml;steriyi tek bir satirda g&ouml;sterelim ve siparis verdikleri her ay i&ccedil;inde bir kolon a&ccedil;arak bunun altinda toplam siparis tutarlarini g&ouml;sterelim. Pivot table i&ccedil;in Siparis tablosunu gruplayarak kullanmamiz gerekiyor. &Ccedil;&uuml;nk&uuml; siparis tablosunda her ay i&ccedil;in m&uuml;steri bazinda birden fazla harcama var. Yukarida yaptigimiz gruplamayi yeni bir tablo olarak alip bunu pivot yaparsak istedigimiz sonuca ulasabiliriz.<\/p>\n<pre class=\"brush:sql\">\nSELECT *\nFROM (\n      SELECT \n       MusteriAdSoyad\n      ,Donem\n      ,sum(Tutar) as ToplamTutar  \n      FROM Siparis\n      group by MusteriAdSoyad ,Donem\n     ) as gTablo\nPIVOT\n(\n  SUM(ToplamTutar)\n  FOR Donem IN ([200911],[200912],[201001])\n)\nAS p\n<\/pre>\n<p>\n\tYukaridaki sorgu sonucu asagidaki gibi her ay bir kolon olacak seklide bilgilerimiz yatayda dizildi<\/p>\n<table class=\"reference\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>\n\t\t\t\tMusteriAdSoyad<\/th>\n\t\t\t<th>\n\t\t\t\t200911<\/th>\n\t\t\t<th>\n\t\t\t\t200912<\/th>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tAli DEMIR<\/td>\n\t\t\t<td>\n\t\t\t\t80<\/td>\n\t\t\t<td>\n\t\t\t\t2550<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tMetin TOSUN<\/td>\n\t\t\t<td>\n\t\t\t\t3300<\/td>\n\t\t\t<td>\n\t\t\t\t250<\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\tSabri KUNT<\/td>\n\t\t\t<td>\n\t\t\t\tNULL<\/td>\n\t\t\t<td>\n\t\t\t\t1580<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n<p>\n\t<br \/>\n\tG&ouml;rd&uuml;g&uuml;n&uuml;z gibi bu seklide bir tablo olusturmak sonucun daha d&uuml;zenli olmasini sagladigi gibi incelenmesini kolaylastirir.<\/p>\n<p>\n\t<a href='www.yazilimmutfagi.com'>.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pivot table bir tablodaki verileri yatay olarak g&#246;stermemizi saglar yani satirlarda bulunan bilgileri istedigimiz alanlara g&#246;re sutunlara &#231;evirir.  &#214;zellikle rapor hazirlarken verileri daha anlasilir ve d&#252;zenli hale getirmemizi saglar.<\/p>\n","protected":false},"author":517,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[422],"tags":[3866,5365,5525,4637,4147,4884],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/124"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/517"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}