# Variablen in Textblöcken

Variablen ermöglichen es Ihnen, dynamische Werte in **Textblöcken** zu verwenden, die sich automatisch aktualisieren. Sie können feste Werte oder SQL-Abfragen als Variablen definieren und diese überall in Ihren Berichten einfügen.

{% hint style="warning" %}
**Unterschied zu SQL-Variablen:** Diese Seite beschreibt **Bericht-Variablen** für Textblöcke. Dies ist NICHT das Gleiche wie [SQL-Variablen](/auswertungen/sql-editor/sql-variablen.md) in Auswertungen. Siehe [Unterschied unten](#bericht-variablen-vs-sql-variablen).
{% endhint %}

## Was sind Bericht-Variablen?

**Stellen Sie sich vor**, Sie erstellen einen monatlichen Bericht über Krankheitsfälle. Anstatt jedes Mal "Januar 2024" manuell zu ändern, könnten Sie eine Variable `$aktueller_monat` erstellen, die sich automatisch aktualisiert.

**Variablen sind**:

* Wiederverwendbare Werte, die Sie in Textblöcken einfügen können
* Entweder fest definiert ("Berlin") oder dynamisch über SQL-Abfragen
* Überall im Bericht verwendbar – in Überschriften, Texten, Listen
* Automatisch aktualisierend bei dynamischen Werten

## Wann Variablen verwenden?

**✅ Ideal für:**

* Wiederkehrende Berichte mit sich ändernden Zeiträumen
* Zentrale Werte, die an mehreren Stellen verwendet werden
* Dynamische Daten aus Datenbanken (z.B. aktuellste Zahlen)
* Konsistente Bezeichnungen über den gesamten Bericht

**Beispiele:**

* **Zeiträume**: "Bericht für $monat $jahr" → "Bericht für Januar 2025"
* **Metriken**: "Gesamt: $gesamtzahl Fälle" → "Gesamt: 1.234 Fälle"
* **Standorte**: "Region: $region" → "Region: Berlin"
* **Status**: "Stand: $letztes\_update" → "Stand: 15.01.2025"

## Variablen erstellen

{% stepper %}
{% step %}
**Variable direkt beim Schreiben erstellen**

Die schnellste Methode ist, Variablen direkt beim Schreiben zu erstellen:

1. Klicken Sie in einen Textblock in Ihrem Bericht
2. Tippen Sie **$** (Dollar-Zeichen)
3. Eine Auswahlliste erscheint mit vorhandenen Variablen
4. Geben Sie einen neuen Namen ein und drücken Sie **Enter**
5. Das Variablen-Einstellungsfenster öffnet sich automatisch

{% hint style="info" %}
Während Sie tippen, sehen Sie eine Vorschau der passenden Variablen. Die Autovervollständigung hilft Ihnen, schnell die richtige Variable zu finden.
{% endhint %}
{% endstep %}

{% step %}
**Variablentyp auswählen**

Entscheiden Sie, wie die Variable ihren Wert erhält:

{% tabs %}
{% tab title="Fester Wert" %}
**Fester Wert** – Für statische Texte

Verwenden Sie dies für:

* Bezeichnungen, die sich selten ändern
* Fixe Werte wie Abteilungsnamen oder Projekttitel
* Werte, die Sie zentral pflegen möchten

**Beispiel**:

* Variable: `projekt_name`
* Wert: "Digitalisierung 2025"
* Verwendung: "Das Projekt $projekt\_name zeigt folgende Ergebnisse..."
  {% endtab %}

{% tab title="SQL-Abfrage" %}
**SQL-Abfrage** – Für dynamische Daten

Verwenden Sie dies für:

* Aktuelle Zahlen aus der Datenbank
* Berechnete Werte
* Zeitabhängige Informationen

**Beispiel**:

* Variable: `gesamtzahl_faelle`
* SQL-Abfrage: `SELECT COUNT(*) FROM krankheitsfaelle WHERE monat = '2025-01'`
* Verwendung: "Im Januar wurden $gesamtzahl\_faelle Fälle registriert."

{% hint style="info" %}
Die Abfrage gibt die erste Spalte der ersten Zeile als Wert zurück. Stellen Sie sicher, dass Ihre Abfrage genau einen Wert liefert.
{% endhint %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Variable konfigurieren**

Füllen Sie die erforderlichen Felder aus:

**Bezeichnung** (max. 50 Zeichen)

* Der Name, den Sie und andere Nutzer sehen
* Sollte klar und beschreibend sein
* Beispiel: "Aktueller Monat", "Gesamtzahl Fälle"

**Systemname** (max. 50 Zeichen)

* Interner Identifikator (wird automatisch generiert)
* Kleinbuchstaben, Unterstriche statt Leerzeichen
* Beispiel: "aktueller\_monat", "gesamtzahl\_faelle"

**Wert** (bei festem Wert) oder **SQL-Abfrage** (bei Abfrage)

* Der tatsächliche Wert oder die SQL-Abfrage
* Bei Abfragen: Vorschau zeigt das Ergebnis

**Aus Filter-Leiste ausblenden** (optional)

* Aktivieren, wenn die Variable nur intern verwendet wird
* Variable kann weiterhin in Texten verwendet werden
  {% endstep %}

{% step %}
**Speichern und verwenden**

1. Klicken Sie auf **Speichern**
2. Die Variable wird in Ihren Text eingefügt
3. Sie sehen sofort den aktuellen Wert

Die Variable ist nun überall in Ihrem Bericht verfügbar!
{% endstep %}
{% endstepper %}

## Variablen verwenden

### Variable einfügen

1. Klicken Sie an die Stelle, wo die Variable erscheinen soll
2. Tippen Sie **$**
3. Wählen Sie eine Variable aus der Liste oder geben Sie einen neuen Namen ein
4. Die Variable wird eingefügt und zeigt ihren aktuellen Wert

### Variable bearbeiten

**Im Bearbeitungsmodus:**

1. Klicken Sie auf eine eingefügte Variable
2. Das Einstellungsfenster öffnet sich
3. Ändern Sie Wert, Abfrage oder Einstellungen
4. Speichern Sie – alle Vorkommen aktualisieren sich automatisch

### Variable formatieren

Variablen unterstützen Textformatierung:

* **Fett**, *Kursiv*, Unterstrichen
* Farben (Text und Hintergrund)
* Schriftgröße

Markieren Sie die Variable und wenden Sie die gewünschte Formatierung an – genau wie normalen Text.

## Variablentypen im Detail

### Feste Werte

**Wann verwenden:**

* Projektnamen, Abteilungen, Standorte
* Zeiträume, die manuell aktualisiert werden
* Zentrale Bezeichnungen für Konsistenz

**Vorteile:**

* Einfach zu verstehen und zu pflegen
* Sofort verfügbar, keine Datenbanklast
* Perfekt für wiederkehrende Texte

**Beispiel:**

```
Variable: abteilung
Wert: Gesundheitsamt Berlin-Mitte
```

Verwendung: "Das $abteilung meldet folgende Zahlen..." Ergebnis: "Das Gesundheitsamt Berlin-Mitte meldet folgende Zahlen..."

### SQL-Abfragen

**Wann verwenden:**

* Aktuelle Zahlen, die sich häufig ändern
* Berechnete Metriken
* Datengetriebene Werte

**Vorteile:**

* Immer aktuell
* Automatische Berechnung
* Reduziert manuelle Arbeit

**Wichtig:**

* Die Abfrage muss genau einen Wert zurückgeben (erste Spalte, erste Zeile)
* Variablen mit Abfragen zeigen "Lädt..." während der Ausführung
* Bei Fehlern erscheint "\[Kein Wert]"

**Beispiel:**

```sql
SELECT COUNT(*)
FROM einreichungen
WHERE status = 'abgeschlossen'
  AND datum >= '2025-01-01'
```

Verwendung: "In diesem Monat wurden $abgeschlossen Anträge abgeschlossen." Ergebnis: "In diesem Monat wurden 127 Anträge abgeschlossen."

## Variablen vs. Filter

| Aspekt                  | Variablen                 | Filter                                            |
| ----------------------- | ------------------------- | ------------------------------------------------- |
| **Zweck**               | Werte in Texten anzeigen  | Daten in Auswertungen filtern                     |
| **Sichtbar für Nutzer** | Nur der Wert              | Filtersteuerung sichtbar                          |
| **Verwendung**          | Textblöcke, Überschriften | Auswertungen, Datenquellen                        |
| **Änderbar**            | Nur von Editoren          | Von Betrachtern anpassbar (falls nicht verborgen) |

{% hint style="info" %}
**Tipp:** Sie können Variablen "Aus Filter-Leiste ausblenden", um sie nur für Texte zu nutzen, ohne dass Betrachter sie sehen oder ändern können.
{% endhint %}

## Häufige Fehler vermeiden

### ❌ Variable zeigt "\[Kein Wert]"

**Ursachen:**

* Bei festem Wert: Wert wurde nicht ausgefüllt
* Bei Abfrage: SQL-Abfrage liefert kein Ergebnis
* Bei Abfrage: Syntaxfehler in der SQL-Abfrage

**Lösung:**

* Klicken Sie auf die Variable, um Einstellungen zu öffnen
* Prüfen Sie den Wert oder die Abfrage
* Bei Abfragen: Testen Sie die SQL-Abfrage in einer Auswertung

***

### ❌ Variable zeigt "Fehlt: variablenname"

**Ursache:** Die Variable wurde gelöscht, wird aber noch im Text referenziert

**Lösung:**

* Löschen Sie die fehlerhafte Referenz aus dem Text
* Oder erstellen Sie die Variable neu mit dem gleichen Systemnamen

***

### ❌ Variable aktualisiert sich nicht

**Problem:** Wert bleibt alt, obwohl sich Daten geändert haben

**Ursache:** Abfrage-Variablen werden gecacht

**Lösung:**

* Aktualisieren Sie den Bericht (Seite neu laden)
* Oder öffnen Sie die Variable und speichern Sie sie erneut

## Bewährte Methoden

### ✅ Empfohlen

* **Klare Namen**: "gesamtzahl\_faelle" statt "var1"
* **Zentrale Werte**: Nutzen Sie Variablen für Werte, die mehrfach vorkommen
* **Dokumentation**: Bei komplexen Abfragen notieren Sie, was sie berechnen
* **Konsistenz**: Verwenden Sie einheitliche Namenskonventionen
* **Testen**: Prüfen Sie Abfrage-Variablen in der Vorschau

### ❌ Vermeiden Sie

* **Zu viele Variablen**: Mehr als 10-15 wird unübersichtlich
* **Komplexe Abfragen**: Halten Sie SQL-Abfragen einfach
* **Doppelte Systemnamen**: Jeder Systemname muss eindeutig sein
* **Sehr lange Werte**: Feste Werte sollten nicht zu lang sein (wirkt sich auf Anordnung aus)

## Variablen löschen

1. Klicken Sie auf die Variable im Text
2. Im Einstellungsfenster klicken Sie **Entfernen**
3. Bestätigen Sie die Löschung
4. Die Variable verschwindet aus dem Text

{% hint style="warning" %}
**Achtung:** Wenn Sie eine Variable löschen, die an mehreren Stellen verwendet wird, werden alle Vorkommen als "Fehlend" markiert. Sie müssen diese manuell aus dem Text entfernen.
{% endhint %}

## Bericht-Variablen vs. SQL-Variablen

Es gibt **zwei verschiedene Arten von Variablen** in Polyteia, die NICHT verwechselt werden sollten, auch wenn beide die `$`-Syntax verwenden:

### Bericht-Variablen (diese Seite)

**Was sind sie?** Dynamische Werte, die Sie in **Textblöcke** von Berichten einfügen können.

**Wo werden sie verwendet?**

* In Textblöcken (Überschriften, Absätze, Listen)
* Direkt im Bericht-Editor
* Überall, wo Sie Text schreiben können

**Wie erstellt man sie?**

* Tippen Sie `$` in einem Textblock
* Wählen Sie aus der Liste oder erstellen Sie eine neue Variable
* Konfigurieren Sie festen Wert oder SQL-Abfrage

**Was tun sie?**

* Zeigen einen Wert direkt im Text an
* Können feste Texte oder berechnete Werte sein
* Aktualisieren sich automatisch bei SQL-Abfragen

**Beispiel:**

```
Im Januar wurden $fallzahl Fälle registriert.
→ Ergebnis: Im Januar wurden 1.234 Fälle registriert.
```

***

### SQL-Variablen (in Auswertungen)

**Was sind sie?** Filter-Parameter für SQL-Abfragen in Auswertungen.

**Wo werden sie verwendet?**

* In der **WHERE-Klausel** von SQL-Abfragen
* Im SQL-Editor von Auswertungen
* Nur in Auswertungen, nicht in Textblöcken

**Wie erstellt man sie?**

* Schreiben Sie `$variable` in einer WHERE-Klausel
* Definieren Sie den Variablentyp (Text, Zahl, Datum)
* Konfigurieren Sie Einzel- oder Mehrfachauswahl

**Was tun sie?**

* Filtern Daten in SQL-Abfragen
* Werden zu interaktiven Filtern in Berichten
* Ermöglichen Benutzern, Daten zu filtern

**Beispiel:**

```sql
SELECT * FROM faelle
WHERE monat = $selected_month
→ Nutzer kann Monat im Bericht auswählen
```

→ **Mehr dazu:** [SQL-Variablen in Auswertungen](/auswertungen/sql-editor/sql-variablen.md)

***

### Schnellvergleich

| Aspekt           | Bericht-Variablen                  | SQL-Variablen                      |
| ---------------- | ---------------------------------- | ---------------------------------- |
| **Ort**          | Textblöcke in Berichten            | WHERE-Klausel in SQL-Abfragen      |
| **Zweck**        | Werte anzeigen                     | Daten filtern                      |
| **Erstellen**    | `$` in Textblock tippen            | `$` in WHERE-Klausel schreiben     |
| **Typen**        | Fester Wert oder SQL-Abfrage       | Text, Zahl, Datum, Mehrfachauswahl |
| **Sichtbar als** | Text im Bericht                    | Filter-Steuerung für Nutzer        |
| **Verwendung**   | "Im Januar gab es $fallzahl Fälle" | `WHERE datum >= $start_datum`      |
| **Änderbar von** | Nur Bearbeiter                     | Betrachter (als Filter)            |

### Wann welche verwenden?

**Verwenden Sie Bericht-Variablen, wenn Sie:**

* Einen Wert im Text anzeigen möchten
* Zeiträume, Metriken oder Bezeichnungen wiederverwenden wollen
* Dynamische Zahlen aus Datenbanken in Texten brauchen
* Konsistente Werte über den gesamten Bericht sicherstellen möchten

**Verwenden Sie SQL-Variablen, wenn Sie:**

* Daten in einer Auswertung filtern möchten
* Benutzern ermöglichen wollen, Filterkriterien zu ändern
* WHERE-Bedingungen in SQL-Abfragen dynamisch gestalten wollen
* Interaktive Filter in Berichten benötigen

{% hint style="info" %}
**Zusammenfassung:** Bericht-Variablen sind für **Texte** (zeigen Werte an), SQL-Variablen sind für **Abfragen** (filtern Daten). Beide verwenden `$`, erfüllen aber völlig unterschiedliche Zwecke.
{% endhint %}

## Weitere Hilfe

**→** [**Bericht erstellen**](/berichte/bericht-erstellen.md) – Grundlagen für Berichte

**→** [**Berichtsfilter**](/berichte/filter.md) – Interaktive Filter für Auswertungen

**→** [**Dynamische Filteroptionen**](/berichte/filter/dynamische-filteroptionen.md) – SQL-gesteuerte Filter


---

# Agent Instructions: 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:

```
GET https://docs.polyteia.com/berichte/textvariablen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
