E-tablo verilerindeki yinelenen satırları kaldırmak için kullanabileceğiniz bir Apps Komut Dosyası kitaplığı oluşturun.
Hedefler
- Komut dosyasını ayarlayın.
- Komut dosyasını çalıştırın.
Ön koşullar
Bu örneği kullanmak için aşağıdaki ön koşulları karşılamanız gerekir:
- Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir).
- İnternete erişimi olan bir web tarayıcısı.
Komut dosyasını ayarlama
Kitaplığı oluşturmak için aşağıdaki adımları uygulayın:
- Google Hesabınızda oturum açın.
- Komut dosyası düzenleyiciyi açmak için script.google.com adresine gidin.
- Sol üstte Yeni proje'yi tıklayın.
Komut dosyası düzenleyicideki tüm kodları silin ve aşağıdaki kodu yapıştırın.
Kaydet'i
tıklayın.
Sol üstte Adsız proje'yi tıklayın.
Komut dosyanızı Yinelenen satırları kaldır olarak adlandırın ve Yeniden adlandır'ı tıklayın.
Dağıt > Yeni dağıtım'ı tıklayın.
Tür seçin'in yanındaki Dağıtım türlerini etkinleştir'i
> Kitaplık'ı tıklayın.
Kitaplığın açıklamasını girin (ör. Yinelenen satırları kaldır). Kitaplığa erişimi olan herkes bu açıklamayı görüntüleyebilir.
Dağıt'ı tıklayın.
Sol tarafta Proje ayarları'nı
tıklayın.
Kimlikler bölümünde, sonraki bir adımda kullanmak üzere komut dosyası kimliğini kopyalayın.
Komut dosyasını çalıştırma
Bir kitaplığı kullanmak için Apps Komut Dosyası projesinde en az görüntüleme izninizin olması gerekir. Kitaplığı siz oluşturduğunuz için kullanmak için gerekli izinlere sahipsiniz. Kitaplığı başkalarının kullanmasına izin vermek istiyorsanız Apps Komut Dosyası projesi için görüntüleme izni verin.
Kitaplığı kullanmak için aşağıdaki adımları uygulayın:
- Yinelenen satırlarla veri içeren bir Google E-Tablolar e-tablosu açın. Örnek bir e-tablo kullanmak için Örnek yinelenen satırlar e-tablosunun bir kopyasını oluşturun.
- Uzantılar > Apps Komut Dosyası'nı tıklayın.
- Kitaplıklar'ın yanında Kitaplık ekle'yi tıklayın.
- Script ID (Komut Dosyası Kimliği) bölümüne, önceki bölümde kopyaladığınız kitaplık Apps Script projesinin komut dosyası kimliğini yapıştırın.
- Ara'yı tıklayın.
- Sürüm bölümünde 1'i seçin.
- Ekle'yi tıklayın.
Komut dosyası düzenleyicideki tüm kodları silin ve aşağıdaki kodu yapıştırın.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
İşlev açılır listesinde runLibrary'yi seçin.
Çalıştır'ı tıklayın.
Yinelenen satırları içermeyen güncellenmiş verileri görüntülemek için e-tabloya dönün.
Kodu inceleme
Bu çözümün Apps Komut Dosyası kodunu incelemek için aşağıdaki Kaynak kodu görüntüle'yi tıklayın:
Kaynak kodunu görüntüleyin
İlk olarak, komut dosyası tüm verileri almak için e-tabloya tek bir çağrı yapar. E-tabloyu satır satır okumayı tercih edebilirsiniz ancak JavaScript işlemleri, E-tablo gibi diğer hizmetlerle iletişime geçmekten çok daha hızlıdır. Ne kadar az arama yaparsanız o kadar hızlı ilerler. Her komut dosyası yürütme işleminin maksimum çalışma süresi 6 dakika olduğundan bu önemlidir.
data
değişkeni, sayfadaki tüm değerleri içeren 2 boyutlu bir JavaScript dizisidir. newData
, komut dosyasının tüm kopya olmayan satırları yerleştirdiği boş bir dizidir.
İlk for
döngüsü, data
2 boyutlu dizideki her satırda yinelenir. Her satır için ikinci döngü, eşleşen verileri içeren başka bir satırın newData
dizisinde mevcut olup olmadığını test eder. Yinelenen bir giriş değilse satır, newData
dizisine aktarılır.
Son olarak, komut dosyası sayfadaki mevcut içeriği siler ve newData
dizisinin içeriğini ekler.
Değişiklikler
Kitaplığı ihtiyaçlarınıza uyacak şekilde istediğiniz kadar düzenleyebilirsiniz. Aşağıda isteğe bağlı bir değişiklik verilmiştir.
Bazı sütunlarda eşleşen veriler içeren satırları kaldırma
Tamamen eşleşen satırları kaldırmak yerine, yalnızca bir veya iki sütunda eşleşen veriler içeren satırları kaldırmak isteyebilirsiniz. Bunu yapmak için koşullu ifadeyi değiştirebilirsiniz.
Örnek kodda aşağıdaki satırı güncelleyin:
if(row.join() == newData[j].join()){ duplicate = true; }
Satırı aşağıdaki kodla değiştirin:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
Yukarıdaki koşullu ifade, iki satırın elektronik tablonun birinci ve ikinci sütunlarında aynı veriler olduğunda her seferinde yinelenenleri bulur.
Katkıda bulunanlar
Bu örnek, Google Developer Expert'i Romain Vialard tarafından oluşturuldu. Romain'i Twitter'da @romain_vialard adresinden takip edin.
Bu örnek, Google Geliştirici Uzmanları'nın yardımıyla Google tarafından yönetilir.