Daha Üretken Olmak için Google E-Tablosunun İçe Aktarma Yeteneklerini Kullanın
Yayınlanan: 2022-08-04Amerika Birleşik Devletleri'nde spor büyük bir iştir . Yaklaşık 154 milyon kişi ayda en az bir kez canlı spor izliyor. Ve bu rakamların her yıl artması bekleniyor.
Spor patlamasıyla birlikte, fantezi sporları, DFS ve özel bahis siteleri gibi kulübe endüstrileri, hayranlara izlemek (ve daha fazla meşgul olmak) için başka bir neden verdi. Bu oyunlar, kurnaz izleyicilerin, diğer oyuncuları (ve spor kitaplarını) zekice alt ederek kazançlı çevrimiçi yarışmalar kazanarak büyük paralar kazanmalarını sağlar.
Fantezi oyuncularının avantaj elde etmesinin birincil yolu, oyuncu performanslarını yansıtmak için özel algoritmalar kullanmaktır. Oyuncu istatistiklerine masaj yapmak, oyuncuların daha fazla yarışma kazanmak için yararlanabilecekleri belirsiz istatistiksel mücevherleri bulmalarına olanak tanır.
Bugün, bunu Google E-Tablolar'ı kullanarak nasıl başarabileceğinize bakacağız. Herkese açık bir web sitesinden oyuncu istatistiklerini içe aktararak varsayımsal bir fantezi taslağı hazırlayacağız. Ardından, bu verileri istediğimiz gibi dönüştürmek, işlemek, filtrelemek ve sıralamak için işlevlerin gücünü kullanacağız.
Hâlâ WordPress'e içerik mi kopyalıyorsunuz?
Yanlış yapıyorsun… sonsuza kadar veda et:
- ❌HTML'yi temizleme, yayılma etiketlerini kaldırma, satır sonları vb.
- ❌ Tüm başlıklar için İçindekiler Bağlantı Kimliği bağlantılarınızı elle oluşturma,
- ❌ İçeriğinize geri yüklemeden önce görüntüleri tek tek yeniden boyutlandırma ve sıkıştırma,
- ❌ Açıklayıcı dosya adları ve alt metin öznitelikleri ile görüntüleri optimize etme,
- ❌ Her bir bağlantıya target=“_blank” ve/veya “nofollow” niteliklerini manuel olarak yapıştırma
İçindekiler
1. Hedef Veri Kaynağınızı Çevrimiçi Olarak Tanımlayın
2. Tablo Verilerini Google E-Tablolar'a Aktarın
3. İçe Aktarmak İstediğiniz Sütunları Sınırlayın
4. İçe Aktarılan Satırları Özel Ölçütlere Göre Filtreleyin
5. Hesaplanmış Bir Alan Kullanarak Fantezi Noktası Çıktısı Oluşturun
6. Hesaplanan Sütuna Göre Satırları Sıralayın
wpchtmlp kimliği=15056
1. Hedef Veri Kaynağınızı Çevrimiçi Olarak Tanımlayın
Fantezi futbol ödüllü liglerin katılımcıları, bir lig taslağından önce oyuncuları değerlendirmenin ve sıralamanın ne kadar önemli olduğunu bilir. Fantezi oyuncular, oyuncu sıralamalarını geliştirirken normalde önceki sezonun istatistikleriyle başlar. Ardından, oyuncu sıralamalarını çeşitli faktörlere göre ayarlarlar:
● Olası Yaralanmalar
● Konumsal Savaşlar
● Fantezi Nokta Projeksiyonları
● Lig Puanlama Kuralları
● vb
Bu örnek için, bir fantezi futbol liginde oyun kurucu pozisyonu için oyuncu sıralamaları oluşturduğumuzu düşünelim. Ulusal Futbol Ligi'nin web sitesinde yayınlanan gerekli verileri buldum.
Amacımız, mevcut sezon için özel sıralamalarımızı oluşturmak için bu istatistiksel verileri Google sayfalarına aktarmaktır.
2. Tablo Verilerini Google E-Tablolar'a Aktarın
Veri aktarımını gerçekleştirmek için kullanacağımız fonksiyon IMPORTHTML'dir. Bu işlev için Google E-Tablolar belgeleri, üç giriş sağlamamız gerektiğini gösteriyor:
- İncelenecek sayfanın URL'si
- Gerçekleştirmek istediğimiz sorgu (hedeflediğimiz yapısal işaretlemeye bağlı olarak "liste" veya "tablo").
- HTML kaynağından hangi tablonun içe aktarılması gerektiğini gösteren bir dizin (1'den başlayarak).
Hedeflediğimiz sayfanın URL'sini zaten belirledik. Bilgiler bir HTML tablosunda saklandığı için belirtmek istediğimiz sorgu “table” dizesidir.
Not: Madde işaretli (veya numaralandırılmış) bir listeyi içe aktarmak istiyorsanız, ikincil parametre olarak “tablo” yerine “liste”yi belirtin.
Son olarak, sayfanın kendisinin HTML kaynak kodunda hedef tablomuzun (sırasıyla) nerede olduğunu belirlememiz gerekiyor. Bunu yapmak için tarayıcı penceresinde herhangi bir yeri sağ tıklayın ve 'Kaynağı Görüntüle'yi seçin. Ardından, doğru dizini belirlemek için “<table” dizesini arayabilirsiniz.
Hedef tablomuz bu sayfadaki ilk (ve tek) tablo olduğundan dizinimiz 1 olacaktır.
İşte ilk formülümüz:
=IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “tablo”, 1)
Formülü A1'e girdikten sonra veriler şöyle görünür:
Harika, bu kolaydı! Ancak bu süreci iyileştirmek için daha fazla Google E-Tablo özelliği kullanabiliriz. Mevcut sürecimizde birkaç eksiklik görüyorum:
- Kaynak tablodaki TÜM sütunlara ihtiyacımız yok. Verilerimi yalnızca sıralamamı oluşturmak için ihtiyaç duyduğum alanlarla sınırlamak istiyorum.
- Bir oyuncunun bunları içe aktarmadan önce karşılaması gereken bazı minimum kriterleri belirtmek isteyebilirim (standartlarım var!).
- Oyuncunun tüm sezon boyunca ne kadar iyi performans gösterdiğini özetleyen tek bir ek sütun istiyorum.
- Bu oyuncuları sıraladığım için en iyi oyuncular en üstte olmalı.
Bakalım bu hedeflere nasıl ulaşacağız.
3. İçe Aktarmak İstediğiniz Sütunları Sınırlayın
Elektronik tablomuzu gereksiz verilerle karıştırmanın bir anlamı yok. Neyse ki Google E-Tablolar, yalnızca istediğimiz sütunları içe aktarmanın bir yolunu sunar.
Hedef tablomuzdaki sütunlara baktığımda, yalnızca birkaç sütunla ilgileniyorum.
1. Oyuncu (Sütun 1)
2. Geçiş Yardaları (Sütun 2)
3. TD (Sütun 7)
4. INT (Sütun 8)
Bu sütunlar, bu oyuncuları gelecek sezon için sıralamama yardımcı olacak tüm veriler.
İçe aktarılan sütunları sınırlamak için IMPORTHTML işlevimizi bir sorgu işlevine sarmamız gerekiyor. Sorgu işlevi iki parametre alır:
- Sorgunun gerçekleştirileceği hücre aralığını temsil eden veriler.
- Google Görselleştirme API'si Sorgu Dili ile yazılmış, gerçekleştirilecek bir sorgu.
data parametresi için, daha önce oluşturduğumuz IMPORTHTML fonksiyonunun tamamını kullanacağız. Sorgu için, içe aktarma işlemimize dahil etmek istediğimiz sütunları hedefleyen bir sorgu sağlayacağız.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “tablo”, 1), “Sütun1, Sütun2, Sütun7, Sütun8'i seçin”)
Şimdi içe aktarılan verilerimiz, gereksiz sütunlar olmadan böyle görünüyor!
Böylece, son sayfalarımızda görünecek sütunları sınırlandırırken, istenen veri kümesini başarıyla içe aktarabiliriz. Ama hala yapılacak işler var.
4. İçe Aktarılan Satırları Özel Ölçütlere Göre Filtreleyin
Sıralamam için sadece en az 3000 yarda atış yapan oyun kurucuları düşünmek istiyorum. Daha genel olarak, belirli bir sütundaki ölçütlere göre içe aktarılan satırları filtrelemek istiyorum.
Bir filtre oluşturmak için mevcut sorgu fonksiyonumuzu bir WHERE yan tümcesi içerecek şekilde ayarlayacağız. Özellikle, yalnızca Col2'deki değerin 3000'e eşit veya daha büyük olduğu satırları içe aktarmak istediğimizi belirteceğiz.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “Sütun1, Sütun2, Sütun7, Sütun8'i seçin, burada Sütun2 >= 3000”)
Şimdi, sonuç setini incelediğimizde, Lamar Jackson'ın (3000 yarddan az pas yapan tek oyuncu) atlandığını görebiliriz. Gelecek yıl daha iyi şanslar!
Not: Lamar Jackson bir damızlık ve normalde onu sıralamamıza dahil ederiz. Bu teorik, millet!
5. Hesaplanmış Bir Alan Kullanarak Fantezi Noktası Çıktısı Oluşturun
Ham oyun kurucu istatistiklerimizi başarıyla içe aktardık, sütunları beğenimize göre kırptık ve bazı istenmeyen oyuncuları filtreledik. Bu, özel sıralamalarımızı oluşturmak için harika bir başlangıç.
Ancak konu fantezi sporları olduğunda ham istatistikler o kadar da yardımcı olmuyor. Gerçekten yapmamız gereken, her oyuncu için fantezi puan çıktısını hesaplamak. Bu çok daha iyi bir başarı göstergesidir.
Ve elbette, bu hesaplamayı sayfamızda manuel olarak gerçekleştirerek manuel olarak başka bir sütun ekleyebiliriz. Ancak bunun yerine, içe aktarma işlemi sırasında hesaplamayı gerçekleştirerek işleri kolaylaştıralım.
Fantezi puan hesaplaması için bir formül geliştirme
Peki oyun kurucular için fantezi puan çıktısını hesaplamak için kullandığımız formül nedir?
Bu formülün, özel puanlama yapılandırmalarınıza bağlı olarak ligden lige değişeceği ortaya çıktı. Ancak bu eğitim için standart puanlama sistemine benzer bir formül kullanacağız:
Fantezi Puanları = (Pas Yds / 25) + (TDs * 6) – (INTs * 2)
Sorguyu hesaplanan alanı içerecek şekilde ayarlama
Hesaplanan alanı entegre etmek için mevcut sorgumuzu hesaplanan bir sütun içerecek şekilde ayarlayacağız. Spesifik olarak, fantezi puan hesaplamamızı sorgu fonksiyonunun sorgu parametresine eklemek istiyoruz.
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “Sütun1, Sütun2, Sütun7, Sütun8, (Sütun2/25)+(Sütun7* seçin) 6)-(Col8*2) burada Sütun2 >= 3000”)
Artık e-tablomuz, her oyuncu için toplam fantezi çıktısını içeriyor (çok daha yararlı bir ölçüm).
Ancak bu yeni sütun başlığı gerçekten garip görünüyor. Sütuna özel bir etiket uygulayabilseydik çok daha temiz olurdu (örneğin 'Fantezi Noktaları') l. Sözdizimi biraz garip olsa da bunun mümkün olduğu ortaya çıktı.
Yapmamız gereken, sorgumuzun sonuna daha fazla veri eklemek:
1. 'etiket' anahtar kelimesi
2. Hesaplanan alanı tekrarlayın
3. Bir dize olarak istenen sütun başlığı
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “Sütun1, Sütun2, Sütun7, Sütun8, (Sütun2/25)+(Sütun7* seçin) 6)-(Sütun8*2) burada Sütun2 >= 3000 etiketi (Sütun2/25)+(Sütun7*6)-(Sütun8*2) 'Fantezi Noktaları'”)
Şimdi daha çok benziyor!
Bu Fantezi Puanları sütunu çok daha iyi görünüyor! Ama bu sayıların ondalık kısmına ihtiyacım olduğunu sanmıyorum.
Bana göre, ondalık basamaklar gereksiz arka plan gürültüsü ekler. Bakalım bu sayıları toplayabilecek miyiz?
Bunu başarmak için sorgumuza özel bir biçim uygulayacağız. Spesifik olarak şunları belirtmemiz gerekiyor:
1. 'FORMAT' anahtar kelimesi
2. Hesaplanan alanı tekrarlayın
3. Özel sayı biçimi (bizim durumumuzda “#”)
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “Sütun1, Sütun2, Sütun7, Sütun8, (Sütun2/25)+(Sütun7* seçin) 6)-(Col8*2) burada Sütun2 >= 3000 etiket (Sütun2/25)+(Sütun7*6)-(Sütun8*2) 'Fantezi Noktaları' FORMAT (Sütun2/25)+(Sütun7*6)-(Sütun8 *2) '#'”)
Artık masamız daha temiz görünüyor.
Uzun bir yol kat ettik ve veri toplama sürecimizi kolaylaştırdık. Ancak bu öğreticiyi tamamlamak için bir adımımız daha var.
Bu alıştırma bu oyuncular için sıralama oluşturmayı amaçladığından, verileri içe aktarırken onları sıralamak faydalı olacaktır.
Bundan sonra üzerinde çalışalım.
6. Hesaplanan Sütuna Göre Satırları Sıralayın
Verilerimiz için bir ilk satır sırası belirtmek için tekrar sorgumuza dayanacağız. Satırlarımızı hesaplanan sütuna ('Fantezi Puanları') göre sıralamak istiyoruz. Ancak bunu azalan sırayla yapmak istiyoruz.
Sıralama, ORDER BY DESC yan tümcesi aracılığıyla gerçekleştirilebilir. Yine (ve ne yazık ki), tam hesaplanmış alanımıza başvurmamız gerekecek.
NOT: ORDER BY yan tümcesinde hesaplanan alan sütun başlığını kullanamazsınız çünkü SQL işlem sırasına göre diğer ad ORDER BY sonrasına kadar uygulanmaz.
İşte son formülümüz:
=query(IMPORTHTML(“https://www.nfl.com/stats/player-stats/”, “table”, 1), “Sütun1, Sütun2, Sütun7, Sütun8, (Sütun2/25)+(Sütun7* seçin) 6)-(Col8*2) burada Col2 >= 3000 ORDER BY (Col2/25)+(Col7*6)-(Col8*2) DESC etiketi (Col2/25)+(Col7*6)-(Col8*2 ) 'Fantezi Puanlar' FORMATI (Sütun2/25)+(Sütun7*6)-(Sütun8*2) '#'”)
Son veri setimiz artık en iyi oyuncular ilk sırada olacak şekilde sıralandı (ligimizin özel puanlama kurallarına göre).
Google E-Tabloların Veri İçe Aktarma Özellikleri Basit Ama Etkilidir
İster bir istatistik uzmanı, ister öğrenci veya araştırmacı olun, Google E-Tablolar'daki veri içe aktarma özelliklerinin çok yönlülüğü, büyük bir zaman tasarrufu sağlar. Bu makalede ayrıntıları verilen işlevleri kullanarak artık İnternet'te bulabileceğiniz tüm verileri içe aktarma, filtreleme, sıralama ve daha fazla değiştirme gücüne sahipsiniz.
Ve 6 milyardan fazla web sayfasıyla (ve artmaya devam ediyor), çok meşgul olacaksınız gibi görünüyor.