Veri Kaynakları Arasında Join ve Filtreleme

    Samet İlhan

    Kısa bir süre önce Tableau 10 versiyonunu yayınladı. Bunun bir süre öncesinde ise Tableau 10 Beta sürümüyle versiyon çıkış öncesinde beta testi ile kullanıcılara açtı (şimdilerde 10.1 beta devam ediyor). Bu sayede kullanıcılar yeni gelen özellikleri biraz daha erken öğrenebilme ve deneyebilme ayrıcalığı elde edebildiler. Bunun yanında Tableau’ya oluşabilecek hatalar hakkında geri bildirim yaparak t-shirt kazanma şansını elde ediyorlar. Beta programına dileyen herkes katılabiliyor. Tek şart bu programa başvurmak.

    Tableau yeni sürümü yayınlayınca bunun duyurulması ve yaygınlaştırılması açısından sitesinde oldukça yoğun bir çalışma içindeler. Bende de Türkiye’deki kullanıcılar için yeni gelen özellikler hakkında bir seri blog yazma fikri oluştu ve buna belkide en önemli özelliklerden biriyle başlama fikri uygun geldi.

    Daha önceki versiyonlarda Tableau data blending özelliğiyle verileri left joine yakın bir join ile birleştirerek hiç yoktan iyi bir çözüm sunuyordu. Yeni versiyonla birlikte farklı veri kaynalarını join ile birleştirme imkanına sahip olduk. Crossdatabase join olarak adlandırdıkları bu yeni özellikle birlikte herhangi iki veri kaynağını birbirleriyle join yapabiliyorsunuz.

    Gelelim bunu nasıl yaptığınıza. Ben örnek için satış ve iptal verilerini kullanacağım. Satış verilerimiz tde uzantılı Tableau extract dosyasından, iptal verilerini ise excel üzerinden çekeceğim.

    İlk veri kaynağına bağlantı kurduğunuzda ekran görüntüsü alttaki gibi olacaktır.

    Çerçeve içine aldığımız Add opsiyonuna tıklayarak ikinci veri kaynağımızı ekliyoruz.

    Arkasından sanki tek bir veri kaynağından join yapar gibi tabloları ve join alanlarını seçerek joinimizi gerçekleştiriyoruz ve raporlamaya geçiyoruz. Veri kaynakları arasındaki geçişleri Connections bölümünde isimleri üzerine tıklayarak gerçekleştirebilirsiniz. Hangisine tıklarsanız o veri kaynağının sahip olduğu tabloları hemen altında göreceksiniz.

    Tabi ki bu noktada bazı bilgiler de vermek gerekiyor.
    * Yeni veri kaynağınızı Add aracılığıyla eklemezseniz var olan veri kaynakları arasında join yapamıyorsunuz. Joini sadece add aracılığıyla bağlantı kurduğunuz veri kaynakları arasında yapabiliyorsunuz.
    * Join işlemini raporlarınızı tasarlarken kullandığınız bilgisayarda, eğer Tableau Server’a yayınlarsanız yayınlanma sonrasında da Tableau Server’ın kurulu olduğu bilgisayarda yapıyor olacaksınız. Bu yüzden çok büyük (10M+) verilerde bu işlemi yapmak için önce bilgisayarınızı çok büyük boyutlara getirmelisiniz 🙂

    Tableau Desktop 10 sürümünü buradan indirebilirsiniz.

    Yeni özelliklerden biri Cross Database Filter ismiyle geçen özellik, veri kaynakları arasında tek bir filtre üzerinden filtreleme yapmanızı sağlıyor. Tableau ile daha önce alternatif yollarla yapılabilen bu işi şimdi daha da kolay bir hale getirildi.

    Herhangibir veri kaynağındaki bir alana sağ tıklayıp Show Filter opsiyonunu seçtiğinizde ekranın seçtiğiniz bir bölümünde dinamik olarak seçim yapabileceğiniz bir filtre kutusu tanımlanır. Bu filtre kutusu hangi veri kaynağı üzerinden oluşturursanız o veri kaynağında filtreleme yapar. Yani yapardı 🙂
    Yeni özellikle birlikte Tableau, eğer alanlar uyuşuyorsa filtrenin bütün veri kaynaklarına birden etki etmesini sağlıyor. Örnek veri olarak TUİK’ten indirdiğim nüfus ve sinema verisini kullanacağım. Tabi bazı eskiltmeler yapıp bu yapının henüz oluşturulmamış özellikleri üzerinden de konuşacağız.
    Nüfus verisinden A ile başlayan illeri, sinema verisinden ise O-Z harfleri ile başlayan illeri sildim. Ve iki farklı bağlantı kurarak basit bir text tablosu yaptım.
    Ardından nüfus raporuna bir filtre ekleyip ikisi ile bir dashboard hazırlıyorum. Oluşturduğumuz filtrenin menüsünden, Apply to Worksheets > All Using Related Data Sources opsiyonunu seçiyoruz.
    Bu dakikadan sonra çalışma kitabının tamamında bu filtreleme geçerli olacak. Tabi bu tam olarak istediğimiz durum değil çünkü buradaki filtrenin yalnızca bu dashboardu etkilemesini bekleriz. Bu yüzden tekrar aynı listeden Selected Worksheets alanını seçerek bu filtrenin hangi sayfaları etkileyeceğini seçebilirsiniz.
    Sonuçta elde ettiğiniz raporda dilediğiniz sayfaları etkileyen filtreniz mevcut. Bu tip filtreden istediğiniz kadar ekleyebilirsiniz.

    Gelelim kısıtlamalara;
    • İlkinden zaten bahsettik. Filtrelemeyi belirli yerlerde kullanmak istiyorsak buraları seçip filtreyi buralara uygun şekilde oluşturacağız.
    • Diğer bir kısıtlama, bu durum aynı ismi taşıyan alanlar üzerinden çalışır. Yani ben il filtresini kullanırken ve bu özelliği bu filtreye eklerken diğer veri kaynaklarında bu alana karşılık gelen alan ismide aynı olduğu için otomatik olarak tanıdı. Eğer farklı isimde olsaydı otomatik olmayacaktı ama tabi bunu belirleyebiliriz. Bunun için iki yol var.
      1. yol iki veri kaynağında aynı anlama gelen alanların isimlerini veride ya da Tableau içerisinde aynı isimle kaydetmek,
      2. yol isimler aynı kalacak ama Data Blending konusunda anlattığımız gibi yukarıdaki sekmelerden Data > Edit Relationships üzerinden veriler arasındaki bağlantıyı belirleyerek hangi alanın hangi alana denk geldiğini belirlemek.

    Tabii bu noktada benzer bir konu daha gündeme geliyor. İsimler aynı olsa da farklı anlamlara gelen alanlar olabilir. Mesela bir veride status gümrük durumunu ifade ederken, diğer veride kargo durumunu ifade edebilir. Yine Data > Edit Relationshipsayarlarından bu iki alan arasındaki bağlantıyı kaldırarak bunun da önüne geçmiş oluruz.

    • Son kısıtlama ise filtreyi hangi veri kaynağından başlatırsanız liste o veri kaynağındaki veriye göre oluşur. Yukarıdaki örnekte nüfus verisinden başladığım için A ile başlayan iller listede yok ve normal olarak O-Z ile başlayan iller ise yalnızca nüfus verisini etkiledi.
      Bu listenin ilgili veri kaynaklarının tamamındaki verileri içermesini istiyorsak 3. bir bağlantı oluşturup, bu bağlantıda filtreleme yapacağımız alanları district union ile birleştirmek olacak. Eğer sabit kalacaksa bir liste belirleyip buna bağlanabilirsiniz. Ya da union ile birleştirerek dinamik bir yapıya sahip olabilirsiniz.
      Bunu sayfaya eklemek içine yerleştirmek ve ekranda kalabalık etmemesini istiyorsanız boş bir çalışma sayfasına filtreyi atıp dashboarda getirin ve orada sayfanın başlığını kaldırıp floating yapıp sayfa yapısını etkilemeyecek bir alana taşıyabilirsiniz. Böylece bütün verileri içeren ve veri kaynaklarını filtreleyen bir veri bağlantınız olmuş olur.

    İlgili Yazılar

    Leave a comment

    Your email address will not be published.