Global Filtreler
Global filtre, board üzerindeki tüm widget'lara aynı parametre değerini geçiren bir mekanizmadır. Compass sorgularındaki global variable'lar bir Horizon board'a bağlandığında, board üst panelinden tek bir kontrol noktasıyla tüm chart'lar aynı değerle çalıştırılır. En tipik kullanım: tarih aralığı seçimi, vardiya seçimi, tesis/hat filtresi.
Ön Koşul
Compass tarafında ilgili sorgular :global_var_name formatında global variable kullanmalıdır. Compass tarafında bu tanım yoksa global filtre paneli boş gelir.
1. Global Variable Tanımı (Compass)
Compass sorgusunda parametre tanımı şu şekildedir:
SELECT
saat,
SUM(uretim_adet) AS adet
FROM uretim_log
WHERE
saat BETWEEN :baslangic AND :bitis
AND tesis_id = :tesis
GROUP BY saat
ORDER BY saat
Burada :baslangic, :bitis ve :tesis global variable'lardır. Compass tarafında her variable için tip (text/number/date), default, liste değerleri tanımlanır.
→ Compass'ta global variable kullanımı için: Compass
2. Board Toolbar — Global Filter Butonu
Horizon board üst barında Global Filter butonu (üzerinde "GF" rozet) bulunur. Tıkladığınızda board canvas'ının üst tarafında Global Filter Panel açılır.
3. Global Filter Panel İçeriği
Panel, board'da kullanılan tüm widget'ların Compass sorgularındaki birleşim kümesini gösterir. Yani:
- Widget A'nın sorgusunda
:baslangic,:bitisvarsa - Widget B'nın sorgusunda
:baslangic,:tesisvarsa - Panel
:baslangic+:bitis+:tesisolarak 3 alan gösterir
| Alan Tipi | Görsel |
|---|---|
| Date / DateTime | Date picker |
| Number | Sayısal input |
| Text | Text input |
| List | Dropdown (Compass'ta tanımlı seçenekler) |
4. Filtre Uygulama
Bir veya birden fazla alanı doldurup Apply butonuna tıklayın.
| Davranış |
|---|
| Tüm widget'lar yeni değerlerle yeniden sorgulanır |
| O global variable'ı kullanmayan widget'lar etkilenmez |
| Default değer set edilmişse alan boş bırakıldığında default kullanılır |
| Reset butonu tüm değerleri default'a döndürür |
5. Default Değerler
Compass'ta her global variable için bir default tanımlanmıştır. Board ilk açıldığında bu default değer kullanılır. Default tanımı yoksa widget veri çekmez ve "Missing parameter:
Tarih Defaultları
Tarih aralığı parametreleri için Compass'ta now() - interval '24 hours' gibi dinamik defaultlar tanımlayın. Board her açılışta son 24 saatlik veriyi göstermiş olur.
6. Filtre Persistansı
| Davranış | Sonuç |
|---|---|
| Filtreyi değiştirip Apply | Sadece o oturumda geçerli |
| Sayfa yenile (F5) | Default değerlere döner |
| Board kaydedildiğinde son filtre değerleri persist edilmez | — |
Default Üzerinde Çalışın
Sık kullanılan değer aralıklarını Compass'ta default olarak tanımlamak en doğrusudur; her açılışta manuel girmek zorunda kalmazsınız.
7. Çakışan Tip Tanımları
Aynı global variable adının iki farklı widget'ta farklı tipte tanımlandığı durumda (örn. :tarih bir widget'ta date, başka widget'ta text) panel ilk gördüğü tip için tek bir alan açar. Bu durum genellikle Compass'ta tutarsız sorgu yazımından kaynaklanır.
Tutarlı İsimlendirme
Bir global variable'ı tüm sorgularda aynı ad ve aynı tip ile kullanın. Tesis1'de :baslangic, Tesis2'de :start_date yerine her ikisinde de :baslangic.
8. Sık Karşılaşılan Hatalar
| Belirti | Olası Neden | Çözüm |
|---|---|---|
| Panel boş | Hiçbir widget global variable kullanmıyor | Compass'ta sorgulara :variable ekleyin |
| "Missing parameter" hatası | Default tanımlı değil ve değer girilmedi | Compass'ta default belirleyin veya panelde değer girin |
| Apply çalışmıyor | Aynı isimde iki farklı tip | Compass tanımlarını standardize edin |
