Ana içeriğe atla
DatasetItem’lar bir Dataset içindeki tekil satırlardır. Her item; bir anahtar (name), yıl (year) ve katsayıları içeren bir JSON (data) ile opsiyonel açıklama, bağlantı ve etiketler içerir.

Veri Modeli (Gerçek)

Zorunlu alanlar:
  • datasetId: ait olduğu Dataset
  • name: item anahtarı (öneri: küçük harf, kebab/underscore)
  • year: sayı
  • data: katsayı/özellikleri içeren JSON nesnesi
Opsiyonel alanlar:
  • description: metin
  • link: kaynak URL
  • tags: string[] (arama/kategori)
Tekillik ve davranış:
  • (datasetId, name, year) tekrarı aynı item kabul edilir
  • İçe aktarma bu durumu kontrol eder ve satırları atlayabilir/raporlar
Örnek:
{
  "name": "natural-gas-commercial",
  "year": 2024,
  "data": { "kgCO2e": 53.02, "kgCO2": 52.91, "label": "Commercial NG" },
  "description": "Ticari doğal gaz faktörleri",
  "link": "https://example.com/source",
  "tags": ["natural-gas", "scope-1"]
}

Hesaplamalarda Kullanım

Aktivite Tanımlarında $datasets yardımcısını kullanın:
// Belirli bir item’ın tüm verisi (yıl verilmezse en güncel yıl)
const item = await $datasets.getItem("epa-factors", "natural-gas-commercial", $year);

// Tek bir katsayı çekme
const ef = await $datasets.getCoefficient("epa-factors", "natural-gas-commercial", "kgCO2e", $year);

// Bir dataset’ten birden fazla item (isteğe bağlı yıl filtresiyle)
const items = await $datasets.getDataset("epa-factors", $year);

// Item adlarına göre sözlük
const all = await $datasets.getCoefficients("epa-factors", $year);
Notlar:
  • getItem/getCoefficient eşleşme yoksa null döner
  • getDataset/getCoefficients eşleşme yoksa boş koleksiyon döner

CSV İçe/Dışa Aktarma

İçe aktarma Özelleştirme → Dataset’ler ve dataset detay sayfasından yapılabilir. Her satırda mevcut bir datasetId verebilir ya da datasetName ile (yoksa) kurum altında yeni dataset oluşturulmasını sağlayabilirsiniz. Her satır için gerekli sütunlar:
  • name (item anahtarı)
  • year (sayı)
  • datasetId veya datasetName
Opsiyonel sütunlar:
  • description, link, tags
  • data_* ile başlayan tüm sütunlar data altına yazılır (örn. data_kgCO2e{ kgCO2e: <değer> }).
Minimal CSV örneği:
name,year,datasetName,data_kgCO2e,data_kgCO2,tags,description
natural-gas-commercial,2024,epa-factors,53.02,52.91,"natural-gas,scope-1",Ticari NG
Dışa aktarma data_* sütunları içeren benzer yapıyı üretir. Genel dataset dışa aktarma yalnızca ADMIN tarafından yapılabilir.

Arama ve Büyük Dataset’ler

  • Dataset detay sayfası name, description, tags ve data metni üzerinde arama yapar
  • Büyük dataset’lerde sayfalama + sunucu tarafı arama ile performans korunur

Pano Eşlemeleri

Bir gösterge dataset değerlerini kullanıyorsa, widget’lar eşlemeleri datasetId::itemName::field şeklinde saklar. Sistem, yıl/alan eksikleri gibi durumları tespit edip raporlar.

En İyi Uygulamalar

  • Kavramsal olarak tek bir item için kararlı bir name seçin (örn. us_grid_avg, natural-gas-commercial)
  • Sayısal değerleri sayı olarak tutun (CSV düz sayıları dönüştürür)
  • Selektörlerde daha güzel görünen metin için data içine kısa bir label ekleyin
  • Aramayı kolaylaştırmak için anlamlı tags ekleyin
  • Aynı dataset içinde (name, year) tekrarından kaçının