For the complete documentation index, see llms.txt. This page is also available as Markdown.

9. Diğer Kullanım Senaryoları

Oturum değişkeni yalnızca yetkilendirme için değildir. Kullanıcıdan bağımsız, dinamik değerler üretmek için de kullanılabilir. Aşağıda sık karşılaşılan birkaç örnek verilmiştir. Örnekler PostgreSQL sözdizimindedir; başka bir veritabanı kullanıyorsanız aynı mantığı o veritabanının kendi sözdizimiyle uygulamanız gerekir.

Not: SQL örnekleri PostgreSQL sözdizimine göredir. Oracle, SQL Server, MySQL gibi diğer veritabanlarında tarih/yıl fonksiyonları farklılık gösterir; ilgili motorun kendi sözdizimini kullanın. Örneğin güncel yıl için PostgreSQL'de extract(year from current_date), SQL Server'da YEAR(GETDATE()), Oracle'da EXTRACT(YEAR FROM SYSDATE), MySQL'de YEAR(CURDATE()) yazılır.

9.1 Güncel Yıl ile Açılış

Tüm dashboard’ların, açıldığı yılın verisiyle gelmesi istenirse; güncel yılı döndüren bir oturum değişkeni tanımlanıp Yıl filtresine bağlanabilir:

-- Ornek SV adi: guncel_yil
select extract(year from current_date) as yil

Ardından Yıl filtresine ${session.guncel_yil} bağlanır. Böylece her yıl başında filtreyi elle güncellemeye gerek kalmadan raporlar otomatik olarak içinde bulunulan yıla göre açılır.

9.2 Güncel Ayın Son Günü / Tarih Aralığı

Tarih aralığının, içinde bulunulan ayın son gününe (ya da bugüne) göre gelmesi istenirse dinamik tarih değerleri üretilebilir:

-- Guncel ayin son gunu
select (date_trunc('month', current_date)
        + interval '1 month - 1 day')::date as ay_sonu

Benzer biçimde ayın ilk günü date_trunc('month', current_date), bugün ise current_date ile elde edilir. Bu değerler tarih filtrelerinin varsayılanı olarak kullanılabilir.

9.3 Güncel Ay

Raporların içinde bulunulan ayla açılması için:

-- Ornek SV adi: guncel_ay
select extract(month from current_date) as ay

9.4 Kullanıcı Bağlamı ve Kişiselleştirme

Oturum açan kullanıcının rolü, departmanı veya tercih ettiği para birimi/dil gibi bilgiler de bir oturum değişkeni ile taşınabilir; bu değerler hem başlıklarda gösterilebilir hem de filtreleme/kişiselleştirme için kullanılabilir. Yöntem aynıdır: bir sorgu ile değer üretilir, ilgili alana ${session.<sv_adi>} biçiminde bağlanır.

Last updated