FIFA World Cup 2018 Statistics in Power BI
FIFA World Cup 2018 Statistics in Power BI
Güncel FIFA World Cup 2018 istatistiklerini ve gruplara ait puan durumlarını aşağıdaki Power BI raporundan kolayca takip edebilirsiniz.
Benim gibi bir futbol tutkunu iseniz çift yılların gelmesini heyecanla beklersiniz. İşte öyle bir yılın içerisinde merakla 2018 dünya kupasının başlamasını bekliyorum. Bu arada tabi ki bu turnuvayı iş zekası ile özellikle Power BI ile uğraşanlar için daha yararlı hale getirmek niyetindeyim.
Hem turnuvayı hem de turnuva ile ilgili verileri kendi yapmış olduğunuz raporlardan takip etmek ister misiniz ? Kulağa hoş geliyor öyle değil mi? Size bunu nasıl yapabileceğini göstermek istiyorum tabi ki bunu geliştirmek ve daha iyisini yapmak sizin elinizde. Haydi başlayalım…
Get Data (Veri Çekme)
Oluşturacağımız rapordaki verilerin bir kısmını web üzerinden, bir kısmını da bir Excel dosyasından çekerek oluşturacağız. Excel dosyasını nasıl oluşturduğumu yazımın içerisinde, oluşturmuş olduğum Excel dosyasının kaynağını ise yazının alt kısımlarında paylaşmış olacağım.
Web üzerinden veri çekme ile ilgili ayrıntılı bilgiyi Power BI ‘ da XML ile Veri Alma İşlemi (Get Data From Web) başlıklı yazımda bulabilirsiniz.
Excel dosyasından Power BI ‘ da veri kaynağı nasıl oluşturulur öğrenmek için Power BI Excel Dosyasından Veri Alma İşlemi (Get Data From Excel) başlıklı yazımı inceleyebilirsiniz.
Get Data From Web (Web’ ten Veri Çekme)
Gruplara ait puan durumları görseli için kaynak olarak FIFA‘ nın resmi web sitesini kullanacağız. Çünkü maçlar tamamlanır tamamlanmaz puan durumlarını anında güncelledikleri için bizim de raporlarımızın anında güncel olmasını sağlayacağız.
İlk olarak yeni bir Power BI Desktop projesi oluşturuyoruz. .pbix uzantılı dosyanın ismini World Cup 2018 olarak değiştiriyoruz ve artık ilk veri kaynağımızı FIFA’ nın resmi web sitesinden veri çekerek oluşturuyoruz.
Power BI Desktop üst menüsünden bulunan Home sekmesinden Get Data –> Web ‘ i seçiyoruz.
Veri çekeceğimiz web adresini (URL) ekleyip OK butonuna basıyoruz.
Eklediğimiz URL ‘ de bulunan veriler tablolar halinde listelenir. İhtiyacımız olan tablolar, 2018 Dünya Kupası gruplarına ait tablolar olduğu için hepsini seçiyoruz.
Eğer tablo isimleri farklı gelirse, hangi tablodaki verileri çektiğimiz teyit etmek amacıyla Web View ekranını kullanabilirsiniz. Bu ekranda tablolar web sitesindeki hali ile görüntülenir.
Web’ ten çektiğimiz tablolar Power BI Desktop – Fields bölümünde listelenir.
Grup puan sıralamasını oluşturabilmek için görsellerden (visualizations) tabloyu (table) seçiyoruz ve Group A Group Analysis veri kümesinden 2 alanı (Column1-Teams ve MP-Oynadığı maç sayısı) Values bölümüne sürükleyip-bırakıyoruz. Fakat maçların oynanacağı tarih ve yer verilerinden dolayı istediğimiz gibi bir grup puan durumunu oluşturamadığımız için veriler üzerinde bazı işlemler yapabilmek amacıyla Sorgu Düzenleyicisi (Edit Queries) ekranına geçiş yapıyoruz.
Aşağıdaki ekran görüntüsünde görüldüğü gibi veri kümesinde bulunan 5 ve 6. satırlar maçların oynanacağı yerler ve zamanları ile ilgili verileri göstermektedir. Bu veriler tüm sütunlarda tekrar ederek devam ettiği için veri yapımızı bozmakta, bu yüzden veri kümelerinin en alttan iki satırını veri kümemizden kaldırıyoruz.
Satırları kaldırma işlemini Home sekmesinde bulunan Remove Rows –> Remove Bottom Rows özelliği ile gerçekleştiriyoruz. Açılan ekranda Number of Rows bölümüne alttan 2 satırı sileceğimiz için 2 yazıp OK butonuna basıyoruz.
Satırları kaldırma (Remove Rows) ile ilgili ayrıntılı anlatıma Keep/Remove Rows in Query Editor (Satırları Tut/Kaldır) başlıklı yazımdan ulaşabilirsiniz.
Artık grup sıralamalarını oluşturabileceğimiz verileri istediğimiz yapıya getirmiş olduk. Aynı satırları kaldırma işlemini diğer gruplara ait veri kümelerine de uyguluyoruz. (Group B…H Group Analysis) Daha sonra Close &Apply butonuna basarak kaydedip Power BI Desktop – Report ekranına grup tasarımlarını oluşturmak için dönüyoruz.
Tüm grupların sıralamalarını görselleri kullanarak oluşturabilir, çeşitli biçimlendirmeler ( arka plan rengi, punto, yazı tipi, title, border vb.) ile raporunuzu daha renkli ve çabuk anlaşılabilir hale getirebilirsiniz .
Dizayn kısmına yazımda ayrıntılı bir şekilde yer vermeyeceğim. Görseller ile ilgili biçimlendirme işlemlerini Visualizations – Format bölümünden istediğiniz şekilde raporunuza uygun olarak gerçekleştirebilirsiniz.
Ben tercihen aşağıdaki gibi renklendirme ve grafiksel bir düzen gerçekleştirdim. Siz de rapor formatınıza uygun bir şekilde biçimlendirme yapabilirsiniz.
Web ‘ ten elde edeceğimiz diğer veri kaynağı ise; turnuvada yer alan takımların piyasa değerleri ile ilgili verileri raporumuza yansıtmak için transfermarkt web sitesindeki verileri kullanacağız. Yukarıda FIFA resmi web sitesini Power BI ‘ da veri kaynağı yapmak için nasıl bir yol izlediysek aynı işlemleri gerçekleştirerek yeni bir veri kaynağı daha oluşturuyoruz.
Artık oluşturduğumuz grup sıralamalarını ve burada yer alan takımlara ait veri kümelerinin başka verilerle ilişkilendirme aşamasına geçebiliriz.
Bunu nasıl yapacağız ?Dünya kupası tarihi ile ilgili veya yapılacak olan turnuva ile ilgili verilerin bulunduğu çeşitli sitelerden bu verileri alarak Excel dosyasına uygun formata aktarıp, Excel dosyasını Power BI raporumuzda veri kaynağı olarak kullanacağız.
Peki neden bu web sitelerini veri kaynağı olarak kullanmadık ? Çünkü birazdan sizinle paylaşacağım web sitelerindeki bu veriler tablolar halinde kullanıcılara sunulmamış bu sebepten veri kaynağı olarak kullanmamızın olanaksız olmasından dolayı hem de Power BI ile ilgili böyle kapsamlı bir örnekte Excel dosyasını da veri kaynağı olarak kullanmak istememden dolayıdır.
Get Data From Excel (Excel’ den Veri Çekme)
planetworldcup ve içeriğinde oldukça fazla veri seti barındıran (çalışmalarınızda kullanmanızı tavsiye ederim) kaggle web sitesinden elde ettiğim verileri Excel formatına (World_Cup_Statistics) aktarıp bir dosya oluşturdum. Excel dosyasını bu linkten indirebilirsiniz.
Şimdi de oluşturmuş olduğumuz Excel dosyasını (World_Cup_Statistics) Power BI Desktop‘ a veri kaynağı olarak ekleyelim.
Power BI Desktop üst menüsünden bulunan Home sekmesinden Get Data –> Excel ‘ i seçiyoruz. Daha sonra Excel dosyasının bulunduğu yolu buluyoruz ve seçiyoruz.
Daha sonra açılan Navigator ekranından, Excel dosyasında yer alan sayfaların hangisini raporlarınızda kullanacaksanız o sayfaların seçimini yapmalısınız. FIFA World Cup Statistics in Power BI örneğinde tüm veri setlerini kullanacağımız için hepsini işaretliyoruz ve Load butonuna basıyoruz.
Daha sonra Power BI Desktop – Fields bölümünde tüm veri setlerinin eklendiğini görebilirsiniz.
Veri kaynaklarından (Web ve Excel) elde ettiğimiz veri setlerini Power BI ‘a yükleme işlemini tamamlamış olduk. Sırada bu veri setleri arasındaki ilişkiyi oluşturmalı ve raporlarımızın daha dinamik hale gelmesini sağlamalıyız.
Tablolar Arasında İlişki Kurma (Relationships)
Tablolar arasındaki ilişkiyi turnuvaya katılan takımlar üzerinden kuracağımız için TEAMS adında bir tablo oluşturacağım. Bu ilişkiyi ortak bir tablo oluşturmadan da tüm tabloları aynı alandan bağlayarak da yapabilirdik. Fakat ortak bir ilişki tablosu üzerinden yapılması hem ilişkilerin daha anlaşılır bir durumda olmasını hem de sorunlara müdahalenin kolaylaşmasını sağlamaktadır.
Power BI ‘ da tablolar arasında ilişki kurma ile ilgili olarak daha ayrıntılı bilgiyi Power BI ‘da Tablolar Arası İlişki Kurma (Relationships) başlıklı yazımdan inceleyebilirsiniz.
Tablolar Arasında İlişki Kurmak İçin TEAMS Tablosunun Oluşturulması
Turnuvaya katılan takımlardan bir tablo oluşturmak için Teams Market Value veri setini kullanacağız. Veri setini çoğaltıp (dublicate), Club (Teams) alanı haricindeki alanları kaldıracağız.
Çoğaltığımız (Dublicate) veri setinin ismini TEAMS olarak değiştiriyoruz ve sadece kullanacağımız kolon olan Club kolonu haricindekileri silmek için Remove Columns – Remove Other Columns özelliğini kullanıyoruz.
TEAMS tablosu ile diğer tablolar arasında ilişki kurmamız için turnuvaya katılan takımların yazılışlarının (France-France veya FRA-FRA) tüm tablolarda aynı olması gerekir.
TEAMS tablosundaki yazılış ile FIFA resmi web sitesinden çekmiş olduğumuz grup sıralamalarında yer alan takım isimleri birbirleriyle uyumsuz olduğu için ilişki kurulamayacaktır. (Group A –> Egypt EGY yazılıyken TEAMS –> Egypt şeklinde yer almaktadır.)
Bu veri uyuşmazlığını çözmemiz gerekir. Böyle veri uyuşmazlıkları hakkında tecrübe sahibi olmanız açısından bu güzel örneği sizinle paylaşmak istedim.
Tablolar Arası İlişki Kurarken Veri Uyuşmazlığı Varsa Nasıl Çözebiliriz ? (Replace Values)
Grup sıralamalarına ait veri setlerinde (Group A…H Group Analysis) sadece ülke isimlerinin yazması bizim tablo ilişkimizin aktif olarak çalışabileceği anlamına gelmektedir. Bu sebepten bu veri setleri üzerinde bir takım değişiklikler yapıyoruz.
Tablolar Arasında İlişkinin Kurulması (Relationships/Join Tables)
Tüm tabloları birbirlerine ortak TEAMS tablosu üzerinden aşağıdaki gibi bağlıyoruz(ilişki kuruyoruz). Artık tüm bu veri setleri (kümeleri) birbirleri ile ilişkili hale gelmiş oldu. Böylece raporlarımızda artık bu verileri daha dinamik bir şekilde kullanma imkanına sahip olduk.
Verilerin Raporlarda Görselleştirilmesi (Visualization of Data in Reports)
Sayfa 1 (Page 1) – World Cup 18 Standings (Usage of Card and Table)
Buradaki amacımız gruplarda yer alan herhangi bir takımın seçilmesi durumunda filtre uygulanması ve o takıma ait bazı verilerin Kart (Card) görseli (visualizations) ile kullanıcıya sunulmasıdır.
Bunun nasıl yapılacağını bir kart (card) görseli üzerinden örnek olarak göstereceğim. Kendi oluşturacağınız Power BI raporlarında, veri setleri artık birbirleriyle ilişkili olduğu için, çeşitli varyasyonlarla kart(card) görselini kolaylıkla kullanabilirsiniz.
Kart (Card) görselinin Fields bölümüne veri setinden raporlanması istenen bir alan sürüklenir.
Sürüklenen alan Text veri tipinde ise ilk olan (First) değeri, Number veri tipinde bir alansa toplamı (Sum) getirir. Fakat filtreleme işleminin ardından o değere ait veriler kartlarda (cards) yer alır. Bir üstteki ekran görüntüsünde olduğu gibi Brezilya‘ nın kazanmış olduğu dünya kupası sayısı görüntülenir. (5)
Sayfa 2 (Page 2) – All Matches and Results (Usage of Slicer, Smart Filter and Table)
Power BI raporumuzun bu sayfasında tüm ülke takımlarının oynadığı tüm maçların verileri tablo (table) görselinde gösterilmiştir. Burada kullanıcılar merak ettikleri bazı istatistiksel verileri filtreler yardımıyla bulma imkanına sahip olacaklardır. Bu bölümde, Power BI görsellerinde standart olarak yer alan Slicer filtresi yerine From Marketplace ‘ de yer alan Smart Filter by OKVIZ kullanılmıştır.
Böylece FIFA World Cup 2018 ‘ te yer alan herhangi bir takımın tüm zamanlardaki maçlarının sonuçlarına ulaşabilecek şekilde dinamik bir rapor tasarımı kullanıcıya sunulmuştur.
Power BI Desktop – From Marketplace‘ de yer alan bir görseli nasıl aktif edip kullanabileceğinizi anlattığım ve raporlarda sıkça kullanılan bazı görsel örnekleri bulabileceğiniz Power BI Mağasında Öne Çıkan Görseller (From Marketplace) başlıklı yazımı incelemenizi tavsiye ederim.
Sayfa 3 (Page 3) -Visualizations of World cup 2K18 (Filled Map)
Bu sayfada FIFA World Cup 2018 ‘ e katılan takımların dünya haritası üzerinde bazı verilerle birlikte gösterilmesi üzerine tasarlanmıştır. Kullanıcılar merak ettikleri bilgileri haritada o ülkenin üzerine geldiği anda özet olarak görebilmektedir.
FIFA World Cup 2018 Raporunun-Power BI Web’ te Yayımlanması (Publish)
Power BI Desktop‘ ta oluşturduğunuz raporları kullanıcıların görüntüleyebilmesi için Power BI Web‘ e yayımlanmanız (publish) gerekir. Bu yayımlama işleminin nasıl yapıldığını ayrıntılı olarak Power BI’ da Raporun Yayımlanması (Publish) ve Pano Oluşturma (Dashboard) başlıklı yazımda bulabilirsiniz.
Power BI Web’ teki Bir Raporun Başka Bir Web Sitesinde Yayımlanması (Publish to Web)
Oluşturduğunuz bir Power BI raporunu herhangi bir başka web sitesinde ya da blogunuzda yayımlamak isteyebilirsiniz.
Power BI Web ekranı, size bunu yapabilmeniz için raporunuza ait bir HTML kod üretmekte ve bunu herhangi bir web sitesine ekleyerek raporları burada yayımlamanıza imkan verecek özelliktedir.
Öncelikle Power BI Web ‘ e giriş yapmalısınız. Daha sonra Raporlar (Reports) alanında yayımlamak istediğiniz rapora tıklayarak, daha sonra üst menüde bulunan Dosya –> Web’ de Yayımla (Publish to Web) bölümüne tıklamalısınız.
Aşağıda oluşturulan kodu blogunuzun ya da web sitenizin kaynak koduna eklediğiniz zaman Power BI ‘ da oluşturduğunuz raporlar artık herkesin erişimine açık hale gelir ve yayımlanır.
NOT : Power BI Web ‘ ten bloğunuza/sitenize yayımladığınız bu tür raporların güncel olmasını sağlamak için Yenilemeyi Zamanlamanız (Scheduled Refresh) gerekir. Nasıl yapıldığını Power BI Web – Otomatik (Zamanlanmış) Veri Yenileme başlıklı yazımdan inceleyebilirsiniz.
Sonuç (Conclusion)
Power BI ‘ da oluşturduğum örneklerde genel olarak farklı veri kaynaklarından veri alarak, bu verileri Power BI ‘ ın yetenekleri ile birleştirerek çeşitli raporlar oluşturmaya çalışıyorum. Mesela FIFA World Cup 2018 Statistics in Power BI raporlarında kullandığımız veri setlerini bir arada bulmak, tek bir veri seti halinde kullanmak mümkün müdür ? Elbette. Fakat bu bizim Power BI ile ilgili gelişimimizi engelleyecek şekilde kolay raporlar hazırlamaya itecektir.
Bunun dışında FIFA World Cup 2018 Statistics in Power BI yazımda örnek olarak oluşturduğum raporlar dışında daha karmaşık raporlar oluşturulabilir mi ? Tabi ki. Bu sizin verilerle olan dansınıza kalmış. Ben size naçizane bir yol göstermeye çalışıyorum bunu geliştirmek sizin ellerinizde.
Umarım sizi için faydalı bir yazı olmuştur. Konu ile ilgili sorunuz, öneriniz varsa iletmenizi çok isterim. Bunun dışında sizin oluşturmuş olduğunuz örnek raporlar varsa blogumun Power BI Örnekler kategorisi içerisinde paylaşmaktan mutluluk duyarım.
Bir hatamız olduysa affola…
Görüşlerinizi, önerilerinizi ve sorularınızı yorum bölümüne yazabilirsiniz. Vakit buldukça cevaplamaya çalışacağım.
Takipte kalmanız dileğiyle…