> For the complete documentation index, see [llms.txt](https://learn.vispeahen.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.vispeahen.com/kumanda-tablosu/oturum-degiskeni/7.-global-filtre-ile-toplu-baglama.md).

# 7. Global Filtre ile Toplu Bağlama

Oturum değişkenini her analize tek tek bağlamak yerine tek noktadan, **Global Filtre** üzerinden de tanımlayabilirsiniz. Global filtreye bağlanan değişken dashboard'daki tüm analizlere uygulanır; böylece analizleri tek tek düzenleme yükü ortadan kalkar. Bu bağlama, **İl** filtresinin **`fx`** **(Formül Editörü)** alanına bir **`CASE WHEN`** bloğu yazılarak yapılır. Adımlar aşağıda, "İl Bazında Satış ve Ürün Detay Raporu" üzerinden gösterilmektedir.

<figure><img src="https://3143653407-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0vZHisAf5833eglFw2GE%2Fuploads%2FUfxfFSuMSt5UhtY1StCm%2Fimage.png?alt=media&amp;token=c420409d-8e84-49d3-b130-93739d614d2b" alt=""><figcaption><p><mark style="color:$primary;"><strong>Görsel 12.</strong></mark> <em>İl Bazında Satış ve Ürün Detay Raporu ve sağdaki Global Filtre paneli.</em></p></figcaption></figure>

{% stepper %}
{% step %}

### Adım 1: Global Filtreyi Düzenleme

Global Filtre panelinde sağ alttaki **Düzenle** seçeneğine tıklayın. **Global Filtreyi Düzenle** ekranı açılır; sağda mevcut filtreler listelenir (Yıl, Ay, Ürün Kategorisi, İl).

<figure><img src="https://3143653407-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0vZHisAf5833eglFw2GE%2Fuploads%2FU5oXEsCm9g0rHEP1iQzK%2Fimage.png?alt=media&amp;token=58cd0f46-cdc9-49f7-bc68-9edad50b5d49" alt=""><figcaption><p><mark style="color:$primary;"><strong>Görsel 13.</strong></mark> <em>Global Filtreyi Düzenle — Filtreler listesi (Yıl, Ay, Ürün Kategorisi, İl).</em></p></figcaption></figure>
{% endstep %}

{% step %}

### Adım 2: İl Filtresinin Özelliklerini Açma

Bağlamak istediğiniz filtrenin (örnekte **İl**, SV kırılımı il bazlı olduğu için) yanındaki üç noktaya tıklayarak **Filtre Özellikleri** düzenleme modunu açın. Burada **İsim** (il), **Veri Tipi** (Metin) ve **Operatörleri Göster** gibi ayarlar görünür.

<figure><img src="https://3143653407-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0vZHisAf5833eglFw2GE%2Fuploads%2F9ZObq1oDn0gYdo8XueUT%2FScreenshot%202026-09-07%20164120.png?alt=media&amp;token=15ca1825-f693-4980-ba40-ef4905107b6e" alt=""><figcaption><p><mark style="color:$primary;"><strong>Görsel 14.</strong></mark> <em>Filtre Özellikleri — İsim: il, Veri Tipi: Metin, Operatörleri Göster.</em></p></figcaption></figure>
{% endstep %}

{% step %}

### Adım 3: **`fx`** Formül Editörü ile `CASE WHEN` Bağlama

Sağ üstteki `fx` butonuna tıklayarak **Formül Editörü** ekranına geçin. Sol altta **Oturum Değişkenleri** listesinde `perakende_sv` görünür. İl filtresini oturum değişkenine bir `CASE WHEN` bloğuyla bağlayın: kullanıcının yetkili olduğu `city_code` değerleri için ilin adını döndürün, aksi hâlde `NULL` verin. Sonra **Uygula** deyip editörü kapatın.

```sql
CASE
  WHEN "perakende_eticaret_data"."city_code" IN ${session.perakende_sv}
  THEN "perakende_eticaret_data"."city"
  ELSE NULL
END
```

<figure><img src="https://3143653407-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0vZHisAf5833eglFw2GE%2Fuploads%2FkXEfItKcQOi23QfvF7Fo%2Fimage.png?alt=media&amp;token=584d7033-8fd5-4cb4-9754-40f9efa2c83d" alt=""><figcaption><p><mark style="color:$primary;"><strong>Görsel 15.</strong></mark> <em>Formül Editörü — İl filtresi <code>CASE WHEN</code> ile <code>${session.perakende_sv}</code> değişkenine bağlanır.</em></p></figcaption></figure>

{% hint style="warning" %}
**Not:** `CASE WHEN` bloğu, oturum değişkenindeki `city_code` değerlerini filtrenin çalıştığı `city` (il adı) alanına eşler. Yetkili olmayan satırlar `ELSE NULL` ile `NULL`’a düşer; bir sonraki adımda bu satırlar filtrelenerek elenir.
{% endhint %}
{% endstep %}

{% step %}

### Adım 4: `NULL` Satırlarını Eleme (Varsayılan Filtre)

`CASE WHEN`’deki `ELSE NULL` nedeniyle oluşan boş satırları elemek için Varsayılan Filtre bölümüne `İl` | `Eşit Değil` | `NULL` kuralını ekleyin. Böylece yalnızca kullanıcının yetkili olduğu iller görünür.

<figure><img src="https://3143653407-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0vZHisAf5833eglFw2GE%2Fuploads%2FIjbQhbijAgkSo1lZKcAc%2Fimage.png?alt=media&amp;token=e2f8c06e-34c0-41d8-b4fb-7126d20c3e07" alt=""><figcaption><p><mark style="color:$primary;"><strong>Görsel 16.</strong></mark> <em>Varsayılan Filtre — <code>İl</code> | <code>Eşit Değil</code> | <code>NULL</code> kuralıyla yetkisiz (<code>NULL</code>) satırlar elenir.</em></p></figcaption></figure>
{% endstep %}

{% step %}

### Adım 5: Kaydetme

Önce **Filtreyi Kaydet**, ardından **Global Filtreyi Kaydet** ile değişiklikleri kaydedin ve raporu kapatın. Artık global filtre, oturum açan kullanıcının yetkisine göre tüm analizleri otomatik filtreler.
{% endstep %}
{% endstepper %}

{% hint style="info" icon="lightbulb" %}
**İpucu:** Global filtre yöntemi, çok sayıda analiz içeren dashboard’larda tercih edilir: SV tek bir yerde tanımlanır ve tüm analizler otomatik olarak aynı yetki kuralına tabi olur. Bu, hem kurulumu hızlandırır hem de ileride bakımı kolaylaştırır.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://learn.vispeahen.com/kumanda-tablosu/oturum-degiskeni/7.-global-filtre-ile-toplu-baglama.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
