• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Ham Data'ya Yeni Veri Girdiğinde Pivot'a Eklensin

Katılım
8 Ocak 2021
Mesajlar
23
Excel Vers. ve Dili
Office 2016 / TR
Merhaba,

Yaklaşık 300 tane pivot tablodan yapmış olduğum bir dashboardum var. Bazı pivot tablolarımda değer veya tarih filtrelerim var ve bazı verileri gizliyorum. Ancak asıl çözmeye çalıştığım olay şu. Ham datalarımı bir siteden alıyorum ve bazen daha önce hiç olmamış bir veri gelebiliyor. Ancak bu yeni gelen veri pivot tablomda otomatik olarak gözükmüyor. Mecburen gidip satır etiketlerinden yeni gelen veriyi onay kutucuğu ile göstermek zorunda kalıyorum. Benim istediğim şey filtrelediğim bile isteye gizlediğim veriler gizli kalmaya devam etsin ancak yeni gelen daha önce hiç olmayanlar da otomatik olarak gözüksün. Böyle bir şey mümkün müdür? Kıymetli desteklerinizi esirgemeyin lütfen.
 
Kod:
Sub YenilePivotTabloları()
    Dim ws As Worksheet
    Dim pt As PivotTable
    
    For Each ws In Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt
    Next ws
    
End Sub
 
BUNU EXCELİNİZE GİRİN. DATANIZIN ALTINA VERİ EKLEDİĞİNİZDE TÜM PİVOT TABLOLAR YENİLENECEKTİR. PİVOT TABLO VERİ KAYNAĞINIZI TÜM SATIRLARI KAPSAYACAK KADAR OLUŞTURUN
 
BUNU EXCELİNİZE GİRİN. DATANIZIN ALTINA VERİ EKLEDİĞİNİZDE TÜM PİVOT TABLOLAR YENİLENECEKTİR. PİVOT TABLO VERİ KAYNAĞINIZI TÜM SATIRLARI KAPSAYACAK KADAR OLUŞTURUN
Hocam teşekkür ederim ama pivot tablolarımı yenilemek için aşağıdaki gibi bir kodum var. Aşağıdaki koda uygun olacak şekilde bir kod yazabilmek mümkün müdür? Ya da sizin ilettiğiniz kodla bunu birleştirebilir miyiz?

Option Explicit

Sub Refresh_All()
ActiveWorkbook.RefreshAll
Range("Z1") = Now
Range("Z1").EntireColumn.AutoFit
End Sub

Sağolun.
 
Kod:
Sub Calistir()

Application.AskToUpdateLinks = False

Call Refresh_All
Call YenilePivotTabloları

End Sub
birleşmiş olarak şunu yapabilirsiniz. Alttaki kodu düğmenize atayın 2 kodda modül olarak sayfada bulunsun
 
sıralamasını değiştirebilirsiniz
 
sıralamasını değiştirebilirsiniz
Hocam sub calistir() kodunu düğmeme atadım. Ham verilerim yenileniyor. Buna bağlı olarak pivot tablolar da yenileniyor ama ham veriden içeri yeni girmiş bir veri pivot tabloda otomatik olarak tiklenmedi. Yani ilettiğiniz kodla şuan istediğim şey olmadı maalesef. Dosyayı da paylaşamıyorum veriler ulaşılamaz bir şirket sunucusunda olduğundan başka bir yol var mıdır?
 
pivot tablo veri kaynağını belirli satırlar yerine sütun olarak tanımlarsanız güncellemelerin tamamı otomatik akacaktır
 
Pivot tablolarımın veri kaynağı başka bir tablo o yüzden satır ya da sütun seçimi yaptırmıyor. Veri kaynağını değiştir dediğimde direkt kaynak olarak ham datamın olduğu Tablo_owssvr seçili oluyor.
 
İlk önce siteden tabloyu çekip, sonra bu tablodan pivot tablo oluşturup değer veya tarih filtreleri mi uyguluyorsunuz.
Direk sorgu ile siteden pivot tablo ile hiç uğraşmadan verileri çekseniz
 
Sitede excel'de yapabildiğim formülleri yapmaya imkanım yok maalesef. Formülle bazı sütunlar oluşturup veri analizinden sonra pivot tablo yapabiliyorum.
 
Veri kaynağınız nedir, bu verileri dış veri al ile mi alıyorsunuz
 
Sitede verilerimi direkt excel'e aktar butonuyla excel formatında alıyorum. Dosyanın ismi owssvr.iqy şeklinde geliyor. Exceli açtığımda içerisinde tablo oluyor. Bu tabloyu kopyalayıp dashboardumda yer alan excele yapıştırdığımda otomatik olarak yenile dediğimde verilerimi yeniliyor.
 
Daha kolay anlaşılabilmesi için aşağıdaki gibi bir örnek ekleyeceğim ne istediğimin anlaşılabilmesi adına.

Ham verilerimin aşağıdaki tablodaki gibi olduğunu varsayalım. Bu veriler bir sharepoint altyapısıyla yenilenebiliyor. Buraya bazı yeni veriler eklenebiliyor.


Ad​



Arama Adedi​


Alper

15

Cihan

20

Alper

17

Cihan

21

Sercan

25
Bu tabloya göre pivot table yapıyorum ve değerlerin ortalamalarını görüntülüyorum. Pivot tablomda Sercan'ın verisine ihtiyaç duymadığım için bunu gizliyorum. Pivot tablom aşağıdaki gibi gözüküyor.


Ad

Arama Adedi (Ortalama)

Alper

16

Cihan

20,5
Sonra yukarıdaki ham veri tablomu yeniliyorum ve yeni tabloya Fethiye'nin de değerleri dahil oluyor ve yeni hali aşağıdaki gibi oluyor.


Ad

Arama Adedi

Alper

15

Cihan

20

Alper

17

Cihan

21

Sercan

25

Fethiye

28

Fethiye

22

Sercan

16
Sonrasında pivot tablomu da yenile butonu ile yeniliyorum. İşte tam bu aşamada pivot tablomda filtre olduğu için yeni gelen Fethiye'nin değerlerini otomatik olarak göstermiyor. Mutlaka kendim gidip filtre değerlerinde fethiyeyi bulup onay kutucuğunu işaretlemek zorunda kalıyorum. Benim burada yaptığım filtre bozulmadan yeni gelen değerlerin de el ile onay kutucuğu tıklamadan otomatik olarak gözükmesine ihtiyacım var. Bu beni inanılmaz bir iş yükünden kurtaracak bir şey. Yok mudur bir çözümü.
 
Son düzenleme:
pivot tabloyu örneğin A1:B10 şeklinde değil, A:B şeklinde oluşturun yani tüm sütunu kapsasın.
Kod:
Sub Makro1()
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    ActiveSheet.PivotTables(1).ClearAllFilters
    With ActiveSheet.PivotTables(1).PivotFields(1)
        .PivotItems("Sercan").Visible = False
        .PivotItems("(blank)").Visible = False 'oluşacak boşlar için
    End With
End Sub
 
Sayın alicimri yardımınız için teşekkür ederim. Ancak gönderdiğim pivot tablo gerçekte var olmayan tam olarak ne istediğimin anlaşılması için hazırladığım bir tabloydu. Anladığım kadarıyla her bir pivot tabloda gözükmesini istemediğim değerler için kod ile 300 tane pivota yazmam gerekecek eğer başka bir çözüm yok ise.
 
Ham tabloya sonradan eklenen veriler otomatik olarak false oluyor.
Tüm pivot tablolarda aynı veriler mi filtreleniyor. Sercan gibi
 
Hayır başka başka veriler de filtrelenebiliyor. Ya da birinde filtrelenen diğerinde filtrelenmeyebiliyor. Mesela bazı pivotlarda "boş" yazan değerlerin de gözükmesi gerekiyor bazılarında ise filtreleniyor. Belirli bir standardı yok maalesef o sebeple her pivot için ayrı ayrı yazmak gerekecek gibi düşünüyorum sayın alicimri yine de çok teşekkür ederim
 
Geri
Üst