Veri Birleştirme-Pivot (Farklı Sütunlar,100 bin satır )

Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
Hem farklı hem de ortak sütun başlıkları olan iki veri dosyasını ( csv formatı ) tek bir tabloda nasıl birleştirebilrim. ( her iki dosyada da 100 binlerce satır var )



Elimde:
  • Birden fazla tipte ( sütunları farklı ) veri dosyalarım var ( csv formatı ).
  • Ama bu dosyalarda ortak sütun başlıkları var.
  • Herbir dosyada 100 bin üzerinde satır ve 45-50 tane sütun var.
  • Bu csv dosyaları sık sık değişiyor.


Amacım :
  • Bu dosyaları excelde tekbir yerde toplamak.
  • csv dosyaları değiştikçe excelde güncelleme yapmak ve tekrar tekrar pivot dizaynı ile uğraşmamak.


Dosya yapıları şöyle,
  • 1.dosyada a,c,d,f sütunları var
  • 2.dosyada a,b,d,e sütunları var

Bu iki tablo birleştiğinde ,

  • Sonuç tabloda a,b,c,d,e sütunlarının hepsi olacak
  • 1 dosyasında b sütunu olmadığı için b sütunu 1 dosyasından gelen kısım için boş olacak
  • Benzer bir şekilde 2 dosyasında gelen veriler için de c,f sütunlar boş olacak
  • Ama sonuçta ben ortak olan a ve d sütunları her iki dosyadan gelen satırlar için dolu olacak ve aynı sütunda gözükeceği için pivot da analiz edebileceğim


Bir fikri olan ?
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Örnek dosya (dosyalar) eklerseniz, daha kolay çözüm bulunur sanırım.
 
Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
Arkadaşlar çok basit de ondan mı kimse cevap vermiyor ?

Yoksa bir veri / tablo programı böyle bir şey yapamıyacak mı :(
 
Son düzenleme:

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Arkadaşlar çok basit de ondan mı kimse cevap vermiyor ?

Yoksa bir veri / tablo programı böyle bir şey yapamıyacak mı :(
Hem basit ve hem de değil.

Anlatılması biraz zaman alıyor.

Ben size ne yapmanızı gerektiğinin adımlarını vereceğim. Zaman bulursam sonra örnek üzerinde uygulayacağım. Anlatacaklarım Excel 2003 içindir. Excel 2007 ben de yüklü olmadığından pek bir şey diyemiyorum. Ancak bu da buna yakındır.

1. Boş bir Excel dosyası açın.

2. Sayfa1'de A1 hücresinde Data > Import External Data > Import Data ve 1. dosyanızı bularak yönergeleri takip edin.

3. Sayfa2'de 2. dosyanız için aynı işlemleri yapın.

4. Sayfa3'te bu iki sayfayı dayanak alan bitleştirilmiş alan Pivot table'ı yapın.

5. Durumun daha dinamik olması için veri sayfalarında dinamik alan uygulamasını kullanmak, ayrıca pivot tablo ve import edilmiş verilerin güncellenmesi için makro kaydet ile bir bir makro oluşturulabilinir.

.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Yukarıdaki açıklamalarım çerçevesinde yapılmış örnek ektedir.

Dosyaları C'ye çıkarıp deneyebilirsiniz.

.
 

Ekli dosyalar

Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
.

Yukarıdaki açıklamalarım çerçevesinde yapılmış örnek ektedir.

Dosyaları C'ye çıkarıp deneyebilirsiniz.

.
Yurttaş bey teşekkürler tam istediğim şey olmuş.

Dış veriyi alma kısmı tamam o konuyu biliyorum.
Ama birden fazla tabloyu pivotda birleştirme meselesini beceremedim. Dosyanızı inceledim, Data1_1 gibi isimler verilmiş. Bu isimler Excel tarafından otomatik mi oluşturuldu ( pivot wizard sırasında ) yoksa , siz mi tek tek oluşturdunuz. Eğer öyleyse bu isimleri vermenin mantığı nedir ?

Birde oluşturduğunuz pivotda "alan listesi" penceresinde bildiğim tarza ( sütün başlıklarının listelendiği şekle ) benzemiyor. Row,Column, Value, page1 var.
İstediğim gibi kolon başlıklarını rapor filitresi, sütun etiketleri, satır etiketleri, değer alanları bölümlerine taşıyamıyorum.

Bu birleştirilmiş pivot diğerlerine göre biraz başka galiba :(
 
Son düzenleme:

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Yurttaş bey teşekkürler tam istediğim şey olmuş.

Dış veriyi alma kısmı tamam, ama birden fazla tabloyu pivotda birleştirme meselesini beceremedim. Dosyanızı inceledim, Data1_1 gibi isimler verilmiş. Bu isimler Excel tarafından otomatik mi oluşturuldu ( pivot wizard sırasında ) yoksa , siz mi tek tek oluşturdunuz. Eğer öyleyse bu isimleri vermenin mantığı nedir ?
DATA1 ve DATA2'yi kendimiz yaratıyoruz. Bunlar dinamik alan olarak düşünülüp Pivot Table'de kulanıldı. Çünkü her seferinde Pivotun alan ayarlamasından kurtulmak için amaçlanmıştır.

Makrodaki DATA1_1 ve DATA2_1 alanlarını dış veri otomatik olarak yaratıyor.

.
 
Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
DATA1 ve DATA2'yi kendimiz yaratıyoruz. Bunlar dinamik alan olarak düşünülüp Pivot Table'de kulanıldı. Çünkü her seferinde Pivotun alan ayarlamasından kurtulmak için amaçlanmıştır.

Makrodaki DATA1_1 ve DATA2_1 alanlarını dış veri otomatik olarak yaratıyor.

.
Pardon ben mesajı edtilemiştim ama siz benden önce davranmışsınız o yüzden soruyu tekrar sorarsam ( copy/paste )

Birde oluşturduğunuz pivotda "alan listesi" penceresinde bildiğim tarza ( sütün başlıklarının listelendiği şekle ) benzemiyor. Row,Column, Value, page1 var.
İstediğim gibi kolon başlıklarını rapor filitresi, sütun etiketleri, satır etiketleri, değer alanları bölümlerine taşıyamıyorum.

Bu birleştirilmiş pivot diğerlerine göre biraz başka galiba
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Pardon ben mesajı edtilemiştim ama siz benden önce davranmışsınız o yüzden soruyu tekrar sorarsam ( copy/paste )

Birde oluşturduğunuz pivotda "alan listesi" penceresinde bildiğim tarza ( sütün başlıklarının listelendiği şekle ) benzemiyor. Row,Column, Value, page1 var.
İstediğim gibi kolon başlıklarını rapor filitresi, sütun etiketleri, satır etiketleri, değer alanları bölümlerine taşıyamıyorum.

Bu birleştirilmiş pivot diğerlerine göre biraz başka galiba
Bu yöntemde sütun başlıklarını Page bölümüne koymak mümkün olamamaktadır.

Eğer sütun başlıkları da page bölümüne konulması isteniyorsa, başka bir yöntem kullanılması gerekir. Örneğin Consoladation veya Access' idevreye sokmak gerekebilir.

.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.


Aklıma bir yöntem daha geldi. DOS'lu günlere gideceğiz. Hey gidi günler... (Nostalji)

Burada DOS'u kullanarak önce csv dosyaları birleştirmek ve daha sonra oluşan bu dosyayı Excel'de import etmek ve buna göre pivotu oluşturmak.

csv dosyalarını birleştimek için aşağıdaki adımları izleyin.

1) Windows Start düğmesinde Run komutunda

2) cmd yazıp, ENTER'e basın

3) Böylece DOS ortamına ulaştınız. Dosyaların olduğu directory'e ulaşmak içn cd directory adını yazın.

4) copy*.csv hepsi.txt yazıp ENTER'e basın. csv dosyalarınızın tümü hepsi.txt adlı dosyaya kopyalandığını göreceksiniz.

4 Excel'i açıp hepsi.txt dosyasını buraya import edin.

gerisi size ait.


.
 
Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
.


Aklıma bir yöntem daha geldi. DOS'lu günlere gideceğiz. Hey gidi günler... (Nostalji)

Burada DOS'u kullanarak önce csv dosyaları birleştirmek ve daha sonra oluşan bu dosyayı Excel'de import etmek ve buna göre pivotu oluşturmak.

csv dosyalarını birleştimek için aşağıdaki adımları izleyin.

1) Windows Start düğmesinde Run komutunda

2) cmd yazıp, ENTER'e basın

3) Böylece DOS ortamına ulaştınız. Dosyaların olduğu directory'e ulaşmak içn cd directory adını yazın.

4) copy*.csv hepsi.txt yazıp ENTER'e basın. csv dosyalarınızın tümü hepsi.txt adlı dosyaya kopyalandığını göreceksiniz.

4 Excel'i açıp hepsi.txt dosyasını buraya import edin.

gerisi size ait.


.
Yurttaş Bey,
Consolidaition işlemini denedim , ancak veri dosyaları çok büyük olduğundan excel malesefe başaramıyor, şişip kalıyor.
Ayrıca consolidation yapılırken veriler arasında işlem yapıyor ( toplam vb ). Ben iki dosayının birleşimin yeni bir veri dosyası gibi görmek istiyorum. özeti alınmış ( toplanmış çıkartılımış gruplanmış vb gibi değil ). Daha sonra ben ayrıca istediğim gibi pivot alacağım.


Dos ortamındaki birleştirme işlemi ise sanırım olmaz, çünkü iki dosyanın sütün başlıkları farklı,

Ortak sütun başlıkları var , (benim amacım da zaten bunları alt alta getirebilmek), ancak aynı sütun numaralarında değil.

Belki Acces bu işi yapabilir , ama malesef accesi tam olarak bilmiyorum, denedim ama başaramadım.

Sanırım en iyisi VB de veya VBA da kod yazmak :)


Not: Bu arada forumdaki diğer konularınıza da inceleme fırsatım , oldu o bölümlerden de bir çok bilgi edindim, çok teşekkürler.
 
Son düzenleme:
Katılım
3 Nisan 2007
Mesajlar
65
Excel Vers. ve Dili
Office 2003 Tr ve 2007 Tr
Yurttas bey eğer konu ile hala ilgiliniyorsanız, kendim bir exe dosyası oluşturdum, metin formatındaki datayı istediğim şekilde birleştiriyor ve bende bunu excelde pivotlayabiliyorum.

Sonuç olarak excelle bu işin içinden çıkamadım.
 
Üst