DSPL Gen, bir CSV veri tablosunu basit bir DSPL veri kümesine dönüştürür. Araç, girişi ayrıştırır dosyası oluşturur, gerekli tüm veri tablolarını oluşturur ve bir DSPL XML dosyası ortaya koyar. Sonuç olarak, neredeyse tamamlanmış bir veri kümesi "şablon" ve yüklenmeden önce küçük düzenlemeler gerektiren yardımcı oluyorum.
DSPL Oluşturma Aracı'nın arkasındaki temel varsayım, kampanyadaki her sütunun giriş CSV dosyası, tek bir DSPL kavramına karşılık gelir ve her satır bir tek bir gözlem yerine kullanılabilecektir. Bu araç, sütunlar arasında yineleme yaparak her biri için uygun meta verileri sütun / kavram (ör. kimliği, türü, boyut veya metrik olması fark etmeksizin) vb.) hazırlayarak gerekli tüm kavram tanımını ve tablolarında anlatacağım.
DSPL Oluşturma Aracı çalıştırılıyor
Söz dizimi
Not: Bu talimatlarda şunu zaten izlediniz: kurulum talimatları (DSPL Araçları sayfası).
DSPL Gen'i çalıştırmak için sisteminizde terminale / isteme gidin ve şunu yazın:
python dsplgen.py -o [output path] [path to CSV file]
burada, köşeli parantez içine alınan terimler aşağıdaki gibi değiştirilmiştir:
[output path]
: İstediğiniz dizine giden yol çıkış dosyalarınıza yerleştirilecektir; bu dizin şurada önceden bulunmalıdır: dosya sisteminizde de olabilir.[path to CSV file]
: Giriş CSV dosyanızın yolu. Bkz. bölümüne göz atın. bu dosyayı biçimlendirin.
-o [output path]
bileşeni isteğe bağlıdır. atlanırsa,
çıkış dosyaları geçerli dizine yerleştirilir.
Ardından araç çalışır, CSV dosyanızı yineler ve dilim tabloları oluşturmayı da öğrendiniz. Herhangi bir hata bulunmazsa XML dosyası ve bir veya daha fazla CSV dosyası çıkış dizinine yazılır.
Son olarak, XML dosyasını tercih ettiğiniz metin düzenleyicide açın ve
yapabilirsiniz. En azından adları girmeniz gerekir.
açıklamaları ve araç tarafından
** INSERT ... **
gösterimi.
Basit Örnek
Bir CSV dosyası için toplam vaka sayısını gösteren bir ay, ülke ve yaş grubuna göre ayrılmış bir hastalıktır. Kolaylık sağlaması açısından her boyutta 2 değer olduğunu varsayalım:
date,country,age_group,disease_cases 01/2000,US,old,102030 01/2000,MX,old,192939 01/2000,US,young,23131 01/2000,MX,young,12311 02/2000,US,old,143135 02/2000,MX,old,203131 02/2000,US,young,22990 02/2000,MX,young,12591
Yukarıdaki girişte aracı çalıştırdığınızda 4 dosya oluşturulur:
dataset.xml
: DSPL XML şablonucountry_table.csv
:country
değerleri kavramage_group_table.csv
: Şunun değerleri:age_group
kavramslice_0_table.csv
: Veri kümesi dilimiyle aynı olan tablo giriş tablosu (sıralama hariç)
Bu örnekte, araç tüm boyutları doğru bir şekilde sütun türlerini ve biçimlerini görebilirsiniz. Şimdi tek yapmanız gereken XML dosyasına gidip ve veri kümesi meta verilerindeki çeşitli adları, açıklamaları ve URL'leri düzenleyebilirsiniz.
Girişinize Ek Açıklama Ekleme CSV'si
Temel Seçenekler
Yukarıdaki örnekte olduğu gibi çoğu durumda, DSPL kuşağı her sütun için meta veriler, ör. türü, biçimi ve uygun olup olmadığına veya metrik kullanabilirsiniz. Ancak diğer durumlarda, araç bunları tahmin edebilir, yanlış tahmin edebilir ya da doğru tahmin edebilir yine de istenen davranışı izlememesidir.
Araç, bu durumları ele almak için DSPL oluşturma seçenekler / "ipuçları" girin. Bunların söz dizimi şöyledir: şöyle olur:
column1[option1=value1;option2=value2;...],column2[option1=value1;option2=value2;...],column3[...],...
Özellikle, seçenek listesinin sütun adının sağında bulunan parantezler ve sonraki seçenek ayarları noktalı virgül ile ayrılır. Her seçenek bir seçenek adı, eşittir işareti ve bir seçenek değeri.
DSPL Oluşturma Aracı şu anda aşağıdaki temel seçenekleri desteklemektedir:
Option | Açıklama | Varsayılan |
---|---|---|
type |
Bu sütunun DSPL veri türü; biri date olmalıdır,
float , integer veya string . |
Verilerden tahmin edilmiştir |
format |
Bu tarih sütununun biçimi; (DSPL'de olduğu gibi) bu biçim Joda DateTime standardı. | Verilerden tahmin edilmiştir |
slice_role |
Bu sütunun tüm dilimlerdeki rolünün ne olduğu; şunlardan biri olmalıdır:
dimension veya metric . |
Sütun date türündeyse dimension veya
string , aksi takdirde metric |
concept |
Bu sütunun temsil ettiği standart kavram, ör.
geo:country ; varsa kavram içe aktarılır ve
XML dosyasında üretilir. |
Yok |
extends |
Bu sütunun genişletildiği standart kavram, ör.
entity:entity |
Yok |
parent |
Bu sütunun üst konsepti. Bu üst öğe bir boyut olmalıdır veri kümesinin içinde tanımlanan (içe aktarılmayan) kavram; (verilmişse bu bilgiler proje yönetiminde bir kavram hiyerarşisini veri kümesiyle eşleştirilir. Her alt örneğin yalnızca bir üst örneği olabileceğini unutmayın. Birden fazla üst değerler algılanırsa araç bir hata üretir. |
Yok |
Değer Kapsamlı Görünümleri
Temel bilgilere ek olarak, yukarıda açıklanan seçenekler
DSPL Oluşturma Aracı, tek bir tablo verildiğinde dilim toplayıcıları da destekler.
Bu araç, sınırlı sayıda veriyi otomatik olarak
alt kümelerini de oluşturabilirsiniz. Örneğin, giriş tablonuz
zaman olmayan üç boyut (ör. dimension1
,
dimension2
ve dimensions3
) durumlarda, araç
birkaç dilim daha oluşturun: sadece dimension1
,
yalnızca dimension2
, yalnızca dimension1
ve
dimension2
vb.
Bu ek dilimlerin eklenmesi veri kümenizin keşfedilmesini kolaylaştırabilir çünkü yeni filtrenin üretilmesi için gereken boyut birlikte çalışır. Diğer yandan, bu süreç "yeni" verileri orijinal dosyada bulunamadı. Bu nedenle, doğru kullanılması; özel verilerinizi yayınlamadan önce, toplanmış sayıları veri kümesiyle eşleştirilir.
Toplama işlemi, sayfaya bazı ek seçeneklerin eklenmesiyle tetiklenir. giriş CSV başlığı:
Option | Açıklama | Varsayılan |
---|---|---|
aggregation |
Birden fazla değer birleştirilirken kullanılacak toplama yöntemi
seçmeniz gerekir; biri AVG , COUNT ve
MAX , MIN veya SUM ; yalnızca
metrikler için anlamlıdır. |
SUM |
rollup |
Değer true ise
bu sütun "toplanmış" (ör. toplu olarak toplanan);
yalnızca boyut kavramları için anlamlıdır. |
Yanlış |
total_val |
Bu sütunda, bu durumda saklanması gereken satırları gösteren değer. sütun toplanmıştır; yalnızca boyut kavramları için anlamlıdır. | None |
DSPL Oluşturma Aracı, daha sonra aşağıdaki algoritmayı kullanarak toplayıcıları hesaplar:
rollup
etiketlerinin değerlerini kullanarak mümkün olan tüm sütun kombinasyonları- Her kombinasyon için:
- Toplanan sütunların
total_val
parametresi olup olmadığı belirleyip satırları bu değere göre filtreleyin; Aksi takdirde, tüm satırları seçin - Toplanmış sütunları bırakın
- Satırları, kalan boyut sütunlarının değerlerine göre gruplandırın
- Şunda belirtilen yöntemi kullanarak her metriği toplayın:
aggregation
parametresi - Sonuç için dilim ve ilişkilendirilmiş tablo oluştur
- Toplanan sütunların
Her gruplandırmada yalnızca tek bir değer varsa ve
toplama işlevi SUM
(varsayılan değer) değerine ayarlanırsa
kaynaktaki ve oluşturulan tablolardaki metrik değerleri aynı olur, yani yeni değer olmaz
oluşturulur. Dolayısıyla, total_val
parametresini kullanmak ve
yalnızca bir adet “toplam” her kombinasyon için satır
boyutları, önceden hesaplanmış toplamaları doğrudan kaynakta depolamanızı sağlar.
Uyarı: Oluşturulan dilimlerin sayısı 2toplanmış sütuna eşittir. Bu seçeneğin, geniş bir çok uzun çalışma sürelerine ve/veya veri kümelerinde yer alır.
Gelişmiş Örnek
Önceki örnektekiyle aynı giriş verilerine sahip olduğumuzu, ancak artık ülkeler genelinde toplamları da içeriyor:
date,country,age_group,disease_cases 01/2000,US,old,102030 01/2000,MX,old,192939 01/2000,total,old,152012 01/2000,US,young,23131 01/2000,MX,young,12311 01/2000,total,young,241011 02/2000,US,old,143135 02/2000,MX,old,203131 02/2000,total,old,211310 02/2000,US,young,22990 02/2000,MX,young,12591 02/2000,total,young,240131
Her yaş grubunun toplamı, ülke değerlerinin toplamıyla eşleşmeyebilir Çünkü örneğin, bir proje yöneticisinin kullandığı metodolojideki veya diğer ülkeleri de listeler.
Şimdi, aşağıdaki ek bilgilere sahip bir DSPL veri kümesi oluşturmak istiyoruz özellikler:
- "Topla" 300.000'den fazla yalnızca yaş grubuna göre vaka sayısı
- Standart
geo:country
kullanın Kavramıcountry
sütunu için ödeyeceğiz, böylece otomatik olarak bunların tam adlarını, konumlarını v.b. al disease_cases
kavramınıquantity:amount
uzatın, Böylece, XML dosyasına birim bilgilerini (manuel olarak) ekleyebiliriz.
Bunu yapmak için, giriş CSV'sinin başlık satırını aşağıdaki gibi değiştiririz:
date,country[concept=geo:country;rollup=true;total_val=total],age_group,disease_cases[extends=quantity:amount]
Aracı tekrar çalıştırdığımızda, elde ettiğimiz ek bir dilim tablosu ülke arasındaki farkı ortadan kaldırır:
date,age_group,disease_cases 01/2000,old,152012 02/2000,old,211310 01/2000,young,241011 02/2000,young,240131
Toplam değerlere ve
total_val
etiketi eklediysek
hesaplanmış toplamını gösterir.
Ayrıca, XML dosyasındaki disease_cases
tanımı.
artık istendiği gibi quantity:amount
kaynağından gelen uzantıyı içeriyor. İlgili içeriği oluşturmak için kullanılan
country
tanımı XML dosyasından çıkarıldı çünkü
bunun yerine içe aktarılmış bir kavram kullanıyoruz.
Çeşitli adları, açıklamaları ve birim bilgilerini girdikten sonra, veri kümesi paketini sıkıştırabilir ve dışa aktarmak için Public Data Explorer'a yükleyebilirsiniz. görselleştirmeye çok yardımcı olur.