# Willkommen bei Polyteia

### Über Polyteia

Polyteia ist die Software-Suite für die öffentliche Verwaltung. Als Mitarbeitende in Bundes-, Landes- und Kommunalbehörden können Sie mit der Polyteia-Plattform Ihre Bestandssysteme nahtlos anbinden, Daten harmonisieren und diese in KI-gestützten Workflows nutzen: mit Formularen, in der Fallbearbeitung sowie für Auswertungen und Berichte. Sparen Sie so Zeit, entlasten Sie Ihr Personal und stärken Sie die Handlungsfähigkeit Ihrer Verwaltung mit einer vollständig integrierten Plattform.

### Beliebte Inhalte

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td align="center"><strong>Erste Schritte</strong></td><td align="center">Schritt-für-Schritt-Anleitung zum Start in der Polyteia-Plattform</td><td><a href="/pages/AIHmJVl59C7C29rXVL0q">/pages/AIHmJVl59C7C29rXVL0q</a></td><td><a href="/files/J5t1Hr4dVccxQXFN4m1W">/files/J5t1Hr4dVccxQXFN4m1W</a></td></tr><tr><td align="center"><strong>Daten hochladen</strong></td><td align="center">Wie Sie eine Datei in einen Datensatz hochladen</td><td><a href="/pages/AZH52Ekueh1k8U6wHqfx">/pages/AZH52Ekueh1k8U6wHqfx</a></td><td><a href="/files/RVfIzo0VE53R1lMNDsiz">/files/RVfIzo0VE53R1lMNDsiz</a></td></tr><tr><td align="center"><strong>Datensätze</strong></td><td align="center">Speichern, erkunden und teilen Sie Daten</td><td><a href="/pages/5J5a2ABOFghL8eUTfz8L">/pages/5J5a2ABOFghL8eUTfz8L</a></td><td><a href="/files/cpQpouqY7DIJTSmwkUiC">/files/cpQpouqY7DIJTSmwkUiC</a></td></tr><tr><td align="center"><strong>Daten erkunden</strong></td><td align="center">Filtern, aggregieren und visualisieren Sie Ihre Daten</td><td><a href="/pages/z5si7JoQIzIvIFzsCrdl">/pages/z5si7JoQIzIvIFzsCrdl</a></td><td><a href="/files/geb2S24XzPwEwf8vnPoM">/files/geb2S24XzPwEwf8vnPoM</a></td></tr><tr><td align="center"><strong>Diagramm erstellen</strong></td><td align="center">Bereiten Sie Auswertungen visuell auf</td><td><a href="/pages/hAKWfkzcQ9aSGNbkJf57">/pages/hAKWfkzcQ9aSGNbkJf57</a></td><td><a href="/files/pZgJGCusR4rwhovOhUt4">/files/pZgJGCusR4rwhovOhUt4</a></td></tr><tr><td align="center"><strong>Berichte</strong></td><td align="center">Erstellen Sie Berichte aus Auswertungen und Kontext</td><td><a href="/pages/JT7O0HDQvFUPDvTfacrG">/pages/JT7O0HDQvFUPDvTfacrG</a></td><td><a href="/files/dxWoCnVmYQ0BHjOJ4M23">/files/dxWoCnVmYQ0BHjOJ4M23</a></td></tr></tbody></table>


# Erste Schritte

Legen Sie mit der Polyteia-Plattform los.

## Erste Schritte in der Polyteia-Plattform

{% stepper %}
{% step %}
**Anmelden und zusätzliche Sicherheitsmaßnahmen aktivieren**

Melden Sie sich zunächst mit Ihrer E-Mail-Adresse an. Standardmäßig erhalten Sie einen Einmal-Code per E-Mail. Alternativ können Sie nach der ersten Anmeldung unter **Einstellungen → Konto** ein Passwort festlegen und die zeitbasierte Einmalpasswort-Authentifizierung aktivieren.

Wir empfehlen:

* Ein sicheres Passwort zu setzen
* TOTP mit einer Authenticator-App zu aktivieren
* Zugriffsschlüssel (PAKs) für den API-Zugang anzulegen, falls erforderlich
  {% endstep %}

{% step %}
**Konto und Profil**

Ihr **Konto** ist der Zugang zur Polyteia-Plattform – es enthält Ihre Anmeldedaten und persönlichen Einstellungen.

Ihr **Profil** hingegen existiert innerhalb jeder Organisation, der Sie angehören. Darüber werden Sie für andere Mitglieder der Organisation sichtbar. Sie können Ihren Profilnamen ändern oder eine Organisation jederzeit verlassen.
{% endstep %}

{% step %}
**Organisation**

Jede Organisation ist ein abgesicherter Bereich mit:

* **Mitgliedern**
* **Gruppen**
* **Arbeitsbereichen**
* **Lösungen**
* **Ressourcen** (z. B. Datensätze und Auswertungen)

Navigieren Sie über das Seitenmenü, wechseln Sie Organisationen über das Dropdown-Menü oben links und nutzen Sie die Pfad-Navigation oben mittig zur Orientierung.
{% endstep %}

{% step %}
**Arbeitsbereiche und Lösungen**

Die **Startseite** zeigt alle Ihre Arbeitsbereiche als aufklappbare Bereiche:

* Klicken Sie auf einen Arbeitsbereich, um die darin enthaltenen Lösungen zu sehen
* Lösungen werden als Karten angezeigt
* Nutzen Sie die Suche oben, um schnell nach Lösungen zu suchen

Klicken Sie auf eine Lösungskarte, um die Lösung zu öffnen.
{% endstep %}

{% step %}
**Datenzugriff und -verwaltung**

Gehen Sie zu den Bereichen **Datensätze** und **Auswertungen**, um die Daten Ihrer Organisation zu erkunden:

* In **Datensätze** laden Sie Rohdaten hoch und strukturieren sie
* In **Auswertungen** erstellen Sie Diagramme und Tabellen, um Ihre Daten anschaulich zu machen

Nutzen Sie Filter, Berechtigungen, Tags und Gruppierungen zur effektiven Verwaltung Ihrer Daten.
{% endstep %}

{% step %}
**Teilen und Zusammenarbeit**

Das Berechtigungsmodell der Polyteia-Plattform ist präzise: Jede Ressource kann einzeln geteilt werden – mit Rollen wie **Betrachter**, **Bearbeiter** oder **Eigentümer**.

Sie können:

* Neue Mitglieder einladen
* Diese Gruppen zuweisen
* Über **Polyteia Connect** Organisationen verknüpfen und Mitglieder organisationsübergreifend teilen

So ermöglichen wir maximale Sicherheit bei gleichzeitiger Flexibilität in der Zusammenarbeit.
{% endstep %}

{% step %}
**Hilfe**

Klicken Sie unten links auf **Hilfe** für die Dokumentation oder kontaktieren Sie uns direkt unter **<support@polyteia.de>**.

Wir unterstützen Sie dabei, datenbasiert bessere Entscheidungen zu treffen – effizient, sicher und kollaborativ.
{% endstep %}
{% endstepper %}


# Anmelden

Einfach über das Internet per Web-Browser in der Polyteia-Plattform anmelden.

Die Polyteia-Plattform ist eine webbasierte Software. Das heißt, Sie können mühelos über jeden einschlägigen Web-Browser (z. B. Chrome oder Firefox) auf die Software zugreifen. Für den Zugriff auf die Polyteia-Plattform müssen sich Nutzer mit ihrer E-Mail-Adresse anmelden. Standardmäßig wird ein Einmal-Code an Ihr Postfach gesendet. Alternativ können Sie ein Passwort festlegen und die Zwei-Faktor-Authentifizierung (TOTP) aktivieren, um die Sicherheit zu erhöhen.

### Anmeldung mit Einmal-Code

Die Standardanmeldung erfolgt passwortlos – Sie brauchen sich kein Passwort zu merken. Stattdessen erhalten Sie bei jeder Anmeldung einen 6-stelligen Code per E-Mail.

{% stepper %}
{% step %}
**Polyteia-Webseite öffnen**

{% tabs %}
{% tab title="Über E-Mail-Verweis" %}
Wenn Sie eine E-Mail mit einem Verweis zur Polyteia-Plattform erhalten haben, klicken Sie einfach auf den Verweis in der E-Mail. Die Anmeldeseite öffnet sich automatisch in Ihrem Browser.
{% endtab %}

{% tab title="Direkt im Browser" %}
Öffnen Sie Ihren Web-Browser (z. B. Chrome, Firefox oder Edge) und geben Sie eine der folgenden Adressen in die Adresszeile ein:

* **app.polyteia.com** – für die Anmeldung an der Plattform
* **portal.polyteia.com** – für das Ausfüllen eines Formulars
  {% endtab %}
  {% endtabs %}
  {% endstep %}

{% step %}
**E-Mail-Adresse eingeben**

Geben Sie Ihre E-Mail-Adresse in das Feld ein und klicken Sie auf **Weiter**.

{% hint style="warning" %}
**Für Formulare:** Sie müssen die E-Mail-Adresse verwenden, an die die Einladung zum Ausfüllen des Formulars gesendet wurde. Mit einer anderen E-Mail-Adresse erhalten Sie keinen Zugriff.
{% endhint %}
{% endstep %}

{% step %}
**E-Mail-Postfach öffnen**

Öffnen Sie Ihr E-Mail-Postfach. Sie haben eine neue E-Mail von Polyteia erhalten.

{% hint style="warning" %}
Schauen Sie auch im **Spam-Ordner** oder **Werbung-Ordner** nach, falls die E-Mail nicht im Posteingang erscheint. Je nach Firewall-Einstellungen kann es einige Minuten dauern, bis das Passwort bei Ihnen ankommt.
{% endhint %}
{% endstep %}

{% step %}
**Einmal-Code kopieren**

In der E-Mail finden Sie einen **6-stelligen Code** (z. B. `482619`). So kopieren Sie den Code:

1. Markieren Sie den Code mit der Maus (klicken und ziehen)
2. Drücken Sie **Strg + C** (Windows) zum Kopieren

Alternativ: Klicken Sie mit der rechten Maustaste auf den markierten Code und wählen Sie **Kopieren**.
{% endstep %}

{% step %}
**Code einfügen und anmelden**

Wechseln Sie zurück zur Polyteia-Seite:

1. Klicken Sie in das Eingabefeld für den Code
2. Drücken Sie **Strg + V** (Windows) oder **Cmd + V** (Mac) zum Einfügen
3. Klicken Sie auf **Anmelden**

{% hint style="info" %}
Sie können den Code auch manuell abtippen, wenn das Kopieren nicht funktioniert.
{% endhint %}
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Der Code ist nur **15 Minuten** gültig. Bitte beachten Sie, dass es in Einzelfällen einige Minuten dauern kann, bis der Einmalcode per E-Mail bei Ihnen eingeht. **Fordern Sie in dieser Zeit keinen neuen Code an, da dadurch der zuvor angeforderte Code ungültig wird.**
{% endhint %}

#### Code nicht erhalten?

* Überprüfen Sie Ihren **Spam-Ordner** und **Werbung-Ordner**
* Warten Sie 1-2 Minuten – manchmal dauert die Zustellung etwas
* Klicken Sie auf **Einmal-Code erneut senden**
* Kontaktieren Sie uns unter **<support@polyteia.de>**, wenn das Problem weiterhin besteht

### Anmeldung mit Passwort

Wenn Sie in den Kontoeinstellungen ein Passwort hinterlegt haben, können Sie sich alternativ mit E-Mail und Passwort anmelden.

Um die Methode zu wechseln, klicken Sie auf der Anmeldeseite auf **Mit Passwort anmelden**.

{% hint style="info" %}
Sie müssen zuvor unter **Einstellungen → Konto** ein Passwort festlegen.
{% endhint %}

### Passwort vergessen?

Wenn Sie Ihr Passwort vergessen haben, können Sie es direkt von der Anmeldeseite aus zurücksetzen. Sie brauchen dafür nur Zugang zu Ihrem E-Mail-Postfach.

{% stepper %}
{% step %}
**Auf „Passwort vergessen?" klicken**

Klicken Sie auf der Anmeldeseite auf den Link **Passwort vergessen?**. Er befindet sich unterhalb des Passwort-Eingabefelds.
{% endstep %}

{% step %}
**E-Mail-Adresse eingeben**

Geben Sie Ihre E-Mail-Adresse ein und klicken Sie auf **Link zum Zurücksetzen senden**. Wenn ein Konto mit dieser Adresse existiert, erhalten Sie in Kürze eine E-Mail mit einem Link.
{% endstep %}

{% step %}
**Link in der E-Mail öffnen**

Öffnen Sie Ihr E-Mail-Postfach und klicken Sie auf den Link in der E-Mail. Eine Seite zum Zurücksetzen Ihres Passworts öffnet sich.

{% hint style="warning" %}
Der Link ist nur begrenzt gültig. Wenn er abgelaufen ist, fordern Sie über **Passwort vergessen?** einen neuen Link an.
{% endhint %}
{% endstep %}

{% step %}
**Neues Passwort festlegen**

Geben Sie Ihr neues Passwort ein und bestätigen Sie es. Das Passwort muss mindestens 8 Zeichen lang sein und mindestens ein Sonderzeichen enthalten.

Wenn Sie die Zwei-Faktor-Authentifizierung (TOTP) aktiviert haben, werden Sie zusätzlich nach dem 6-stelligen Code aus Ihrer Authentifizierungs-App gefragt.

Klicken Sie auf **Passwort zurücksetzen**.
{% endstep %}

{% step %}
**Anmelden**

Nach dem erfolgreichen Zurücksetzen werden Sie zur Anmeldeseite weitergeleitet. Melden Sie sich mit Ihrem neuen Passwort an.
{% endstep %}
{% endstepper %}

### Zwei-Faktor-Authentifizierung (TOTP)

Für noch mehr Sicherheit aktivieren Sie TOTP mit einer Authentifizierungs-App wie Microsoft Authenticator, Duo oder Google Authenticator.

Nach Eingabe Ihres Codes oder Passworts werden Sie aufgefordert, einen weiteren 6-stelligen Code aus Ihrer App einzugeben.

Wir empfehlen die Aktivierung aller drei Methoden:

* Einmal-Code für den Standardzugriff
* Passwort als Rückfalloption
* TOTP für zusätzlichen Schutz


# Konzepte

Erhalten Sie ein grundlegendes Verständnis der Struktur von Polyteia, damit Sie Ihren Arbeitsbereich und Lösungen einrichten, Ressourcen erstellen und effizient navigieren können.

## Grundlegende Konzepte

### Organisationen

Eine Polyteia-Organisation ist der Container für alle Arbeitsbereiche, Lösungen und Ressourcen, die sich auf eine einzelne Behörde beziehen. Als Nutzer können Sie Profile in einer oder mehreren Organisationen haben und zwischen diesen Konten über das Dropdown-Menü in der oberen linken Ecke der Anwendung wechseln. Jede Organisation hat eine eindeutige URL im Format \<X>. Wenn Sie sich bei Polyteia anmelden, melden Sie sich bei einer bestimmten Organisation an.

### Arbeitsbereiche

Eine Organisation enthält einen oder mehrere Arbeitsbereiche. Arbeitsbereiche repräsentieren typischerweise Abteilungen oder größere Teams von Personen, die häufig zusammenarbeiten. Sie enthalten Lösungen zur Durchführung spezifischer Aktionen innerhalb einer solchen Abteilung oder eines Teams.

### Lösungen

Eine Lösung ist ein Container für Ressourcen (z.B. Datensätze oder Formulare), die sich auf eine fachspezifische Aufgabe, Mission oder ein Problem innerhalb einer Abteilung beziehen. Als Nutzer können Sie mit anderen Lösungsmitgliedern Ihres Arbeitsbereichs zusammenarbeiten, um Ressourcen zu erstellen und zu pflegen sowie Workflows auszuführen. Eine zentrale Ressource der Lösung ist der Datensatz als Quelle der Wahrheit, auf den sich alle anderen Ressourcen beziehen.

### Ressourcen

Eine Ressource ist das kleinste Objekt innerhalb einer Organisation und repräsentiert die Arbeit, die Nutzer in Polyteia verrichten. Nutzer können verschiedene Ressourcen erstellen und mit anderen innerhalb einer Lösung daran zusammenarbeiten, wie z.B. Datensätze mit Tabellen und Ansichten, Auswertungen, Berichte, Formulare, Datenpipelines und Workflows. Jede Ressource hat eine spezifische Anwendungsoberfläche, die auf ihre Bedürfnisse zugeschnitten ist.

## Ressourcen organisieren

Ressourcen können auf verschiedene Weise organisiert werden, um einen effizienten Zugriff und eine klare Struktur zu gewährleisten:

### Tags

Tags sind Etiketten, mit denen Sie Ressourcen wie Datensätze oder Auswertungen übersichtlich kategorisieren können. Sie haben die Möglichkeit, eigene Tags zu erstellen, zu bearbeiten oder zu löschen und ihnen individuelle Farben sowie Beschreibungen zuzuweisen.

### Berechtigungen

Jede Ressource verfügt über ein präzises Berechtigungsmodell mit drei Rollen:

* **Eigentümer** haben vollständige Kontrolle, einschließlich der Verwaltung von Einstellungen, Freigabezugriff und Eigentumsübertragung.
* **Bearbeiter** können Inhalte bearbeiten, jedoch weder löschen noch freigeben.
* **Betrachter** können die Ressource lediglich einsehen, aber keine Änderungen vornehmen.

### Gruppen

Gruppen helfen Ihnen, den Zugriff für mehrere Personen gemeinsam zu verwalten. Sie können Personen einer Gruppe zuweisen und diese z.B. beim Teilen von Datensätzen oder Auswertungen verwenden.

## Aktionen durchführen

Innerhalb der Polyteia-Plattform können Sie verschiedene Aktionen ausführen:

### Daten verwalten

* Datensätze hochladen und bearbeiten
* Auswertungen erstellen und speichern
* Berichte generieren und teilen
* Formulare erstellen und verwalten

### Zusammenarbeit

* Ressourcen mit anderen Nutzern teilen
* Gruppen für effiziente Berechtigungsverwaltung nutzen
* Über Polyteia Connect mit anderen Organisationen zusammenarbeiten

### Dokumentation

* Ausführliche Dokumentation zu Ressourcen und Lösungen erstellen
* Kontext und Hintergrundinformationen hinzufügen
* Best Practices und Anleitungen dokumentieren


# Neuigkeiten und Updates

Hier finden Sie alle Neuigkeiten rund um die Polyteia-Plattform!

## Version 3.1.4 — Juli 2026

### Berichte als PDF exportieren — neu gestaltet

* **PDF-Export mit Vorschau**: Der PDF-Export für Berichte wurde komplett überarbeitet. Ein neuer Dialog ermöglicht es, gezielt einzelne Seiten auszuwählen, zwischen **Hoch- und Querformat** zu wählen und das Ergebnis in einer Vorschau zu prüfen — bevor die Datei heruntergeladen wird.
  * Einzelne Seiten oder alle Seiten auf einmal exportieren
  * Querformat für breite Tabellen und Diagramme
  * Vorschau direkt im Dialog
  * Optional: Kopie der PDF per E-Mail erhalten
* **PDF-Export auch für Berichtsansichten**: Öffentliche und interne Berichtsansichten können jetzt ebenfalls als PDF exportiert werden — direkt aus der Ansicht heraus.

### Kompakte Tabellenansicht

* **Kompakt-Darstellung für Tabellen**: Tabellendiagramme haben jetzt eine **Kompakt**-Variante. Sie zeigt mehr Zeilen auf einmal, indem die Zeilenhöhe reduziert wird. Ideal für lange Listen.
* **Leere Spalten ausblenden**: Mit der neuen Option **Leere Spalten ausblenden** werden Spalten ohne Inhalt automatisch nicht angezeigt. Das hält Tabellen übersichtlich.

### Konfigurierbare Y-Achse für Diagramme

* **Y-Achse manuell festlegen**: Bei Balken- und Liniendiagrammen können jetzt **Minimum** und **Maximum** der Y-Achse direkt als Zahlenwert eingegeben werden. Damit lassen sich mehrere Diagramme mit identischer Skala vergleichen.

### Verbesserungen und Fehlerbehebungen

* Drag-and-Drop beim Bearbeiten von Berichtsseiten verbessert
* PDF-Export: Tabellen werden jetzt zuverlässiger auf die Seitenbreite angepasst und umbrechen seltener ungewollt auf mehrere Seiten
* PDF-Export: Seitengröße wird automatisch nach gewählter Ausrichtung (A4 Hoch- oder Querformat) gesetzt

***

## Version 3.1.3 — Juni 2026

### Verbesserungen und Fehlerbehebungen

* Seitenleiste im Berichts-Editor: Die visuelle Hierarchie der Seiten wurde deutlicher gestaltet. Aktive Seiten und Abschnitte sind jetzt leichter zu unterscheiden.
* Bezeichnungen und Texte in der Benutzeroberfläche wurden sprachlich vereinheitlicht und Tippfehler behoben.

***

## Version 3.1.2 — Juni 2026

### Verbesserungen und Fehlerbehebungen

* Sprachliche Korrekturen und einheitlichere Formulierungen in der gesamten Benutzeroberfläche — zum Beispiel bei Formularen, Datensätzen und Fehlermeldungen.

***

## Version 3.1.1 — Juni 2026

### Verbesserungen und Fehlerbehebungen

* Markierungsbereiche in Linien- und Balkendiagrammen werden jetzt wieder korrekt angezeigt.
* Die Farbschema-Einstellung erscheint im Berichts-Editor nicht mehr an falscher Stelle.

***

## Version 3.1.0 — Mai 2026

### Eigene Farbpalette für Berichte

* **Benutzerdefinierte Diagrammfarben**: Für jeden Bericht können Sie jetzt eine eigene Farbpalette festlegen. So sehen alle Diagramme im Bericht einheitlich aus — passend zu Ihrem Corporate Design.
  * Farbpalette im Bericht-Editor über das Menü „Design bearbeiten" anpassen
  * Live-Vorschau beim Bearbeiten der Farben
  * Die gewählten Farben gelten auch für öffentlich geteilte Ansichten des Berichts

***

## Version 3.0.1 — Mai 2026

### Verbesserungen und Fehlerbehebungen

* Gäste können jetzt nicht mehr versehentlich auf eine höhere Rolle hochgestuft werden.
* In der Tabellenkonfiguration von Auswertungen lassen sich Spalten und Spaltengruppen jetzt direkt entfernen.

***

## Version 3.0.0 — Mai 2026

### Auswertungsvorlagen: verbesserter Ablauf

* [**Auswertungsvorlagen**](/auswertungen/auswertungsvorlagen): Der Ablauf zum Erstellen und Anwenden von Vorlagen wurde grundlegend überarbeitet und ist jetzt deutlich einfacher zu bedienen.
  * Die Datensatz-Zuordnung beim Anwenden einer Vorlage zeigt jetzt eine Vorschau der Auswertung in Echtzeit.
  * Das Erstellen einer Vorlage erfordert jetzt die Berechtigung „Kann bearbeiten". So wird sichergestellt, dass nur berechtigte Nutzer Vorlagen erstellen können.
  * Während die Vorlage gespeichert wird, lässt sich der Dialog nicht mehr versehentlich schließen.

### Gast-Rolle bei Gruppen und geteilten Ressourcen

* **Rolle für Gäste**: Organisations-Gäste können beim Teilen von Berichtsansichten oder beim Hinzufügen zu Gruppen jetzt nur noch die Rolle **Gast** erhalten. Eine unbeabsichtigte Hochstufung auf eine höhere Rolle ist damit ausgeschlossen. Mehr dazu in der [Rollenbeschreibung](/rollen-und-berechtigungen/rollen).

***

## Version 2.6.2 — April 2026

### Verbesserungen und Fehlerbehebungen

* Validierung von Filterwerten in Berichtsansichten und SQL-Ausführung verbessert
* Verwaltung des öffentlichen Zugangs in Berichtsansichten überarbeitet
* Konsistentere Verarbeitung von Seiteninhalten in Berichten

***

## Version 2.6.1 — April 2026

### Verbesserungen und Fehlerbehebungen

* Layout des Lösungsauswählers für Auswertungsvorlagen reagiert besser auf unterschiedliche Bildschirmgrößen

***

## Version 2.6.0 — April 2026

### Öffentliche Berichtsansichten

* [**Berichtsansichten**](/berichte/ansichten): Berichtsansichten können jetzt öffentlich per Link geteilt werden — ohne Anmeldung der Empfänger.
  * Öffentliche Ansichten direkt aus dem Bericht aktivieren — über das ...-Menü, den Teilen-Dialog oder oben rechts in der Ansicht
  * Öffentlichen Link kopieren und extern teilen
  * Synchronisierung: Änderungen am Bericht gehen nicht sofort live, sondern erst nach bewusster Synchronisierung sichtbar
  * Hinweis bei nicht synchronisierten Ansichten direkt in der Ansichtsleiste
  * Filterung der Ansichtsliste nach „Alle" oder „Öffentliche Ansichten"
  * Verwaltungsberechtigung erforderlich für öffentlichen Zugang und Synchronisierung

{% hint style="info" %}
Öffentliche Ansichten sind eine kostenpflichtige Zusatzfunktion. Wenn Sie Interesse haben, kontaktieren Sie uns unter **<support@polyteia.de>**.
{% endhint %}

### Auswertungsvorlagen

* [**Auswertungsvorlagen**](/auswertungen/auswertungsvorlagen): Auswertungen können jetzt als Vorlage gespeichert und mit anderen Nutzern oder Organisationen geteilt werden.
  * Vorlage aus einer Auswertung erstellen — Abfrage, Spaltennamen und Visualisierung werden übernommen, keine Daten
  * Vorlage per Link teilen und auf eigene Daten anwenden
  * Ziellösung wählen, Datensätze zuordnen, Vorschau prüfen
  * Automatische Datensatzzuordnung über den Systemnamen (Slug)
  * Live-Vorschau zeigt das Ergebnis vor dem Anwenden

{% hint style="info" %}
Auswertungsvorlagen sind eine kostenpflichtige Zusatzfunktion. Wenn Sie Interesse haben, kontaktieren Sie uns unter **<support@polyteia.de>**.
{% endhint %}

### Gast-Rolle für Organisationen

* [**Rollen**](/rollen-und-berechtigungen/rollen): Neue Rolle **Gast** für Personen, die nur ausgewählte Ressourcen sehen sollen.
  * Gäste sind nicht Teil von Arbeitsbereichen oder Lösungen
  * Sehen auf der Startseite nur Ressourcen, die direkt mit ihnen geteilt wurden
  * Verbrauchen keinen Lizenzplatz

### Datensatz-Systemname (Slug)

* [**Datensatz verwalten**](/datensaetze/datensatz-verwalten): Jeder Datensatz hat jetzt einen **Systemnamen** — eine kurze, eindeutige Kennung innerhalb der Lösung.
  * Wird für die automatische Zuordnung in Auswertungsvorlagen verwendet
  * Bearbeitbar in den Datensatzdetails

### Verbesserungen und Fehlerbehebungen

* SQL-Generierung für Auswertungen mit deutschen Hinweisen verbessert
* Synchronisierungsmeldungen in Berichten klarer formuliert
* Bilder-Upload im Berichtseditor löst Ressourcen-IDs zuverlässiger auf
* Standardwert-Verarbeitung in Filtereinstellungen vereinheitlicht

***

## Version 2.5.1 — April 2026

### Verbesserungen und Fehlerbehebungen

* Validierungsfehlermeldungen für Ja/Nein-Felder in Formularen werden jetzt korrekt angezeigt
* Bedingungen im Formular-Editor behalten ihre Zuordnung bei Änderungen zuverlässig bei

***

## Version 2.5.0 — März 2026

### Verbesserungen und Fehlerbehebungen

* Darstellung von Bedingungen und Validierungsregeln im Formular-Editor überarbeitet: bessere Lesbarkeit, native Tooltips bei abgeschnittenen Texten
* Anzeige von booleschen Werten (WAHR/FALSCH) in Logik-Bausteinen korrigiert
* Löschen von Bedingungen in komplexen Logik-Ausdrücken funktioniert jetzt zuverlässig
* Zusammenfassungstyp in Auswertungen kann wieder entfernt werden
* Hover-Effekt bei Flächen-Karten (Choropleth) erzeugt keine Versatz-Linien mehr
* MFA-Entfernen-Button wird während der Verarbeitung korrekt deaktiviert
* Validierung bei Passwort-Zurücksetzung: Inaktive Methoden werden nicht mehr geprüft

***

## Version 2.4.0 — März 2026

### Datei-Upload in Formularen

* [**Datei-Upload**](/formulare/erstellen/feldtypen/erweiterte-eingaben): Neuer Feldtyp im Formular-Editor, mit dem Ausfüllende Dateien an ihre Einreichung anhängen können.
  * Dateien per Drag-and-Drop oder Durchsuchen hochladen
  * Erlaubte Dateitypen einschränken (z. B. nur PDF, Bilder, Excel)
  * Maximale Dateigröße festlegen (Standard: 15 MB)
  * Einzelne oder mehrere Dateien zulassen
  * Doppelte Dateien werden automatisch erkannt und übersprungen

### Vorschau für Formular-Einreichungen

* [**Einreichungen verwalten**](/formulare/erstellen/einreichungen-verwalten): Einreichungen können jetzt direkt in der Tabelle als Vorschau geöffnet werden — mit allen Feldern, Antworten und hochgeladenen Dateien.
  * Hochgeladene Dateien ansehen und einzeln herunterladen
  * Einreichungen nach Datum filtern
  * Ausgewählte Einreichungen als CSV herunterladen

### Passwort vergessen — Zurücksetzen ohne Anmeldung

* [**Anmelden**](/readme/anmelden): Passwörter können jetzt direkt von der Anmeldeseite aus zurückgesetzt werden — ohne angemeldet zu sein.
  * Neuer Link **Passwort vergessen?** auf der Anmeldeseite
  * Zurücksetzen per E-Mail-Link
  * Unterstützung für Zwei-Faktor-Authentifizierung (TOTP) beim Zurücksetzen

### Bericht duplizieren

* [**Berichte verwalten**](/berichte/berichte-verwalten): Berichte können jetzt über das Menü dupliziert werden — als Vorlage für ähnliche Berichte.
  * Name und Beschreibung beim Duplizieren anpassen
  * Alle Seiten, Abschnitte und Widgets werden übernommen

### Verbesserungen und Fehlerbehebungen

* Neue Versionshinweis-Leiste informiert über verfügbare Updates der Plattform
* JSON-Werte werden in Tabellen jetzt formatiert dargestellt
* Stabilere Sitzungsverwaltung durch automatische Token-Aktualisierung

***

## Version 2.3.0 — März 2026

### SQL-Vorschau im Baukasten

* [**SQL-Vorschau**](/auswertungen/sql-editor): Der visuelle Baukasten zeigt jetzt die zugehörige SQL-Abfrage als einklappbare Vorschau an.
  * SQL-Abfrage direkt im Baukasten einsehen
  * SQL-Abfrage in die Zwischenablage kopieren
  * Ideal als Einstieg in den SQL-Editor

### Passwort ändern mit E-Mail-Code oder Authenticator-App

* [**Sicherheit und Zugang**](/konto/sicherheit-und-zugang): Passwörter können jetzt auch ohne das aktuelle Passwort geändert werden — über einen E-Mail-Code oder die Authenticator-App.
  * Drei Bestätigungsmethoden: Aktuelles Passwort, E-Mail-Code oder Authentifizierungs-App
  * Besonders hilfreich, wenn noch kein Passwort festgelegt wurde

### Fixierte Filterleiste in Berichten

* [**Berichtsfilter**](/berichte/filter): Die Filterleiste in Berichten ist jetzt fixiert und bleibt beim Scrollen sichtbar.
  * Filterleiste über **Filter anzeigen** / **Filter ausblenden** ein- und ausblenden
  * Aktive Filter werden mit einem Badge gekennzeichnet

### Textblöcke einfügen und löschen

* [**Bericht erstellen**](/berichte/bericht-erstellen): Neue Werkzeugleiste an jedem Block im Berichtseditor.
  * Textblock unterhalb einfügen mit einem Klick
  * Textblock oberhalb einfügen mit **Alt+Klick**
  * Block löschen über das Papierkorb-Symbol

### Öffentliche Eigenschaften für Mitglieder und Gruppen

* **Mitglieder und Gruppen**: Zusätzliche Informationen als öffentliche Eigenschaften speichern.
  * Schlüssel-Wert-Paare für Mitglieder und Gruppen definieren
  * Eigenschaften können in SQL-Abfragen und CEL-Ausdrücken verwendet werden

### CEL-Ausdrücke für Filteroptionen

* **Berichtsfilter**: Filteroptionen können jetzt dynamisch über CEL-Ausdrücke generiert werden — mit Zugriff auf Kontext-Variablen wie Nutzer- und Gruppeneigenschaften.

### Verbesserungen und Fehlerbehebungen

* Darstellung von Symbolen in Layout und Dropdown-Menüs korrigiert
* Rahmen für nicht konfigurierte Variablen-Pillen von gestrichelt auf durchgezogen geändert
* Filterleiste wird nur angezeigt, wenn Filter vorhanden sind
* Fehlerbehandlung für die SQL-Vorschau verbessert

***

## Version 2.2.0 — März 2026

### Boxplot

* [**Boxplot**](/auswertungen/visualisierungen/boxplot): Neuer Diagrammtyp zur Darstellung der Verteilung von Datenwerten.
  * **Rohdaten** oder **vorberechnete** Werte als Datenmodus
  * Ausreißer-Darstellung mit Jitter-Option für bessere Sichtbarkeit
  * Kategoriespalte für gruppierte Boxplots
  * Formatierungsoptionen und X-Achsen-Einstellungen

### Streudiagramm

* [**Streudiagramm**](/auswertungen/visualisierungen/streudiagramm): Neuer Diagrammtyp zur Darstellung von Zusammenhängen zwischen zwei numerischen Werten.
  * Punkte gruppieren nach Kategorien
  * Punktgröße anhand einer dritten Spalte steuern (Blasendiagramm)
  * X-Achsen-Einstellungen für Beschriftungen und Intervalle

### Einklappbare Legenden

* **Karten und Diagramme**: Legenden lassen sich jetzt einklappen, um mehr Platz für die Visualisierung zu schaffen.

### Verbesserungen und Fehlerbehebungen

* Sortierung in Datenseiten bleibt beim Filtern erhalten
* Arbeitsbereiche und Lösungen anderer Organisationen auf der Startseite sichtbar
* Ebenenreihenfolge in Karten entspricht jetzt der Reihenfolge in der Legende
* Korrekte Wertbeschriftungen in Zeitserien-Diagrammen
* JSON als neuer Datentyp verfügbar
* Validierung in Formularen erlaubt jetzt Null-Werte für ausgeblendete Felder

***

## Version 2.0.0 — Februar 2026

### Neue Lösungsübersicht

* [**Lösungen**](/loesungen): Die Lösungsübersicht wurde komplett neu gestaltet.
  * **Ressourcen-Navigation**: Formulare, Datensätze, Auswertungen und Berichte direkt in der Seitenleiste verwalten
  * **Lösungsübersicht gestalten**: Oberflächen visuell gestalten mit verschiebbaren Panels
  * **Datenseiten in Berichten**: Datenseiten als neuer Seitentyp direkt in Berichte einbetten — mit Sortierung, Filtern, Spalten ein-/ausblenden und virtueller Darstellung für große Datenmengen
  * **Ansichten**: Berichtsansichten erstellen, bearbeiten, löschen und mit der Lösung teilen
  * **Lösungsdokumentation**: Integrierter Editor für die Dokumentation von Lösungen
  * **Zugangsbeschränkungen**: Zugriff auf einzelne Elemente innerhalb einer Lösung steuern
  * **Globale Ressourcensuche**: Alle Ressourcen durchsuchen — mit Tag-Filterung und Favoriten

### Neue Startseite

* **Startseite**: Komplett überarbeitete Startseite mit Lösungsübersicht und verbesserter Navigation.
  * Arbeitsbereiche nach Verwaltungsrechten gruppiert
  * Favoriten in der Ressourcen-Navigation

### Raster-Formularfeld

* [**Formulare**](/formulare): Neuer Feldtyp „Raster" für tabellarische Eingaben in Formularen.
  * Zeilen und Spalten frei definierbar
  * Verschiedene Zellentypen: Ja/Nein, Datum, Text, Zahl, Mehrfachauswahl
  * Fixierte Kopfzeilen beim Scrollen
  * Bedingungen und Validierung auf Raster-Ebene
  * Symbole für Spaltentypen

### Zusammenfassungszeile in Tabellendiagrammen

* **Tabellendiagramm**: Automatische Zusammenfassungszeile mit Berechnungen (Summe, Durchschnitt, Min/Max) direkt unter der Tabelle.

### Streaming-Datenverarbeitung

* **Streaming SQL**: Auswertungen und Datensätze werden jetzt per Streaming geladen — Ergebnisse erscheinen schneller, auch bei großen Datenmengen.
  * Streaming in Berichten, Datensatz-Explorer und Datenvorschau
  * Ladeindikator während der Datenübertragung
  * Abbrechen-Funktion für laufende Abfragen

### Onboarding-Touren

* **Interaktive Touren**: Neue Nutzer werden jetzt durch interaktive Touren geführt.
  * Startseiten-Tour nach der Ersteinrichtung
  * Lösungs-Tour in der Lösungsübersicht
  * Touren jederzeit über das Tour-Center neu starten

### Verbesserungen und Fehlerbehebungen

* v2.0.6: Auswertungen werden in Stapeln geladen für bessere Performance, Ressourcen-Titel in der Navigation
* v2.0.5: Formular-Einreichungsseite und Badges korrigiert
* v2.0.4: Berichte können wieder über die Ressourcen-Navigation gelöscht werden
* v2.0.3: Ladeindikator für Streaming-Daten
* v2.0.1: Alte Ressourcen-URLs werden korrekt weitergeleitet
* Berichtsnamen direkt im Editor bearbeiten
* Lösungsbeschreibung in den Einstellungen bearbeitbar
* Seitenleiste in Berichten bleibt dauerhaft geöffnet

***

## Version 1.16.0 — Februar 2026

### Dynamische Standardwerte für Filter

* [**Berichtsfilter**](/berichte/filter): Filter können jetzt dynamische Standardwerte erhalten, die sich automatisch anpassen.
  * **Heute** und **Gestern** als Standardwert
  * **Monatsanfang/-ende** und **Jahresanfang/-ende**
  * **Erster** oder **letzter Wert** aus den Daten
  * Zurücksetzen-Button direkt an der Filterkomponente
  * Verbesserte Zurücksetzen-Funktion für Filter

### Filter-Überlauf in Widgets

* **Widget-Filter**: Bei vielen Filtern werden überschüssige Filter jetzt in ein Dropdown-Menü ausgelagert — so bleibt die Anzeige übersichtlich.

### KI-Nutzung

* **KI-Token-Verbrauch**: Organisationen können jetzt den Verbrauch von KI-Tokens einsehen und nachverfolgen.

### Verbesserungen und Fehlerbehebungen

* v1.16.6: Doppelte Einträge in der Liste der Einreichenden werden automatisch entfernt
* v1.16.5: Countdown bei Zwei-Faktor-Authentifizierung korrigiert, E-Mail-Validierung für Einreichende verbessert
* v1.16.3: Auswertungsdaten in Berichten werden nicht mehr bei jedem Tastendruck neu geladen
* v1.16.2: Einladungsfunktion und Datensatz-Schema-Anzeige korrigiert
* Null-Werte in Filtern werden jetzt einheitlich behandelt
* Kartenfarben für Streupunkt-Beschriftungen korrigiert

***

## Version 1.15.0 — Januar 2026

### Einreichende verwalten

* [**Formulare**](/formulare): Einreichende können jetzt direkt hinzugefügt und entfernt werden — mit optionaler Benachrichtigung per E-Mail.
  * Einreichende einzeln hinzufügen oder entfernen
  * Optionale Benachrichtigung beim Hinzufügen

### Diagramm-Verbesserungen

* **Infotext bleibt erhalten**: Beim Wechsel des Diagrammtyps bleibt der hinterlegte Infotext jetzt bestehen.

### Verbesserungen und Fehlerbehebungen

* v1.15.2: SQL-Sonderzeichen in Filtern werden korrekt verarbeitet, Null-Werte in Filtern vorhersagbar behandelt
* v1.15.1: Anpassungen an der Login-Oberfläche

***

## Version 1.14.0 — Januar 2026

### Datenbereinigung für Datensätze

* [**Datensätze**](/datensaetze): Neue Einstellungen zur automatischen Datenbereinigung (Data Pruning).
  * Zeitbasierte Bereinigungsregeln konfigurieren
  * Anzeige des nächsten Bereinigungszeitpunkts
  * Einstellung direkt bei Datensatz-Erstellung möglich

### Verbesserungen und Fehlerbehebungen

* v1.14.1: Berechtigungsprüfungen für Datensatz-Einstellungen verbessert

***

## Version 1.13.0 — Januar 2026

### Hervorhebungsbereiche in Diagrammen

* [**Visualisierungen**](/auswertungen/visualisierungen): Balken- und Liniendiagramme unterstützen jetzt dynamische Hervorhebungsbereiche (Mark Areas).
  * Bereiche visuell hervorheben, z. B. Zielwerte oder Schwellenbereiche
  * Unterstützung für Zeitserien-Markierungen
  * Warnung bei nicht passenden Spaltentypen

### Einreichende verwalten im neuen Design

* **Formulare**: Der Dialog zur Verwaltung von Einreichenden wurde im Google-Teilen-Stil neu gestaltet.
  * Filterung und Auswahl von Einreichenden
  * Spalten in der Einreichungsübersicht folgen der Formularreihenfolge

### Formular-Einreichungen herunterladen

* **Download-Funktion**: Formular-Einreichungen können jetzt auch bei großen Datenmengen heruntergeladen werden.

### Export-Panel für Berichte

* **Seitenauswahl beim Export**: Beim Bericht-Export können jetzt einzelne Seiten und Gruppen ausgewählt werden.

### Link-Werkzeug im Berichtseditor

* **Links einfügen**: Links können jetzt direkt über die Werkzeugleiste im Berichtseditor eingefügt und bearbeitet werden.

### Verbesserungen und Fehlerbehebungen

* v1.13.3: Liste der Einreichenden lädt jetzt korrekt und zeigt Warnungen bei fehlenden Zugriffsrechten
* v1.13.2: OTP-Eingabe akzeptiert nur noch Ziffern, Ladeindikator für Formular-Einreichungen
* Quelle-Zeitstempel für Datensätze hinzugefügt

***

## Version 1.12.0 — Dezember 2025

### Erweiterte Formatierungsoptionen für Diagramme

* [**Visualisierungen**](/auswertungen/visualisierungen): Umfassende neue Formatierungsmöglichkeiten für Diagramme.
  * **Kreisdiagramm**: Formatierungsoptionen für Werte und Beschriftungen
  * **Balken- und Liniendiagramm**: X-Achsen-Formatierung konfigurierbar
  * **Einheitliche Spaltenformatierung**: Alle Formatierungsoptionen an einem Ort
  * **24-Stunden-Zeitformat**: Konsistente Zeitdarstellung in allen Diagrammen

### Neuer Berichtseditor

* **Drag-and-Drop**: Elemente im Berichtseditor lassen sich jetzt per Drag-and-Drop verschieben.
* **Verbesserte Textbearbeitung**: Überarbeiteter Editor mit verbesserter Platzhalter-Funktion und Blockauswahl.

### Verbesserungen und Fehlerbehebungen

* v1.12.9: Anführungszeichen in SQL-Abfragen werden korrekt verarbeitet
* v1.12.8: Komma-getrennte E-Mail-Eingabe für Einreichende, verbesserte Collector-Navigation und Login
* v1.12.7: Kommentarfeld bei Mehrfachauswahl optional
* v1.12.6: Anzeige bei leeren Beschreibungen in Ja/Nein-Feldern korrigiert, Zeitstempel für Datenquellen
* v1.12.5: Bericht-Export ohne Feature-Flag direkt verfügbar, Zeitstempel-Lokalisierung
* v1.12.4: Formulare unterstützen Start- und Ablaufdatum, Link-Funktion im Editor verbessert
* v1.12.3: Darstellung von Leerzeichen in Datenschutz-Karten korrigiert
* v1.12.2: Verbesserte Slug-Generierung für Formularfelder
* v1.12.1: Konsistente Spaltenbezeichnungen bei leeren Formularfeld-Titeln

***

## Version 1.11.0 — Dezember 2025

### Legenden für Diagramme

* [**Visualisierungen**](/auswertungen/visualisierungen): Diagramme mit mehreren Datenreihen zeigen jetzt automatisch eine Legende an.

### Erweiterter Formular-Editor

* [**Formulare**](/formulare): Umfassende Verbesserungen am Formular-Editor.
  * **CEL-Ausdruckseditor**: Erweiterbarer Editor für Bedingungen und Validierungsregeln — ideal für komplexe Logik
  * **Zugangsoptionen**: Formulare können jetzt als öffentlich oder mit Authentifizierung konfiguriert werden
  * **Pflichtfeld-Anzeige**: Sichtbare Kennzeichnung von Pflichtfeldern im Formular
  * **Breadcrumbs**: Bessere Navigation in der Konfiguration verschachtelter Elemente
  * **Logo-Upload**: Eigenes Logo für Formulare hochladen
  * **Datenschutzerklärung**: Automatischer Footer mit Datenschutzhinweisen und Links
  * **24-Stunden-Zeitformat**: Zeiteingaben nutzen jetzt durchgehend das 24-Stunden-Format
  * **Verbesserte Freigabe**: Überarbeiteter Bestätigungsdialog bei der Formular-Freigabe

***

## Version 1.10.0 — Dezember 2025

### Textvariablen in Berichten

* [**Berichte**](/berichte): Inline-Variablen können jetzt direkt in Textblöcke eingefügt werden.
  * Variablen per Doppelklick bearbeiten
  * Ladeindikator für abfragebasierte Variablen
  * Variablen-Werte per SQL oder festen Werten definieren
  * Farblich hervorgehobene Variablen-Pillen

### Einzelzahl für Textwerte

* **Einzelzahl-Diagramm**: Unterstützt jetzt auch nicht-numerische Spaltentypen — ideal für die Anzeige von Textwerten.

### Weisungsregister (DPA)

* [**Weisungsregister**](/sicherheit/weisungsregister): Neues Modul für die Verwaltung von Datenschutzvereinbarungen.
  * Schritt-für-Schritt-Assistent zur Erstellung von Einträgen
  * Überprüfung bei Lösungserstellung, Datensatz-Upload und Formular-Freigabe
  * Einträge erstellen, bearbeiten und verwalten mit Berechtigungsschutz
  * Personenbezogene und nicht-personenbezogene Daten unterscheidbar

### Verbesserungen und Fehlerbehebungen

* v1.10.1: „Zurück zur Startseite"-Button auf Fehlerseiten
* Infotext-Tooltip für Balkendiagramme korrigiert
* Diagramme können jetzt über ihren Container hinausragen, um abgeschnittene Beschriftungen zu vermeiden
* Filterwerte bleiben beim Wechsel des Spaltentyps erhalten

***

## Version 1.9.0 — November 2025

### Formatierungsoptionen für Tabellendiagramme

* [**Tabellendiagramm**](/auswertungen/visualisierungen/tabellendiagramm): Neue Formatierungsmöglichkeiten für Tabellenspalten.
  * **Datum und Uhrzeit**: Anzeige von Datum, Uhrzeit oder beidem konfigurierbar
  * **Dezimalstellen erzwingen**: Einheitliche Darstellung von Zahlenwerten
  * **Segmentierte Eingabe**: Übersichtlichere Auswahl der Anzeigeoptionen

### Automatische Y-Achsen-Bereiche

* **Linien- und Balkendiagramm**: Die Y-Achse passt sich jetzt automatisch an den Datenbereich an — mit konfigurierbarem Abstand.

### Erweiterte Diagramm-Einstellungen

* **Fehlende Datenpunkte**: Konfigurierbarer Ersatzwert für fehlende Werte in Liniendiagrammen
* **X-Achsen-Beschriftung**: Option zur Vermeidung von Überlappungen bei X-Achsen-Beschriftungen
* **Zeilenumbruch in Texten**: Steuerung von Zeilenumbrüchen in der Textformatierung
* **Karten**: „Karte hinzufügen" wurde zu „Ebene hinzufügen" umbenannt

***

## Version 1.8.0 — November 2025

### Onboarding-Assistent

* **Einrichtungsassistent**: Neue Nutzer werden jetzt durch einen Assistenten geführt — für die Einrichtung von Name, Passwort und Zwei-Faktor-Authentifizierung.
  * Fortschrittsanzeige mit drei Schritten
  * Überspringen-Option verfügbar

### Info-Button für Visualisierungen

* **Visualisierungen**: Alle Diagramme haben jetzt einen Info-Button in der Kopfzeile für zusätzliche Erklärungen.

### Verbesserungen und Fehlerbehebungen

* SQL-Editor: Beta-Badge entfernt
* Mitglieder-Symbol in Organisationseinstellungen korrigiert
* Dokumentations-Button im Footer aktualisiert
* Auswertung duplizieren: Name wird jetzt korrekt übernommen
* Auswertung löschen: Kein Timeout mehr bei großen Datenmengen
* Filter-Sichtbarkeit in Widgets verbessert

***

## Version 1.7.0 — Oktober/November 2025

### Filterkomponenten im Berichtseditor

* [**Berichtsfilter**](/berichte/filter): Filter können jetzt als Komponenten direkt im Berichtseditor platziert werden.
  * Filter per Dialog auswählen und einfügen
  * Größe der Filterkomponenten anpassbar
  * Seitenzuordnung sichtbar als Badge
  * Option „Lokales Überschreiben verhindern" für Filter
  * Bestätigungsdialog beim Löschen von Widgets mit zugehörigen Filtern

### Bericht-Export als PDF

* **PDF-Export**: Berichte können jetzt als PDF exportiert werden.
  * Seitenauswahl für den Export
  * Hintergrund-Verarbeitung über Web Worker für flüssige Bedienung
  * Ladeindikator und Fehlerbehandlung

### Speicher- und Nutzungsverwaltung

* [**Nutzung und Kontingente**](/organisationen/nutzung-und-kontingente): Neue Seite in den Organisationseinstellungen zur Anzeige des Speicherverbrauchs.
  * Speicher-Indikator bei Datensatz-Aktionen
  * Upload-Validierung bei erreichtem Speicherlimit

### Verbesserungen und Fehlerbehebungen

* v1.7.2: Hervorhebungsbereiche in Diagrammen mit numerischer X-Achse korrigiert
* v1.7.1: Filter-Layout in Widgets verbessert
* Datumsauswahl in Filtern korrigiert
* E-Mail-Adressen in Mitgliederdetails kopierbar

***

## Version 1.6.0 — Oktober 2025

### Angewendete Filter in Visualisierungen

* **Fußnoten**: Visualisierungen zeigen jetzt die aktuell angewendeten Filter als Fußnoten an — so ist immer nachvollziehbar, welche Daten dargestellt werden.

### PDF-Export für Berichte (Vorschau)

* **Bericht-Export**: Erste Version des PDF-Exports für Berichte.
  * Export-Modus für korrekte Datumsformatierung
  * Dateiname basiert auf dem Berichtsnamen

### Verbesserungen und Fehlerbehebungen

* v1.6.1: SQL-Editor unterstützt Datumswerte in Variablen, E-Mail-Adressen kopierbar in Mitgliederdetails
* Formularfeld-Terminologie von „Frage" zu „Feld" aktualisiert
* Doppelte Datensatznamen werden automatisch nummeriert
* SQL-Editor: Kein Endlosrendering mehr beim Öffnen während des Ladens

***

## Version 1.5.0 — September 2025

### KI-Integration (Beta)

* [**KI**](/ki): Erste Integration von KI-Funktionen in die Plattform.
  * Chat-Funktion direkt in Auswertungen
  * KI kann SQL-Abfragen generieren und Visualisierungen vorschlagen
  * Denkprozess der KI nachvollziehbar (Chain of Thought)
  * Feedback-Funktion für KI-Antworten
  * Erwähnungen von Datensätzen im Chat
  * KI-Unterstützung in Deutsch und Englisch

### Datenzusammenfassung im Explorer

* **Datenvorschau**: Zusammenfassungszeile im Daten-Explorer mit automatischen Berechnungen.
* **Datenvorschau umbenannt**: Der Tab „Daten" heißt jetzt „Datenvorschau" für mehr Klarheit.

### Verbesserungen und Fehlerbehebungen

* v1.5.2: Navigation in Berichten korrigiert, Ladeanimationen verbessert
* Standard-Rolle bei Einladungen von „Admin" auf „Mitglied" geändert
* Datenvorschau-Tabelle in Filtern korrigiert

***

## Version 1.4.0 — September 2025

### Standardsprache Deutsch

* **Sprache**: Deutsch ist jetzt die Standardsprache der Plattform.
* **Datumsfilter**: Verbesserte Datumsverarbeitung in Filtereinstellungen.

***

## Version 1.3.0 — September 2025

### Mehrere Y-Achsen für Diagramme

* [**Visualisierungen**](/auswertungen/visualisierungen): Diagramme unterstützen jetzt mehrere Y-Achsen für die gleichzeitige Darstellung verschiedener Metriken.
  * **Balkendiagramm**: Mehrere Y-Achsen für verschiedene Skalen
  * **Kreisdiagramm**: Mehrere Y-Achsen für erweiterte Darstellung
  * **Liniendiagramm**: Mehrere Y-Achsen für Vergleiche

### Prozentanzeige in gestapelten Balkendiagrammen

* **Balkendiagramm**: Gestapelte Prozent-Balkendiagramme zeigen jetzt formatierte Prozentwerte an — mit einheitlicher Zahlenformatierung über alle Diagrammtypen.

### Verbesserungen und Fehlerbehebungen

* v1.3.5: Automatisches Hinzufügen aller Spalten beim Datensatz-Wechsel rückgängig gemacht
* v1.3.4: Kompatibilität mit Chrome 121 hergestellt
* v1.3.3: Zahlen in Tabellendiagrammen werden nicht mehr umgebrochen
* v1.3.2: Tabellenlayout in Firefox korrigiert, Filterstatus-Verwaltung verbessert
* Achsenbeschriftungen werden nicht mehr abgeschnitten

***

## Version 1.2.0 — September 2025

### Neue Formularelemente

* [**Formulare**](/formulare): Neue Feldtypen und Verbesserungen.
  * **Zahlenfeld**: Eingabe von numerischen Werten
  * **Datumsfeld**: Datumsauswahl mit erweiterter Funktionalität
  * Drag-and-Drop für Formularelemente
  * Tags-Spalte in der Formularübersicht
  * Formular direkt aus der Ressourcenliste erstellen

### SQL-basierte Filteroptionen

* [**Berichtsfilter**](/berichte/filter): Dropdown-Werte für Filter können jetzt per SQL-Abfrage definiert werden.
  * SQL-Editor für Filterwerte mit Syntax-Hervorhebung
  * Sichtbarkeit von Filtern global steuern
  * Verbesserte Darstellung von Filterwerten mit Sprachunterstützung

### Zeitserien in Liniendiagrammen

* [**Liniendiagramm**](/auswertungen/visualisierungen/liniendiagramm): Datum-/Zeitachsen werden jetzt automatisch erkannt und chronologisch sortiert — mit dynamischer Beschriftung je nach Zeitintervall.
* **Deutsche Lokalisierung für Diagramme**: ECharts-Diagramme unterstützen jetzt Deutsch.

### Verbesserungen und Fehlerbehebungen

* Karten-Tooltip kann jetzt über den Rand hinausragen
* Quartalsauswahl zeigt frühestes und spätestes Quartal korrekt an
* Zahleneingabe vereinfacht

***

## Version 1.1.0 — August 2025

### Verbesserte Diagramme und Filter

* **Tabellendiagramm**: Berücksichtigt jetzt die Spracheinstellung des Nutzers.
* **Diagramm-Tooltips**: Keine Begrenzung mehr für die Anzahl der Tooltip-Einträge.
* **Tooltips in Berichten**: Tooltips können jetzt über den Rest des Berichts hinausragen.

### Verbesserungen und Fehlerbehebungen

* v1.1.3: Filter-Zurücksetzen leert Werte korrekt, Pivot-Spalten einheitliche Höhe, Berichtsfilter werden nicht mehr dauerhaft gespeichert
* v1.1.2: Fehlerbehebung bei Sprachkontext
* v1.1.1: Favoriten-Komponente verbessert, Übersetzungen aktualisiert
* Breadcrumb-Navigation wird nicht mehr zu früh abgeschnitten
* Multiselect-Filter verarbeiten leere Werte korrekt
* Formular-Aktualisierungsnachrichten verbessert

***

## Version 1.0.0 — August 2025

### Verbesserungen und Fehlerbehebungen

* v1.0.4: Filter werden beim Diagramm-Export als Bild ausgeblendet, Tooltips aktualisieren sich bei Datenänderungen
* v1.0.3: App-Titel und -Beschreibung übersetzt
* v1.0.1: Bild-Upload in Berichten unterstützt Berichtsansicht-ID


# Navigation

Die Polyteia-Plattform bietet ein klares und strukturiertes Navigationssystem, das Nutzern hilft, sich zwischen Arbeitsbereichen, Lösungen und Ressourcen zurechtzufinden.

### [Startseite](/navigation/startseite)

Die **Startseite** ist Ihr Einstiegspunkt. Hier sehen Sie alle Arbeitsbereiche als aufklappbare Bereiche mit den darin enthaltenen Lösungen. Oben links finden Sie den **Organisationswechsler**, um zwischen Organisationen zu wechseln.

### [Seitenleiste](/navigation/seitenleiste) (innerhalb einer Lösung)

Wenn Sie eine Lösung öffnen, erscheint die **Seitenleiste** auf der linken Seite. Sie bietet Zugriff auf:

* **Lösungsübersicht** - Die Hauptansicht mit Berichten und Dokumentation
* **Berichte** - Alle Berichte verwalten
* **Auswertungen** - Diagramme und Tabellen erstellen
* **Formulare** - Datenerfassung verwalten
* **Datensätze** - Ihre Datenquellen
* **Weisungsregister** - Datenschutz-Dokumentation
* **Einstellungen** - Lösung verwalten

### Ressourcen verwalten

Innerhalb einer Lösung verwalten Sie Ihre Ressourcen über die Seitenleiste. Wenn Sie mit der Maus über einen Ressourcentyp fahren (z.B. Datensätze), öffnet sich ein Fenster mit:

* **Suche** - Schnell eine Ressource finden
* **Erstellen** - Klicken Sie auf **+** für eine neue Ressource
* **Favoriten** - Häufig genutzte Ressourcen oben angezeigt
* **Liste** - Alle Ressourcen dieser Lösung

### [Pfad-Navigation](/navigation/pfad-navigation)

Am oberen Rand jeder Inhaltsseite sehen Sie eine **Pfad-Navigation**, die Ihre aktuelle Position anzeigt, z. B.:

**Startseite > Arbeitsbereich > Lösung > Auswertung**

So erkennen Sie, in welchem Kontext Sie sich gerade befinden, und können einfach zu übergeordneten Ebenen zurückkehren.

### Favoriten

Sie können Ressourcen als Favoriten markieren, um sie schneller wiederzufinden. Favoriten erscheinen oben in den Ressourcen-Fenstern der Seitenleiste.

So markieren Sie eine Ressource als Favorit:

1. Öffnen Sie die Ressource (z.B. einen Datensatz)
2. Klicken Sie auf das Aktionsmenü (drei Punkte)
3. Wählen Sie **Zu Favoriten hinzufügen**


# Seitenleiste

Navigation innerhalb einer Lösung.

Die Seitenleiste erscheint, wenn Sie eine Lösung öffnen. Sie bietet schnellen Zugriff auf alle Bereiche und Ressourcen innerhalb der Lösung.

### Bereiche der Seitenleiste

Die Seitenleiste ist in drei Bereiche unterteilt:

**Lösungsname:** Ganz oben sehen Sie den Namen der aktuellen Lösung.

**Lösungsübersicht:**

* **Lösungsübersicht** - Die Hauptansicht mit Berichten und Dokumentation

**Ressourcen:**

* **Berichte** - Alle Berichte dieser Lösung
* **Auswertungen** - Diagramme und Tabellen
* **Formulare** - Datenerfassung (falls aktiviert)
* **Datensätze** - Ihre Datenquellen

**Verwaltung:**

* **Weisungsregister** - Datenschutz-Dokumentation (falls aktiviert)
* **Einstellungen** - Name, Beschreibung und Zugriffsrechte

### Ressourcen-Fensters

Wenn Sie mit der Maus über einen Ressourcentyp fahren (z.B. Datensätze), öffnet sich ein Fenster mit:

* **Suche** - Schnell eine bestimmte Ressource finden
* **Neu erstellen** - Klicken Sie auf **+** für eine neue Ressource
* **Favoriten** - Ihre als Favorit markierten Ressourcen erscheinen oben
* **Nach Tags gruppiert** - Ressourcen werden nach Tags sortiert
* **Aktionen** - Über das Menü (drei Punkte) können Sie jede Ressource verwalten

{% hint style="info" %}
Favoriten helfen Ihnen, häufig genutzte Ressourcen schnell wiederzufinden. Markieren Sie eine Ressource als Favorit über das Aktionsmenü.
{% endhint %}

### Zurück zur Startseite

Um zur Startseite zurückzukehren, klicken Sie oben links auf den **Organisationswechsler** und wählen Sie Ihre Organisation. Die Startseite zeigt dann wieder alle Arbeitsbereiche und Lösungen.


# Pfad-Navigation

Wissen, wo Sie gerade sind.

Die Pfad-Navigation am oberen Rand zeigt Ihnen stets, wo Sie sich aktuell innerhalb der Polyteia-Plattform befinden. Jeder Eintrag in der Leiste entspricht einem Schritt in Ihrem Nutzerpfad und ermöglicht Ihnen eine schnelle Rückkehr zu vorherigen Ebenen.

### Orientierung und schnelle Navigation

Die Pfad-Navigation zeigt Ihren aktuellen Standort innerhalb der Organisationsstruktur deutlich an. Jedes Element (z. B. Arbeitsbereiche, Lösungen, Datensätze) ist anklickbar und bringt Sie mit nur einem Klick zurück zur gewünschten Stelle.

So behalten Sie immer den Überblick über die Zusammenhänge Ihrer Daten und Auswertungen. Ideal, um bei komplexen Aufgaben jederzeit klar nachvollziehen zu können, welche Schritte Sie gegangen sind.

### Favoriten-Stern

Markieren Sie häufig genutzte Seiten als Favorit, um sie jederzeit direkt von Ihrer Startseite aus aufrufen zu können. Der Stern am Ende der Navigationsleiste zeigt an, ob die aktuelle Ansicht als Favorit gespeichert wurde.


# Startseite

Ihr persönliches Dashboard in der Polyteia-Plattform.

Die Startseite ist Ihr persönliches Dashboard in der Polyteia-Plattform. Hier sehen Sie alle Arbeitsbereiche und Lösungen, an denen Sie beteiligt sind.

### Arbeitsbereiche und Lösungen

Die Startseite zeigt Ihre Arbeitsbereiche in drei Bereichen:

* **Meine Arbeitsbereiche** – Arbeitsbereiche, die Sie selbst verwalten können
* **Andere Arbeitsbereiche** – Arbeitsbereiche Ihrer Organisation, auf die Sie Zugriff haben, aber nicht verwalten
* **Externe Arbeitsbereiche** – Arbeitsbereiche aus anderen Organisationen, die mit Ihnen geteilt wurden

Jeder Arbeitsbereich ist aufklappbar. Klicken Sie darauf, um die darin enthaltenen Lösungen als Karten zu sehen.

{% hint style="info" %}
**Externe Arbeitsbereiche** erscheinen nur, wenn eine andere Organisation Ihnen Zugriff auf ihre Arbeitsbereiche gewährt hat. Lösungen aus externen Arbeitsbereichen sind mit dem Hinweis "Extern" gekennzeichnet.
{% endhint %}

{% hint style="info" %}
Wenn Sie noch keine Arbeitsbereiche haben, sehen Sie eine Willkommensnachricht mit der Möglichkeit, einen neuen Arbeitsbereich zu erstellen.
{% endhint %}

### Schnellzugriff

Von der Startseite können Sie:

* **Lösung öffnen** - Klicken Sie auf eine Lösungskarte
* **Neuen Arbeitsbereich erstellen** - Klicken Sie auf **Neuer Arbeitsbereich**
* **Neue Lösung hinzufügen** - Klappen Sie einen Arbeitsbereich auf und klicken Sie auf **Neue Lösung hinzufügen**
* **Arbeitsbereich verwalten** - Klicken Sie auf das Menü (drei Punkte) neben dem Arbeitsbereichsnamen

### Organisation wechseln

Oben links finden Sie den **Organisationswechsler**. Klicken Sie darauf, um zwischen Ihren Organisationen zu wechseln. So gelangen Sie zur Startseite einer anderen Organisation.

### Personalisierte Ansicht

Die Startseiten-Ansicht ist für jeden Nutzer individuell und bezieht sich auf die aktuell gewählte Organisation. Sie sehen nur Inhalte, zu denen Sie explizit eingeladen wurden oder die Sie selbst erstellt haben.


# Ressourcen

Ressourcen innerhalb einer Lösung finden und verwalten.

Ressourcen wie **Datensätze**, **Auswertungen**, **Berichte** und **Formulare** werden innerhalb von Lösungen verwaltet. Jede Lösung enthält ihre eigenen Ressourcen, die Sie über die Seitenleiste erreichen.

### Ressourcen finden

1. Öffnen Sie eine Lösung
2. Klicken Sie in der Seitenleiste auf den gewünschten Ressourcentyp (z.B. **Datensätze**)
3. Im Fenster sehen Sie alle Ressourcen dieser Lösung

### Funktionen im Ressourcen-Fenster

| Funktion                | Beschreibung                                                    |
| ----------------------- | --------------------------------------------------------------- |
| **Suche**               | Schnell eine bestimmte Ressource finden                         |
| **Neu erstellen**       | Klicken Sie auf **+** für eine neue Ressource                   |
| **Favoriten**           | Ihre Favoriten erscheinen oben im Fenster                       |
| **Nach Tags gruppiert** | Ressourcen werden nach Tags sortiert angezeigt                  |
| **Aktionen**            | Über das Menü (drei Punkte) können Sie jede Ressource verwalten |

### Aktionen im Ressourcen-Fenster

Über das Menü (drei Punkte) neben jeder Ressource können Sie:

* **Umbenennen** - Den Namen der Ressource ändern
* **Teilen** - Die Ressource mit anderen Nutzern teilen
* **Zu Favoriten hinzufügen** - Als Favorit markieren
* **Löschen** - Die Ressource entfernen

### Ressourcentypen

| Ressource        | Beschreibung                                    |
| ---------------- | ----------------------------------------------- |
| **Datensätze**   | Ihre Datenquellen (CSV, Excel, JSON, Parquet)   |
| **Auswertungen** | Diagramme und Tabellen aus Ihren Daten          |
| **Berichte**     | Kombinierte Ansichten mit Text und Auswertungen |
| **Formulare**    | Online-Formulare zur Datenerfassung             |

### Favoriten nutzen

Markieren Sie häufig genutzte Ressourcen als Favoriten:

1. Öffnen Sie das Ressourcen-Fenster in der Seitenleiste
2. Klicken Sie auf das Menü (drei Punkte) neben der Ressource
3. Wählen Sie **Zu Favoriten hinzufügen**

Favoriten erscheinen oben im Ressourcen-Fenster für schnellen Zugriff.


# Suche

Suchen Sie nach Ressourcen und Inhalten in der Polyteia-Plattform.

Die Suchfunktion hilft Ihnen, schnell Ressourcen zu finden. Die Suchleiste befindet sich oben in der Navigationsleiste. Klicken Sie darauf, um die Suche zu öffnen.

### Was können Sie suchen?

Die Suche findet alle Ressourcen in Ihrer Organisation:

* **Datensätze** und deren Inhalte
* **Auswertungen** und Berichte
* **Berichtsansichten** für direkten Zugriff auf bestimmte Ansichten
* **Formulare** und Dokumentationen

### Suche verfeinern

Sie können Ihre Suche eingrenzen durch:

* **Tags** - Klicken Sie auf Tags, um nur Ressourcen mit diesem Tag zu sehen
* **Ressourcentyp** - Filtern Sie nach Datensätzen, Auswertungen, Berichten oder Formularen

### Suchergebnisse

Die Ergebnisse zeigen:

* Den Namen der Ressource
* Den zugehörigen Arbeitsbereich und die Lösung
* Tags, die der Ressource zugeordnet sind

{% hint style="info" %}
Die Suche durchsucht alle Ressourcen, auf die Sie Zugriff haben. Die Ergebnisse werden serverseitig gefiltert, sodass auch bei vielen Ressourcen schnelle Ergebnisse geliefert werden.
{% endhint %}


# Nutzerkonto

Sicher in der Polyteia-Plattform authentifizieren

Ihr Polyteia-Konto ist Ihr persönlicher Schlüssel zur Plattform. Es legt fest, wie Sie sich anmelden, wie sicher Ihre Identität geschützt ist und welchen Organisationen Sie angehören. Jedes Konto ist an eine einzelne E-Mail-Adresse gebunden, kann aber Teil mehrerer Organisationen sein – jeweils mit eigenem Profil, eigenen Rollen und Berechtigungen.

Der Zugriff auf der Plattform ist streng geregelt. Sie müssen explizit zu jedem Arbeitsbereich, Datensatz oder Bericht eingeladen werden, zu dem Sie Zugang benötigen. Zusammen mit sicheren Anmeldemethoden und flexiblen Rollen stellt dies sicher, dass der Zugriff immer beabsichtigt und nachvollziehbar ist.

### [Konto](/konto/konto)

Ihr Konto enthält Ihre E-Mail-Adresse und Anmeldeeinstellungen. Sie können Ihre E-Mail-Adresse ändern, ein Passwort festlegen oder ändern und Ihr Konto jederzeit löschen. Kontoaktionen gelten organisationsübergreifend.

### [Profil](/konto/profil)

Jede Organisation weist Ihnen ein eigenes Profil zu. Dieses enthält Ihren sichtbaren Namen innerhalb der Organisation und gibt Ihnen die Möglichkeit, die Organisation zu verlassen. Profile werden von Ihnen pro Organisation verwaltet.

### [Sicherheit & Zugang](/konto/sicherheit-und-zugang)

Die Anmeldung ist standardmäßig durch Einmal-Codes per E-Mail geschützt. Für zusätzliche Sicherheit können Sie auch ein Passwort festlegen und TOTP (zeitbasierte Einmalpasswörter) über eine Authenticator-App aktivieren. Wir empfehlen, alle drei Methoden zu aktivieren, um maximale Sicherheit zu gewährleisten. Der Zugriff auf Ressourcen wird durch ein detailliertes Berechtigungsmodell geregelt, das sicheren und gezielten Zugriff auf allen Ebenen ermöglicht.

### [Zugriffsschlüssel (PAK)](/konto/zugriffsschlussel-pak)

Zugriffsschlüssel (PAK) ermöglichen es Ihnen, sich über die API zu authentifizieren, ohne Ihr Passwort zu verwenden. Sie können zeitlich begrenzte Schlüssel erstellen und deren Gültigkeit sowie Berechtigungen individuell festlegen. Zugriffsschlüssel können jederzeit widerrufen werden.

### [Benachrichtigungen](/konto/benachrichtigungen)

Derzeit versendet Polyteia Benachrichtigungen ausschließlich per E-Mail. In-App-Benachrichtigungen folgen in Kürze.

### Rollen und Berechtigungen

Jede Person hat die volle Kontrolle über die eigenen Kontoeinstellungen und Sicherheitsmaßnahmen. Sie können Ihr Passwort festlegen oder ändern, TOTP (Zwei-Faktor-Authentifizierung) aktivieren oder aktualisieren sowie persönliche Zugriffsschlüssel für den sicheren API-Zugriff verwalten. Außerdem können Sie Ihren Profilnamen ändern, Ihre E-Mail-Adresse zur Anmeldung aktualisieren, eine Organisation verlassen oder Ihr Konto dauerhaft löschen. Systemzugewiesene Eigenschaften wie Rollen innerhalb einer Organisation können nicht selbst geändert werden. Alle Aktionen sind eigenständig durchführbar und erfordern keine Zustimmung durch Administratoren.


# Konto

Ihr Zugang zur Polyteia-Plattform.

Ihr **Konto** ist Ihr persönlicher Zugang zur Polyteia-Plattform. Es speichert Ihre E-Mail-Adresse, Ihr Passwort und Ihre Sicherheitseinstellungen. Auf Basis dieses Kontos können Sie ein oder mehrere **Profile** in verschiedenen Organisationen haben.

Stellen Sie sich das so vor:

* **Konto** = Ihr Schlüssel zur Plattform
* **Profil** = Ihre Präsenz innerhalb einer Organisation

### Unterschied zwischen Konto und Profil

<table><thead><tr><th width="146.5625">Begriff</th><th>Konto</th><th>Profil</th></tr></thead><tbody><tr><td>Zweck</td><td>Zugang zur Polyteia-Plattform</td><td>Vertretung in einer bestimmten Organisation</td></tr><tr><td>Anzahl</td><td>Ein Konto pro Person</td><td>Ein Profil pro Organisation</td></tr><tr><td>Enthält</td><td>E-Mail-Adresse, Passwort, PAKs, 2FA, Einstellungen</td><td>Name, Organisationsrolle (Administrator/Mitglied), Aktivität</td></tr><tr><td>Änderung über</td><td>**Einstellungen** → **Persönlich**</td><td>**Organisationseinstellungen**</td></tr></tbody></table>

Beispiel: Wenn Sie Teil von **Stadt Musterstadt** und **LK Datenstadt** sind, haben Sie ein Konto (E-Mail-Adresse und Anmeldung), aber zwei Profile – je eines pro Organisation.

### Übersicht Kontoeinstellungen

Sie verwalten Ihr Konto unter **Einstellungen** → **Persönlich** → **Konto**.

#### Anmeldung

* **E-Mail-Adresse** – Ändern Sie die E-Mail-Adresse für die Anmeldung
* **Passwort** – Passwort festlegen oder aktualisieren

#### Authenticator-App

* **TOTP** – Zusätzliche Sicherheit mit einer Zwei-Faktor-App wie Authy oder Microsoft Authenticator

#### Kontoaktionen

* **Abmelden** – Abmelden aus Ihrer aktuellen Sitzung
* **Konto löschen** – Konto dauerhaft löschen (nur möglich, wenn Sie keiner Organisation mehr angehören)

{% hint style="danger" %}
Wenn Sie Ihr Konto löschen, verlieren Sie den Zugriff auf alle Daten. Dieser Schritt kann nicht rückgängig gemacht werden.
{% endhint %}

### [Persönliche Zugriffsschlüssel (PAKs)](/konto/zugriffsschlussel-pak)

Sie können **persönliche Zugriffsschlüssel** (PAKs) erstellen, um die Polyteia-API sicher zu nutzen – ohne Ihr Passwort einzugeben. Nützlich für Integrationen oder Automatisierungen. Weitere Informationen finden Sie im PAK-Artikel.


# Profil

Ihre Rolle in einer Organisation der Polyteia-Plattform.

Ihr **Profil** zeigt, wie Sie innerhalb einer bestimmten Organisation auf der Polyteia-Plattform erscheinen. Jede Organisation, der Sie beitreten, weist Ihnen ein separates Profil zu – so können Sie beispielsweise in einer Organisation Administrator und in einer anderen Mitglied sein.

Ihr Konto bleibt dabei immer gleich - das Profil ist das, was andere in der Organisation sehen.

### Profilverwaltung

Gehen Sie zu **Einstellungen** → **Persönlich** → **Profil**, um:

* **Ihren Namen zu bearbeiten** – Dieser wird anderen Nutzern in Ihrer Organisation angezeigt (z. B. in Teilen-Dialogen oder Benutzerlisten)
* **Die Organisation zu verlassen** – Dadurch verlieren Sie den Zugriff auf alle Arbeitsbereiche, Datensätze und Lösungen dieser Organisation

{% hint style="danger" %}
Das Verlassen einer Organisation ist final. Wenn Sie zurückkehren möchten, müssen Sie erneut eingeladen werden. Alle Berechtigungen, die mit dem gelöschten Profil verknüpft waren, gehen verloren.
{% endhint %}

#### Beispiel:

Sie können dasselbe Konto verwenden, um auf folgende Organisationen zuzugreifen:

* **Organisation A (Landkreis X)** mit dem Profilnamen „Max Müller"
* **Organisation B (Stadt Y)** mit dem Profilnamen „M. Müller (Planung)"

Jedes Profil kann an den jeweiligen organisatorischen Kontext angepasst werden.


# Sicherheit und Zugang

Kontosicherheit und Zugriff in der Polyteia-Plattform verwalten.

Die Polyteia-Plattform bietet umfassenden Anmeldeschutz und ein fein abgestuftes Berechtigungssystem, um die Sicherheit zu gewährleisten. Der Zugriff auf jede Ressource - sei es ein Arbeitsbereich, eine Datei, ein Bericht oder ein Datensatz - erfordert eine explizite Einladung.

Dieser Ansatz mag anfangs restriktiv wirken, bietet jedoch volle Kontrolle darüber, wer welche Informationen sehen oder bearbeiten darf.

### Anmeldemethoden

Die Polyteia-Plattform unterstützt drei sichere Anmeldeverfahren:

<table><thead><tr><th width="175.87109375">Methode</th><th width="378.79296875">Beschreibung</th><th align="center">Einrichtung erforderlich</th></tr></thead><tbody><tr><td>Einmal-Code per E-Mail (OTP)</td><td>Standardmethode – ein 6-stelliger Einmal-Code wird an Ihr E-Mail-Postfach gesendet</td><td align="center">✕</td></tr><tr><td>Passwort</td><td>Optionale Methode – statisches Passwort für Ihr Konto festlegen</td><td align="center">✓</td></tr><tr><td>TOTP (2FA)</td><td>Zweiter Faktor über Authenticator-App (empfohlen)</td><td align="center">✓</td></tr></tbody></table>

#### Empfehlung:

Für optimale Sicherheit empfehlen wir die Aktivierung aller drei Optionen:

* Einmal-Code per E-Mail (OTP) für bequemen Zugang
* Passwort als zusätzliche Anmeldemethode
* TOTP für starken Zwei-Faktor-Schutz

Diese Kombination stellt sicher, dass der Zugriff auch bei Kompromittierung einer Methode geschützt bleibt.

### TOTP-Authentifizierung

TOTP (zeitbasierter Einmal-Code) generiert alle 30 Sekunden neue Zugangscodes über eine Authenticator-App wie:

* [Microsoft Authenticator](https://www.microsoft.com/en-us/security/mobile-authenticator-app)
* [Google Authenticator](https://support.google.com/accounts/answer/1066447?hl=en)
* [Authy](https://www.authy.com/)
* [Duo](https://duo.com/)

TOTP gilt als besonders sicher, da:

* Codes offline auf Ihrem Gerät generiert werden
* Jeder Code nur kurz gültig ist
* Eine Anmeldung ohne Ihr Gerät selbst bei Passwortdiebstahl nicht möglich ist

TOTP aktivieren Sie unter **Einstellungen** → **Konto** → **Authenticator-App**.

### Passwort vergessen? (ohne Anmeldung)

Wenn Sie sich nicht mehr anmelden können, können Sie Ihr Passwort direkt von der Anmeldeseite aus zurücksetzen. Klicken Sie auf **Passwort vergessen?** unterhalb des Passwort-Eingabefelds. Sie erhalten per E-Mail einen Link zum Zurücksetzen.

Eine Schritt-für-Schritt-Anleitung finden Sie unter [Anmelden → Passwort vergessen?](/readme/anmelden#passwort-vergessen)

### Passwort ändern (nach Anmeldung)

Sie können Ihr Passwort direkt in der Plattform ändern. Dafür stehen Ihnen drei Methoden zur Identitätsbestätigung zur Verfügung:

{% tabs %}
{% tab title="Aktuelles Passwort" %}
Wenn Sie Ihr aktuelles Passwort kennen, geben Sie es einfach ein und legen Sie ein neues Passwort fest.

1. Gehen Sie zu **Einstellungen** → **Konto**
2. Klicken Sie auf **Passwort ändern**
3. Wählen Sie **Aktuelles Passwort** als Bestätigungsmethode
4. Geben Sie Ihr altes Passwort ein
5. Geben Sie Ihr neues Passwort ein und bestätigen Sie es
6. Klicken Sie auf **Speichern**
   {% endtab %}

{% tab title="E-Mail-Code" %}
Wenn Sie Ihr aktuelles Passwort nicht kennen, können Sie sich per E-Mail-Code verifizieren.

1. Gehen Sie zu **Einstellungen** → **Konto**
2. Klicken Sie auf **Passwort ändern**
3. Wählen Sie **E-Mail-Code** als Bestätigungsmethode
4. Klicken Sie auf **Code senden**. Ein 6-stelliger Code wird an Ihre E-Mail-Adresse gesendet
5. Geben Sie den Code ein
6. Geben Sie Ihr neues Passwort ein und bestätigen Sie es
7. Klicken Sie auf **Speichern**

{% hint style="info" %}
Falls der Code nicht ankommt, klicken Sie auf **Erneut senden**.
{% endhint %}
{% endtab %}

{% tab title="Authentifizierungs-App" %}
Wenn Sie TOTP (Zwei-Faktor-Authentifizierung) aktiviert haben, können Sie sich damit verifizieren.

1. Gehen Sie zu **Einstellungen** → **Konto**
2. Klicken Sie auf **Passwort ändern**
3. Wählen Sie **Authentifizierungs-App** als Bestätigungsmethode
4. Geben Sie den 6-stelligen Code aus Ihrer Authenticator-App ein
5. Geben Sie Ihr neues Passwort ein und bestätigen Sie es
6. Klicken Sie auf **Speichern**
   {% endtab %}
   {% endtabs %}

{% hint style="info" %}
Diese Methoden sind besonders hilfreich, wenn Sie noch kein Passwort festgelegt haben und bisher nur den Einmal-Code per E-Mail für die Anmeldung nutzen.
{% endhint %}

### Zugriff nur mit Einladung

Die Polyteia-Plattform folgt einem strengen **einladungsbasierten Zugriffsmodell**. Ein Benutzerkonto allein gewährt keinen Zugriff.

Jede Ressource erfordert eine explizite Freigabe. Beispiele:

| Aktion                  | Erforderlicher Zugriff                       |
| ----------------------- | -------------------------------------------- |
| Arbeitsbereich anzeigen | Mitglied des Arbeitsbereichs                 |
| Lösung öffnen           | Mitglied der Lösung                          |
| Datenvorschau öffnen    | Rolle als **Bearbeiter** oder **Eigentümer** |

Dieses Modell minimiert Risiken und erfüllt Anforderungen an den Datenschutz.

### [Rollen und Berechtigungen](/rollen-und-berechtigungen)

Das Rollensystem der Polyteia-Plattform ermöglicht präzise Zugriffskontrolle auf allen Ebenen:

* **Organisationsrollen**: Administrator- und Mitgliedsrollen zur Verwaltung plattformweiter Einstellungen
* **Ressourcenrollen**: Betrachter-, Bearbeiter- und Eigentümerrollen für Datensätze, Auswertungen und andere Ressourcen
* **Teilen-Optionen**: Zugriff gezielt an Personen oder Gruppen mit passender Berechtigung vergeben

Jede Aktion – ob das Anzeigen eines Diagramms oder das Bearbeiten eines Datensatzes – ist durch Rollen geregelt. So wird das Prinzip der minimalen Rechtevergabe umgesetzt und die Nachvollziehbarkeit aller Zugriffsrechte gewährleistet.


# Zugriffsschlüssel (PAK)

Mit PAKs über die Polyteia-API ohne Benutzername und Passwort authentifizieren.

Persönliche Zugriffsschlüssel (PAKs) ermöglichen den Zugriff auf die Polyteia-API, ohne Benutzername und Passwort zu verwenden. Sie eignen sich ideal für die Anbindung von Skripten, Tools oder externen Systemen. Jeder Schlüssel hat ein Ablaufdatum und ist nur einmal nach der Erstellung sichtbar.

### Anwendungsfälle

Verwenden Sie persönliche Zugriffsschlüssel, wenn Sie:

* Sicher aus externen Tools (z. B. Python, Postman) auf die API zugreifen möchten
* Aufgaben automatisieren wollen, ohne sich manuell anzumelden
* Polyteia-Daten in eigene Systeme integrieren möchten

{% hint style="info" %}
PAKs sind an Ihr Benutzerkonto gebunden und unterliegen Ihren Zugriffsrechten.
{% endhint %}

### PAK erstellen

1. Gehen Sie zu **Einstellungen** → **Persönliche Zugriffsschlüssel**
2. Klicken Sie auf **Persönlichen Zugriffsschlüssel (PAK) erstellen**
3. Im Dialog:
   * Geben Sie einen Namen ein (z. B. `Skriptzugriff`, `ETL-Pipeline`)
   * (Optional) Fügen Sie eine Beschreibung hinzu
   * Legen Sie die Gültigkeit in Tagen fest (z. B. `30`)
   * Klicken Sie auf **Speichern**
4. Ihr Schlüssel wird angezeigt. **Kopieren Sie ihn jetzt** – er wird später nicht mehr angezeigt
5. Klicken Sie auf **Speichern**, um abzuschließen

{% hint style="warning" %}
Kopieren Sie den Schlüssel unbedingt jetzt und bewahren Sie ihn sicher auf. Er kann später nicht erneut angezeigt werden. Wenn Sie ihn verlieren, müssen Sie einen neuen erstellen.
{% endhint %}

### Bestehende Schlüssel anzeigen

Alle aktiven PAKs erscheinen in der Liste mit:

* Name
* Beschreibung (falls angegeben)
* Erstellungsdatum
* Ablaufdatum
* Gültigkeitsbereich (derzeit immer `Alle`)

### PAK löschen

1. Suchen Sie den Schlüssel in der Liste
2. Klicken Sie auf das **🗑️**-Symbol rechts
3. Bestätigen Sie die Löschung im Pop-up

{% hint style="warning" %}
Ein gelöschter Schlüssel ist sofort ungültig für API-Zugriffe.
{% endhint %}

### Hinweise

* Sie können mehrere aktive Schlüssel gleichzeitig haben
* Schlüssel sind nur für die festgelegte Anzahl an Tagen gültig
* Bewahren Sie Ihre Schlüssel sicher auf – behandeln Sie sie wie ein Passwort
* Bei Verlust oder Kompromittierung löschen Sie den Schlüssel und erstellen einen neuen


# Benachrichtigungen

Benachrichtigungen über wichtige Updates in der Polyteia-Plattform erhalten.

## E-Mail-Benachrichtigungen

Derzeit versendet die Polyteia-Plattform Benachrichtigungen ausschließlich per E-Mail. Sie erhalten E-Mails zu wichtigen Vorgängen, wie zum Beispiel:

* Einladungen zu Arbeitsbereichen, Lösungen oder Ressourcen
* Verbindungsanfragen zwischen Organisationen
* Hinweise zu geteilten Ressourcen

## In-App-Benachrichtigungen (bald verfügbar)

In-App-Benachrichtigungen folgen in Kürze. Diese bieten eine zentrale Übersicht über alle relevanten Ereignisse direkt auf der Plattform. Bis dahin prüfen Sie bitte regelmäßig Ihr E-Mail-Postfach (inklusive Spam-Ordner), um auf dem Laufenden zu bleiben.


# Organisationsverwaltung

Verwalten Sie Mitglieder, Gruppen, Tags und Verbindungen.

Eine Organisation ist das Zuhause für alle Arbeitsbereiche und Lösungen. Wir empfehlen, mit Ihrer öffentlichen Verwaltung innerhalb einer einzigen Organisation zu arbeiten – das ist der ideale Weg, um effizient mit Ihren Kolleginnen und Kollegen zusammenzuarbeiten.

Eine Organisation in der Polyteia-Plattform steht für Ihre Verwaltungseinheit oder ihre Behörde (z. B. Landkreisverwaltung oder Landesbehörde). Sie ist der zentrale Ort zur Verwaltung von Nutzern, Gruppen, Tags und Verbindungen.

Alles geschieht im Kontext einer Organisation:

* Nutzer und ihre Rollen werden hier definiert
* Der Zugriff auf Daten und Lösungen wird organisationsbasiert gesteuert
* Über Connect ist eine Zusammenarbeit mit anderen Organisationen möglich

Nur Administratoren können die Einstellungen der Organisation verwalten.

### Bestandteile einer Organisation

Jede Organisation umfasst:

| Bereich                       | Zweck                                                                        |
| ----------------------------- | ---------------------------------------------------------------------------- |
| Mitglieder                    | Nutzer:innen und ihre Rollen (**Administrator** oder **Mitglied**) verwalten |
| Gruppen                       | Benutzergruppen zum einfachen Teilen und für Rechteverwaltung                |
| Tags                          | Labels zur Organisation und Filterung von Datensätzen, Lösungen u.v.m.       |
| Nutzung und Kontingente       | Überblick über Lizenz- und Speicherverbrauch inkl. Warnmeldungen             |
| Persönliche Zugriffsschlüssel | API-Zugänge für Integrationen generieren                                     |
| Connect                       | Einseitige Verbindungen mit anderen Organisationen einrichten                |

Sie finden all diese Bereiche unter **Einstellungen → \[Ihre Organisation]**.

### [Mitglieder verwalten](https://github.com/polyteia-de/docs/blob/german/gitbook/organisationen/broken-reference/README.md)

Administratoren können:

* Neue Mitglieder per E-Mail einladen
* Rollen zuweisen (**Administrator**, **Mitglied**)
* Rollen bearbeiten oder Mitglieder entfernen

### [Gruppen erstellen und verwalten](/organisationen/gruppen)

Gruppen helfen Ihnen:

* Zugriff für mehrere Personen gleichzeitig zu steuern
* Zwischen Bearbeiten und Lesen zu unterscheiden
* Nutzer:innen thematisch oder organisatorisch zu gruppieren

### [Tags zur Organisation von Ressourcen verwenden](/organisationen/tags)

Tags erleichtern das Filtern und Suchen in:

* Datensätzen
* Auswertungen
* weiteren Ressourcen

Jeder Tag hat einen Namen, eine Farbe und eine optionale Beschreibung.

### [Persönliche Zugriffsschlüssel (PAKs) verwenden](/konto/zugriffsschlussel-pak)

PAKs ermöglichen den API-Zugriff ohne Benutzername/Passwort. Sie sind:

* Zeitlich begrenzt (z. B. 30 Tage)
* Rechtegesteuert
* Für Integrationen und Automatisierung geeignet

### [Zusammenarbeit zwischen Organisationen](/organisationen/polyteia-connect)

Mit Polyteia Connect können Sie:

* Eine einseitige Verbindung zu einer anderen Organisation initiieren
* Bestimmte Mitglieder freigeben, damit sie eingeladen werden können
* Eingehende Verbindungen akzeptieren

{% hint style="info" %}
Das Teilen ist einseitig. Jede Organisation muss eine eigene Verbindung aufbauen, um Mitglieder zurückzuteilen.
{% endhint %}

### [Nutzung und Kontingente überwachen](/organisationen/nutzung-und-kontingente)

Behalten Sie Sitzplätze und Speicherplatz im Blick. Warnmeldungen informieren Sie, wenn Limits bald erreicht werden oder Uploads blockiert würden.

### [Rollen und Berechtigungen](/rollen-und-berechtigungen)

Auf Ebene der Organisation in der Polyteia-Plattform gibt es grundsätzlich zwei Rollen:

* **Administratoren** haben volle Kontrolle. Dazu gehört das Bearbeiten von Organisations-Metadaten, das Einladen von Nutzern, das Erstellen von Arbeitsbereichen sowie das Verwalten von Nutzerlizenzen
* **Mitglieder** besitzen eingeschränkte Berechtigungen und können lediglich die Organisations-Metadaten einsehen.

#### Im Folgenden ein umfassender Überblick:

<table><thead><tr><th width="304.97265625">Berechtigung</th><th align="center">Organisations-Admin</th><th align="center">Mitglied</th><th align="center">Gast (bald verfügbar)</th></tr></thead><tbody><tr><td><strong>Organisation</strong></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>Organisationsnamen, Beschreibung und alle Organisationseinstellungen anzeigen und bearbeiten</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Verbindungen zu anderen Polyteia-Organisationen (geteilte Arbeitsbereiche)</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Erstelle Zugriffschlüssel (PAKs)</td><td align="center">✓</td><td align="center">✓</td><td align="center"></td></tr><tr><td>Organisationsnamen und Beschreibung anzeigen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr><tr><td><strong>Nutzerverwaltung</strong></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>Nutzer zur Organisation als Mitglieder einladen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Erstellen und anzeigen von Gruppen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td><strong>Arbeitsbereiche</strong></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>Arbeitsbereiche erstellen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Details eines Arbeitsbereichs einsehen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Liste aller Arbeitsbereiche einsehen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td><strong>Ressourcen</strong></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td>Tags erstellen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr></tbody></table>

#### Bewährte Vorgehensweisen

* Beschränken Sie den Administrator-Zugriff, damit nur notwendige Nutzer Einstellungen ändern, Benutzer einladen und Arbeitsbereiche erstellen können.
* Nutzen Sie die Rolle **Mitglieder**, um Benutzergruppen zu verwalten und gleichzeitig deren Möglichkeit einzuschränken, Organisationseinstellungen zu verändern.
* Fügen Sie Nutzer, die zur Organisation hinzugefügt werden, gleichzeitig relevanten Arbeitsbereichen und Lösungen hinzu (sofern Berechtigungen dies zulassen), damit sie aktiv beitragen können.


# Allgemein

Ändern Sie Namen oder Beschreibung Ihrer Organisation.

### Namen und Beschreibung der Organisation anpassen

1. Gehen Sie zu **Einstellungen → \[Ihre Organisation] → Allgemein**
2. Klicken Sie auf **Bearbeiten**
3. Im Dialog:
   * Geben Sie den **Namen** Ihrer Organisation ein, der oben rechts in der Seitennavigation erscheinen soll
   * Geben Sie den **Eindeutigen Namen** Ihrer Organisation ein. Dieser identifiziert die Organisation in der URL sowie beim Verbinden zweier Organisationen über Connect eindeutig. Eindeutige Namen können nur einmal vergeben werden
   * Geben Sie eine Beschreibung ein. Damit lassen Sie Ihre Mitglieder als auch Externe Details zu Ihrer Organisation wissen
4. Klicken Sie auf **Speichern**

### Organisation löschen

{% hint style="info" %}
Um eine **Organisation dauerhaft zu löschen** oder Änderungen an Ihrem **Plan** (z. B. Nutzeranzahl, Speicherplatz oder Funktionalitäten) vorzunehmen, wenden Sie sich bitte an den **Polyteia Support**.
{% endhint %}

Alle Änderungen an Ihrer Organisation, die nicht in diesem oder anderen Artikeln beschrieben wurden, werden durch das Polyteia-Team vorgenommen.


# Mitglieder

Mitglieder sind reguläre Nutzer in der Polyteia-Plattform.

Organisations-Administratoren können Mitglieder zur Organisation einladen und ihnen eine Rolle zuweisen: **Administrator** oder **Mitglied**. Eingeladene Personen erhalten eine E-Mail mit Anweisungen zur Anmeldung. Rollen können jederzeit geändert und Mitglieder über die Mitgliederseite entfernt werden.

### Neues Mitglied einladen

1. Gehen Sie zu **Einstellungen → \[Ihre Organisation] → Mitglieder**
2. Klicken Sie auf **Mitglied einladen**
3. Im Dialog:
   * Geben Sie die E-Mail-Adresse der Person ein, die Sie einladen möchten
   * Wählen Sie eine Rolle (**Mitglied** oder **Administrator**)
   * (Optional) Fügen Sie eine Nachricht hinzu
4. Klicken Sie auf **Einladen**

Die eingeladene Person erhält eine E-Mail-Einladung. Sobald sie diese annimmt, erscheint sie in der Mitgliederliste.

### Rolle eines Mitglieds ändern

1. Klicken Sie in der Mitgliederliste auf den Namen der Person, deren Rolle Sie ändern möchten → Eine Seitenleiste öffnet sich rechts
2. Nutzen Sie das Dropdown-Menü **Rolle**, um zwischen **Mitglied** und **Administrator** zu wechseln
3. Änderungen werden automatisch gespeichert

In der Seitenleiste können Sie außerdem die E-Mail-Adresse und den letzten Login des Nutzers einsehen.

{% hint style="info" %}
Sie müssen Organisations-Administrator sein, um Rollen auf Organisationsebene zu ändern.
{% endhint %}

### Mitglied löschen

1. Klicken Sie in der Mitgliederliste auf die Person, die Sie entfernen möchten → Eine Seitenleiste öffnet sich rechts
2. Klicken Sie unten auf den roten Button **Mitglied löschen**
3. Bestätigen Sie die Löschung im Dialog

{% hint style="danger" %}
Das Löschen eines Mitglieds entzieht sofort den Zugriff auf die Organisation und alle freigegebenen Ressourcen.
{% endhint %}


# Gruppen

Organisieren Sie Nutzer in Gruppen.

Gruppen helfen Ihnen, den Zugriff für mehrere Personen gemeinsam zu verwalten. Sie können Personen einer Gruppe zuweisen und diese z. B. beim Teilen von Datensätzen oder Auswertungen verwenden. Jede Gruppe kann mehrere Administratoren und Mitglieder enthalten. Die Rollen können jederzeit geändert werden.

### Gruppe erstellen

1. Gehen Sie zu **Einstellungen → \[Ihre Organisation] → Gruppen**
2. Klicken Sie auf **Gruppe erstellen**
3. Im Dialog:
   * Geben Sie einen Namen und eine optionale Beschreibung ein
   * Suchen und wählen Sie Nutzer aus
   * Weisen Sie jeder Person eine Rolle zu: **Administrator** oder **Mitglied**
   * Klicken Sie auf **Erstellen**

{% hint style="info" %}
Alle Mitglieder einer Gruppe erhalten dieselben Zugriffsrechte, wenn die Gruppe zu einer Ressource (Datensatz, Auswertung, Bericht) eingeladen wird.
{% endhint %}

### Gruppenmitglieder bearbeiten

1. Klicken Sie auf eine Gruppe, um die Seitenleiste zu öffnen
2. Klicken Sie auf das Bearbeiten-Symbol (✏️) neben **Mitglieder**
3. Im Dialog:
   * Nutzer auswählen oder abwählen
   * Rolle ändern (Mitglied/Administrator)
   * Klicken Sie auf **Speichern**

Alle vorgenommenen Änderungen gelten sofort.

### Gruppenname oder Beschreibung bearbeiten

1. Klicken Sie in der Gruppenseitenleiste oben rechts auf das **...**-Menü
2. Wählen Sie **Gruppe bearbeiten**
3. Aktualisieren Sie Name oder Beschreibung
4. Klicken Sie auf **Speichern**

### Gruppe löschen

1. Klicken Sie in der Gruppenseitenleiste auf das **...**-Menü
2. Wählen Sie **Gruppe löschen**
3. Bestätigen Sie die Löschung

{% hint style="info" %}
Das Löschen einer Gruppe entfernt keine Mitglieder aus der Organisation.
{% endhint %}

### Gruppenrollen

| Rolle         | Kann Gruppeneinstellungen bearbeiten | Kann Mitglieder verwalten |
| ------------- | ------------------------------------ | ------------------------- |
| Administrator | Ja                                   | Ja                        |
| Mitglied      | Nein                                 | Nein                      |


# Tags

Ressourcen mit Tags ordnen und schnell wiederfinden.

Tags sind Etiketten, mit denen Sie Ressourcen wie Datensätze oder Auswertungen übersichtlich kategorisieren können. Sie haben die Möglichkeit, eigene Tags zu erstellen, zu bearbeiten oder zu löschen und ihnen individuelle Farben sowie Beschreibungen zuzuweisen.

### Neuen Tag erstellen

1. Gehen Sie zu **Einstellungen → \[Ihre Organisation] → Tags**
2. Klicken Sie auf **Tag erstellen**
3. Im Dialog:
   * Geben Sie einen Namen ein
   * (Optional) Fügen Sie eine Beschreibung hinzu
   * Wählen Sie eine Farbe (oder geben Sie einen Hex-Code ein)
   * Klicken Sie auf **Speichern**

{% hint style="info" %}
Alle erstellten Tags stehen allen Nutzern Ihrer Organisation zur Verfügung und können organisationsweit wiederverwendet werden.
{% endhint %}

### Tag bearbeiten

1. Suchen Sie den Tag in der Liste
2. Klicken Sie auf das **...**-Menü rechts
3. Wählen Sie **Tag bearbeiten**
4. Aktualisieren Sie Name, Beschreibung oder Farbe
5. Klicken Sie auf **Speichern**

### Tag löschen

1. Klicken Sie auf das **...**-Menü neben einem Tag
2. Wählen Sie **Löschen**
3. Bestätigen Sie den Löschvorgang

{% hint style="info" %}
Das Löschen eines Tags hat keinen Einfluss auf Ressourcen, bei denen er bereits verwendet wurde. Der gelöschte Tag steht jedoch künftig nicht mehr zur Verfügung.
{% endhint %}

### Verwendung von Tags

Verwenden Sie Tags, um Ressourcen wie Datensätze oder Auswertungen in Ihrem Arbeitsbereich oder Ihrer Lösung leichter zu suchen und zu filtern.


# Nutzung und Kontingente

Behalten Sie Nutzerlizenzen und Speicherverbrauch im Blick und reagieren Sie auf Warnungen.

Die Seite **Einstellungen → Organisation → Nutzung und Kontingente** fasst alle verbrauchsabhängigen Limits Ihrer Organisation zusammen. So sehen Administratoren auf einen Blick, wie viele **Lizenzen** und wie viel **Speicher** bereits genutzt werden – inklusive frühzeitiger Warnungen, wenn Grenzwerte näherrücken.

## Was wird angezeigt?

| Bereich            | Inhalt                                                                                          |
| ------------------ | ----------------------------------------------------------------------------------------------- |
| **Nutzerlizenzen** | Anzahl der vergebenen Lizenzen im Verhältnis zum Organisationslimit.                            |
| **Speicherplatz**  | Verwendeter Speicher gegenüber verfügbarem Gesamtkontingent Ihrer Organisation (in GB oder MB). |
| **KI-Token**       | Verbrauchte KI-Token im Verhältnis zum monatlichen Kontingent.                                  |

Für alle Bereiche erhalten Sie zusätzlich einen visuellen Fortschrittsbalken sowie einen Status:

* **Normal (grün)** – deutlicher Puffer zum Limit vorhanden.
* **Warnung (gelb)** – mehr als 50 % des Kontingents sind belegt.
* **Kritisch (rot)** – weniger als 20 % Restkapazität oder Limit bereits erreicht.

## Was passiert bei KI-Token-Warnungen?

Das KI-Token-Kontingent zeigt, wie viele Token Ihre Organisation in diesem Monat bereits verbraucht hat. Token werden bei jeder Nutzung des KI-Assistenten in Auswertungen verbraucht.

* **Warnung (gelb)** – Mehr als 50 % der Token sind verbraucht. Nutzen Sie die KI gezielt.
* **Kritisch (rot)** – Das Limit ist fast oder ganz erreicht. Neue Fragen an die KI sind nicht mehr möglich.

Das Kontingent wird monatlich automatisch zurückgesetzt. Benötigen Sie mehr Token, wenden Sie sich an das Polyteia-Team.

Mehr zur Nutzung der KI erfahren Sie unter [KI](/ki).

## Was passiert bei Speicherwarnungen?

Sobald das Speicherlimit fast erreicht ist, sehen Sie nicht nur den Warnstatus in der Übersicht. Auch beim Hochladen von Daten in Datensätzen erscheinen Hinweise (siehe [Daten hochladen](/datensaetze/daten-hochladen)):

* **Kurz vor dem Limit** – Benutzer:innen sehen eine gelbe Warnung mit konkretem Restvolumen.
* **Limit erreicht** – Uploads in leere Datensätze sind gesperrt, bestehende Datensätze lassen sich nur noch mit kleineren Dateien aktualisieren.

In beiden Fällen empfiehlt das System, den Organisationsadministrator oder den Polyteia-Support zu kontaktieren, um das Kontingent zu erhöhen.

## Best Practices

* **Regelmäßig prüfen** – Kontrollieren Sie die Seite nach größeren Uploads oder nach der Einladung mehrerer neuer Nutzender.
* **Aufräumen** – Löschen Sie nicht mehr benötigte Datensätze oder Archive, bevor Warnstufen erreicht werden.
* **Proaktiv erweitern** – Melden Sie sich frühzeitig beim Polyteia-Team, wenn sich größere Speicher- oder Lizenzbedarfe abzeichnen.

So stellen Sie sicher, dass der Betrieb Ihrer Organisation reibungslos bleibt und keine Uploads oder Benutzer\*innen blockiert werden.


# Abo-Verwaltung


# Connect

Arbeiten Sie mit anderen Organisationen in der Polyteia-Plattform zusammen.

Mit Connect können Sie vertrauenswürdige, einseitige Verbindungen zwischen Organisationen einrichten, die die Polyteia-Plattform verwenden. So wird eine sichere Zusammenarbeit über Organisationsgrenzen hinweg möglich – bei voller Kontrolle über alle Zugriffe.

### Funktion einer Verbindung

Eine Verbindung ermöglicht es Ihnen:

* **Mitglieder Ihrer Organisation für eine andere Organisation sichtbar zu machen**
* **Der anderen Organisation zu erlauben, Ihre Mitglieder** zu Arbeitsbereichen, Lösungen und Datensätzen einzuladen
* **Die volle Kontrolle zu behalten**, wer sichtbar ist und wer geteilt wird

Es erfolgt **kein automatischer Zugriff** auf Inhalte oder Daten.

Stellen Sie sich das wie eine Tür vor, die Sie öffnen, damit die andere Organisation Ihre Personen finden und einladen kann – ohne selbst einzutreten.

### Funktionsweise

Verbindungen sind **einseitig**. Das bedeutet:

* Wenn **Organisation A eine Verbindung zu Organisation B herstellt**, dann werden **Mitglieder von A in B auffindbar**
* Wenn B dasselbe möchte, **muss sie selbst eine Verbindung zu A initiieren**

{% hint style="info" %}
Wenn gegenseitige Sichtbarkeit gewünscht ist, müssen beide Seiten eine eigene Verbindung einrichten.
{% endhint %}

### Beispiel

Angenommen:

* Sie sind Teil von **Organisation A (Mustergemeinde)**
* Sie verbinden sich mit **Organisation B (Datenstadt)**
* Sie geben 2 Mitglieder frei: **<daniela@mustergemeinde.de>** und **<simon@mustergemeinde.de>**

Dann passiert Folgendes:

* In Datenstadt (Organisation B):
  * Die freigegebenen Mitglieder sind **auffindbar** in Auswahlmenüs (z. B. für Einladungen zum Teilen)
  * Sie können zu Ressourcen, Arbeitsbereichen oder Lösungen eingeladen werden
* Die Mitglieder von Datenstadt sind **für Sie nicht sichtbar**, außer Datenstadt stellt selbst eine Verbindung zu Ihnen her

{% hint style="info" %}
Nur die freigegebenen Mitglieder werden sichtbar. Sie entscheiden, wer geteilt wird.
{% endhint %}

### Warum dieses Modell?

Dieses Modell gewährleistet:

| Vorteil                     | Erklärung                                                  |
| --------------------------- | ---------------------------------------------------------- |
| Datenschutzkonformes Teilen | Nur ausgewählte Mitglieder sind übergreifend sichtbar      |
| Granulare Zusammenarbeit    | Nur gezielt eingeladene Personen haben Zugriff             |
| Volle Kontrolle             | Es werden keine Inhalte oder Daten automatisch offengelegt |
| Einfache Struktur           | Eine Seite genügt für den Verbindungsaufbau                |

### Zentrale Eigenschaften

| Verhalten                     | Bedeutung                                                  |
| ----------------------------- | ---------------------------------------------------------- |
| Nur einseitig                 | Verbindungen wirken nicht automatisch in beide Richtungen  |
| Manuelle Auswahl erforderlich | Nur ausgewählte Mitglieder werden geteilt                  |
| Sichtbarkeit ohne Zugriff     | Die andere Organisation sieht Ihre Mitglieder – mehr nicht |
| Bestätigung erforderlich      | Die empfangende Organisation muss die Anfrage annehmen     |

{% hint style="info" %}
Um Mitglieder einer anderen Organisation zu sehen, muss diese eine Verbindung zu Ihnen aufbauen.
{% endhint %}

***

## Schritt-für-Schritt-Anleitung

{% stepper %}
{% step %}
**Connect öffnen**

Gehen Sie zu: **Einstellungen → Connect**

Klicken Sie auf **Neue Verbindung**.
{% endstep %}

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

Nutzen Sie die Suchleiste, um die Organisation zu finden, mit der Sie sich verbinden möchten. Klicken Sie auf **Weiter**, sobald sie ausgewählt ist.

{% hint style="info" %}
Es werden nur Organisationen angezeigt, mit denen eine Verbindung möglich ist.
{% endhint %}
{% endstep %}

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

Wählen Sie nun die Mitglieder Ihrer Organisation aus, die für die andere Organisation sichtbar sein sollen.

* Aktivieren Sie die Kontrollkästchen neben den gewünschten Personen
* Sie können Administratoren und Mitglieder auswählen
* Klicken Sie auf **Weiter**, wenn Sie fertig sind

{% hint style="info" %}
Nur die ausgewählten Personen werden in der anderen Organisation auffindbar.
{% endhint %}
{% endstep %}

{% step %}
**Überprüfen und absenden**

Sie sehen eine Zusammenfassung von:

* Der Organisation, mit der Sie sich verbinden
* Den ausgewählten Mitgliedern
* (Optional) Eine Nachricht zur Anfrage

Klicken Sie auf **Anfrage senden**.
{% endstep %}

{% step %}
**Auf Bestätigung warten**

Die andere Organisation erhält eine **E-Mail-Benachrichtigung**. Bis zur Annahme gilt:

* Die Verbindung erscheint als **Ausstehend**
* Noch erfolgt kein Teilen von Mitgliedern

Nach der **Annahme** wird der Status zu **Aktiv**.
{% endstep %}

{% step %}
**(Andere Organisation) Mitglieder verwenden**

In der empfangenden Organisation:

* Geteilte Mitglieder erscheinen in Dropdowns (z. B. für Arbeitsbereich-Administratoren)
* Sie sind mit einem kleinen **Extern**-Symbol gekennzeichnet
* Sie können wie eigene Mitglieder eingeladen werden
  {% endstep %}

{% step %}
**(Optional) Gegenseitige Verbindung aufbauen**

Für **beidseitiges Teilen** sollte die empfangende Organisation ebenfalls:

* Den Bereich **Connect** öffnen
* Eine **neue Verbindung** erstellen
* Ihre Organisation auswählen und Mitglieder freigeben

Sobald beide Verbindungen bestehen, können **beide Organisationen Mitglieder gegenseitig entdecken und einladen**.
{% endstep %}
{% endstepper %}

## Hinweise und Tipps

### Was möglich ist

* Ausgewählte Mitglieder teilen
* Mitglieder aus Verbindung entfernen
* Einladungen auf Arbeitsbereich-Ebene steuern

### Was nicht möglich ist

* Inhalte oder Daten automatisch teilen
* Mitglieder der anderen Organisation standardmäßig sehen
* Ohne Einladung Zugriff auf Ressourcen, Arbeitsbereiche oder Lösungen erhalten

Nach erfolgreichem Verbindungsaufbau steht einer sicheren, kontrollierten Zusammenarbeit über Organisationsgrenzen hinweg nichts mehr im Weg.


# Arbeitsbereiche

Organisieren Sie Ihre Teammitglieder in Arbeitsbereichen.

Arbeitsbereiche sind der Ort, an dem Sie alle Mitglieder Ihrer Abteilungen oder Fachbereiche organisieren können, um gemeinsam an [Lösungen](/loesungen) zu arbeiten. Sie dienen dazu, die Mitglieder sinnvoll entsprechend Ihrer Organisationsstruktur zu organisieren und Sichtbarkeit auf unterschiedliche Lösungen innerhalb eines Arbeitsbereichs zu schaffen.

### Startseite

Auf der Startseite sehen Sie alle Ihre Arbeitsbereiche als aufklappbare Bereiche. Jeder Arbeitsbereich zeigt:

* Den Namen und die Beschreibung des Arbeitsbereichs
* Einen Pfeil zum Auf- und Zuklappen
* Die Lösungen innerhalb des Arbeitsbereichs als Karten

Sie können die Suche oben nutzen, um schnell nach Lösungen zu suchen.

### Arbeitsbereich erstellen

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Klicken Sie oben auf **Neuer Arbeitsbereich**
3. Geben Sie einen Namen und eine Beschreibung ein
4. Klicken Sie auf **Erstellen**

{% hint style="info" %}
Nur Organisations-Administratoren können Arbeitsbereiche erstellen und löschen.
{% endhint %}

### Arbeitsbereich teilen

Sie können Mitglieder in den Arbeitsbereich für die Zusammenarbeit einladen:

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Finden Sie den gewünschten Arbeitsbereich
3. Klicken Sie auf das Menü (drei Punkte) rechts neben dem Arbeitsbereichsnamen
4. Wählen Sie **Arbeitsbereich teilen**
5. Suchen und wählen Sie Nutzer oder Gruppen aus
6. Wählen Sie pro Nutzer eine Rolle:
   * `Administrator` - kann bearbeiten/teilen
   * `Mitglied` - kann Lösungen erstellen
7. Klicken Sie auf **Speichern**

{% hint style="info" %}
Nur Arbeitsbereichs-Administratoren können Mitglieder zum Arbeitsbereich einladen.
{% endhint %}

### Arbeitsbereich bearbeiten

So ändern Sie den Namen oder die Beschreibung eines Arbeitsbereichs:

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Finden Sie den gewünschten Arbeitsbereich
3. Klicken Sie auf das Menü (drei Punkte) rechts neben dem Arbeitsbereichsnamen
4. Wählen Sie **Arbeitsbereich bearbeiten**
5. Ändern Sie Name oder Beschreibung
6. Klicken Sie auf **Speichern**

### Arbeitsbereich löschen

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Finden Sie den Arbeitsbereich, den Sie löschen möchten
3. Klicken Sie auf das Menü (drei Punkte) rechts neben dem Arbeitsbereichsnamen
4. Wählen Sie **Arbeitsbereich löschen**

{% hint style="danger" %}
Sie verlieren damit Zugang zu allen Lösungen und Ressourcen in diesem Arbeitsbereich. Diese Aktion kann nicht rückgängig gemacht werden.
{% endhint %}

### Rollen und Berechtigungen

Arbeitsbereiche in Polyteia haben zwei Rollen:

* **Administratoren** haben vollständigen Zugriff auf den Arbeitsbereich, einschließlich Bearbeitung von Name und Beschreibung, Einladung von Nutzern und Verwaltung des Zugriffs.
* **Mitglieder** können Lösungen erstellen, aber keine Nutzer oder Einstellungen des Arbeitsbereichs verwalten.

Ein Arbeitsbereich kann mehrere Administratoren haben. Der Ersteller eines Arbeitsbereichs ist standardmäßig Administrator.

**Bewährte Vorgehensweisen**

* Beschränken Sie den Administrator-Zugriff auf Personen, die tatsächlich Nutzer und Einstellungen verwalten müssen.
* Weisen Sie Mitgliedern ihre Rollen sorgfältig zu, um sicherzustellen, dass nur autorisierte Nutzer Zugriff auf den Arbeitsbereich und darin enthaltene Lösungen haben.


# Lösungen

Organisieren Sie Ihre Ressourcen fachspezifisch in Lösungen.

Lösungen beschäftigen sich mit einer spezifischen Aufgabe, einem Projekt oder einem Thema innerhalb Ihres Arbeitsbereichs. Eine Lösung ist der Ort, an dem Sie Ressourcen erstellen und aktiv einsetzen können. Zur Unterstützung Ihrer fachlichen Aufgaben können Sie [Datensätze](/datensaetze), [Auswertungen](/auswertungen), [Berichte](/berichte) oder [Formulare](/formulare) erstellen, mit Mitgliedern der Lösung zusammenarbeiten und teilen.

### Lösungsübersicht

Die Lösungsübersicht ist die Hauptansicht Ihrer Lösung. Wenn Sie eine Lösung öffnen, sehen Sie automatisch den ersten Bericht. Alle Berichte und die Dokumentation erscheinen als Reiter oben:

* **Berichte** - Ihre Berichte erscheinen als Reiter. Der erste Bericht wird automatisch angezeigt
* **Dokumentation** - Ein eigener Reiter für Hintergrundinformationen und Erklärungen

{% hint style="info" %}
Wenn Sie eine Lösung öffnen, landen Sie direkt beim ersten Bericht. So sehen Nutzer sofort die wichtigsten Daten und Auswertungen. Die Dokumentation finden Sie als eigenen Reiter.
{% endhint %}

**Navigation in der Seitenleiste:**

Über die Seitenleiste können Sie schnell auf alle Bereiche Ihrer Lösung zugreifen:

* **Lösungsübersicht** - Zurück zur Hauptansicht mit Berichten und Dokumentation
* **Berichte** - Alle Berichte verwalten und bearbeiten
* **Auswertungen** - Einzelne Auswertungen erstellen und verwalten
* **Formulare** - Formulare zur Datenerfassung
* **Datensätze** - Ihre Datenquellen verwalten
* **Weisungsregister** - Dokumentation Ihrer Datenverarbeitung gemäß DSGVO
* **Einstellungen** - Name, Beschreibung und Zugriffsrechte verwalten

### Ressourcen verwalten

Die Seitenleiste bietet schnellen Zugriff auf alle Ressourcen in Ihrer Lösung. Wenn Sie mit der Maus über einen Ressourcentyp (Berichte, Auswertungen, Formulare, Datensätze) fahren, öffnet sich ein Fenster mit weiteren Optionen:

**Ressourcen-Fenster:**

* **Suche** - Finden Sie schnell eine bestimmte Ressource
* **Neu erstellen** - Klicken Sie auf das **+** Symbol, um eine neue Ressource zu erstellen
* **Favoriten** - Ihre als Favorit markierten Ressourcen erscheinen oben
* **Nach Tags gruppiert** - Ressourcen werden nach ihren Tags gruppiert angezeigt
* **Aktionen** - Über das Menü (drei Punkte) können Sie jede Ressource bearbeiten, teilen oder löschen

{% hint style="info" %}
Favoriten helfen Ihnen, häufig genutzte Ressourcen schnell wiederzufinden. Markieren Sie eine Ressource als Favorit über das Aktionsmenü.
{% endhint %}

**Ressourcentypen im Überblick:**

| Ressource        | Beschreibung                                                        | Mehr erfahren                 |
| ---------------- | ------------------------------------------------------------------- | ----------------------------- |
| **Berichte**     | Kombinieren Sie Auswertungen und Texte in strukturierten Dokumenten | [Berichte](/berichte)         |
| **Auswertungen** | Erstellen Sie Diagramme und Tabellen aus Ihren Daten                | [Auswertungen](/auswertungen) |
| **Formulare**    | Erfassen Sie strukturiert Daten von Nutzern                         | [Formulare](/formulare)       |
| **Datensätze**   | Verwalten Sie Ihre Datenquellen                                     | [Datensätze](/datensaetze)    |

### Lösung erstellen

Lösungen werden innerhalb eines Arbeitsbereichs erstellt. So geht's:

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Finden Sie den gewünschten Arbeitsbereich und klicken Sie auf den Pfeil, um ihn aufzuklappen
3. Klicken Sie auf **Neue Lösung hinzufügen**

{% stepper %}
{% step %}
**Schritt 1: Name und Beschreibung**

Geben Sie Ihrer Lösung einen Namen und eine Beschreibung. Klicken Sie auf **Weiter**.
{% endstep %}

{% step %}
**Schritt 2: Weisungsregister-Eintrag erstellen**

Nach der Erstellung von Name und Beschreibung öffnet sich automatisch der Assistent zum Erstellen eines Eintrags im Weisungsregister. Dies ist verpflichtend für jede neue Lösung.

Dokumentieren Sie hier, ob und welche personenbezogenen Daten Sie in dieser Lösung verarbeiten werden. Eine ausführliche Anleitung finden Sie unter [Eintrag erstellen](/sicherheit/weisungsregister/eintrag-erstellen).

Erst nach Abschluss dieses Schrittes wird die Lösung erstellt.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Warum ist das Weisungsregister verpflichtend?**

Die DSGVO verlangt von Ihnen als Verantwortlichem, dass Sie vor Beginn der Datenverarbeitung dokumentieren, welche Daten Sie zu welchem Zweck verarbeiten. Das Weisungsregister hilft Ihnen dabei, diese Anforderung direkt beim Erstellen der Lösung zu erfüllen.
{% endhint %}

### Lösung teilen

Sie können Mitglieder in die Lösung für die Zusammenarbeit einladen:

1. Öffnen Sie Ihre Lösung
2. Klicken Sie in der Seitenleiste auf **Einstellungen**
3. Im Bereich **Zugriff** können Sie Nutzer oder Gruppen hinzufügen
4. Suchen und wählen Sie Nutzer oder Gruppen aus
5. Wählen Sie pro Nutzer eine Rolle:
   * `Administrator` - kann die Lösung mit anderen Arbeitsbereichsmitgliedern teilen
   * `Mitglied` - kann selbst Datensätze, Berichte, Formulare oder Auswertungen in der Lösung erstellen und teilen
6. Klicken Sie unten auf **Speichern**

{% hint style="info" %}
Nur Lösungs-Administratoren können Mitglieder zur Lösung einladen.
{% endhint %}

### Ressourcen innerhalb der Lösung teilen

Einzelne Ressourcen (Datensätze, Auswertungen, Berichte, Formulare) können eigene Zugriffsrechte haben. Für jede Ressource können Sie festlegen, wer sie sehen oder bearbeiten darf:

* **Vollzugriff** - Die Person kann die Ressource sehen und bearbeiten
* **Lesezugriff** - Die Person kann die Ressource nur ansehen
* **Kein Zugriff** - Die Person hat keinen Zugriff

Zusätzlich können Sie den Zugriff für alle Lösungsmitglieder festlegen:

* **Mitglieder können ansehen** - Alle Lösungsmitglieder können die Ressource sehen
* **Mitglieder können bearbeiten** - Alle Lösungsmitglieder können die Ressource bearbeiten
* **Individueller Zugriff** - Nur explizit eingeladene Personen können die Ressource sehen

### Einstellungen

In den Einstellungen Ihrer Lösung können Sie:

* **Name und Beschreibung** ändern
* **Zugriff verwalten** - Nutzer und Gruppen hinzufügen oder entfernen
* **Rollen anpassen** - Berechtigungen für einzelne Mitglieder festlegen

So öffnen Sie die Einstellungen:

1. Öffnen Sie Ihre Lösung
2. Klicken Sie in der Seitenleiste auf **Einstellungen**

### Weisungsregister und Datenschutz

Das **Weisungsregister** ist der zentrale Ort für die Dokumentation Ihrer Datenverarbeitungstätigkeiten gemäß DSGVO. Beim Erstellen einer neuen Lösung erstellen Sie automatisch den ersten Eintrag im Weisungsregister.

**Wo finde ich das Weisungsregister?**

Öffnen Sie Ihre Lösung und klicken Sie in der Seitenleiste auf **Weisungsregister**. Hier sehen Sie alle Einträge und können neue erstellen oder bestehende verwalten.

**Was dokumentiere ich im Weisungsregister?**

In jedem Eintrag dokumentieren Sie:

* Ob und welche personenbezogenen Daten Sie verarbeiten
* Wessen Daten Sie verarbeiten (betroffene Personengruppen)
* Zu welchem Zweck Sie die Daten verarbeiten
* Wie Sie die Daten schützen (Sicherheitsmaßnahmen)

{% hint style="info" %}
**Beispiel**: Eine Gesundheitsbehörde dokumentiert, dass sie "Gesundheitsdaten (Impfstatus)" der "Bürgerinnen und Bürger des Landkreises" zum Zweck "Infektionsmonitoring" verarbeitet.
{% endhint %}

**Weitere Informationen:**

* [Vollständige Anleitung zum Weisungsregister](/sicherheit/weisungsregister)
* [Eintrag erstellen](/sicherheit/weisungsregister/eintrag-erstellen)
* [Einträge verwalten](/sicherheit/weisungsregister/eintraege-verwalten)
* [Datenschutz in Polyteia](/sicherheit/datenschutz)

### Lösung löschen

So löschen Sie eine Lösung:

1. Gehen Sie zur **Startseite** Ihrer Organisation
2. Finden Sie die Lösung, die Sie löschen möchten
3. Klicken Sie auf das Menü (drei Punkte) auf der Lösungskarte
4. Wählen Sie **Lösung löschen**

{% hint style="danger" %}
Sie verlieren damit alle Ressourcen in dieser Lösung. Diese Aktion kann nicht rückgängig gemacht werden.
{% endhint %}

### Rollen und Berechtigungen

Lösungen in Polyteia haben drei Rollen:

* **Administratoren** haben vollständigen Zugriff, einschließlich Bearbeitung von Name/Beschreibung der Lösung, Einladung von Nutzern aus dem Arbeitsbereich und Verwaltung des Zugriffs und Verwaltung des Weisungsregisters.
* **Mitglieder** können Ressourcen (z. B. Datensätze, Formulare oder Berichte) erstellen, verwalten und anzeigen, aber keine Nutzer oder Einstellungen der Lösung verwalten.

Eine Lösung kann **mehrere Administratoren** haben. Der Ersteller einer Lösung ist standardmäßig Administrator der Lösung.

**Bewährte Vorgehensweisen**

* Beschränken Sie den Administrator-Zugriff auf diejenigen, die tatsächlich Nutzer und Einstellungen verwalten müssen, um unbeabsichtigte Änderungen zu vermeiden.
* Weisen Sie Mitglieder sorgfältig zu, um sicherzustellen, dass nur autorisierte Nutzer Formulare und Workflows erstellen, bearbeiten sowie Datensätze einsehen können.
* Verwenden Sie Gäste für reine Lesezugriffe, um unnötige Offenlegung sensibler Lösungsdaten zu vermeiden.

### Dokumentation

Die Dokumentation finden Sie als eigenen Reiter in der Lösungsübersicht. Hier können Sie wichtiges Wissen und Zusammenhänge rund um die Lösung festhalten.

**Wozu dient die Dokumentation?**

* Hintergrundinformationen für neue Teammitglieder
* Erklärungen zu Datenquellen und Methodik
* Anleitungen zur Nutzung der Berichte
* Kontaktinformationen und Verantwortlichkeiten

**Dokumentation bearbeiten:**

1. Öffnen Sie Ihre Lösung
2. Klicken Sie oben auf den Reiter **Dokumentation**
3. Klicken Sie in den Textbereich, um zu bearbeiten
4. Nutzen Sie die Formatierungsoptionen (Überschriften, Listen, Links, etc.)
5. Änderungen werden automatisch gespeichert

{% hint style="info" %}
Nur Lösungs-Administratoren können die Dokumentation bearbeiten.
{% endhint %}


# Datensätze

Speichern, verwalten, erkunden und teilen Sie Daten in der Polyteia-Plattform.

Datensätze sind eine zentrale Ressource in der Polyteia-Plattform und dienen als grundlegendes Modul zur Speicherung von Daten in Tabellenform. Diese Daten können erkundet und in anderen Ressourcen genutzt werden. Nutzer können externe Daten durch manuelle [Datei-Uploads](/datensaetze/daten-hochladen), [Zugriffsschlüssel (PAK)](/konto/zugriffsschlussel-pak) oder [Formulare](/formulare) importieren.

Datensatz-Administratoren verwalten den Datenzugriff durch die Zuweisung von Rollen, wie beispielsweise Bearbeiter. Mit entsprechendem Zugriff können Nutzer Auswertungen und Berichte aus einem oder mehreren Datensätzen generieren.

### Funktionen

* **Daten hochladen und speichern**\
  Laden Sie CSV-, Excel-, JSON- oder Parquet-Dateien hoch, um strukturierte Daten zu speichern
* **Schema-Bearbeitung**\
  Benennen Sie Spalten um und ändern Sie Datentypen unter der Reiter **Details**
* **Spaltenreihenfolge-Einstellungen**\
  Passen Sie an, wie Spalten in der Datensatzansicht angezeigt werden
* **Tags und Dokumentation**\
  Fügen Sie Kontext und Kategorisierung direkt auf der Übersichtsseite hinzu
* **Erkunden und Visualisieren**\
  Öffnen Sie einen Datensatz im Editor, um ihn zu analysieren oder Auswertungen zu erstellen

{% hint style="info" %}
**Datenschutz**: Beim Hochladen von Daten müssen Sie möglicherweise die dokumentierten Verarbeitungstätigkeiten im [Weisungsregister](/sicherheit/weisungsregister) bestätigen, wenn Ihre Lösung Einträge zur Auftragsverarbeitungsvereinbarung (AVV) konfiguriert hat.
{% endhint %}

### Zugriff auf Datensätze

#### Von einer Lösung aus

1. Gehen Sie zu **Startseite** → **Arbeitsbereich aufklappen** → **Lösung**
2. Klicken Sie in der Seitenleiste auf **Datensätze**
3. Im Fenster sehen Sie alle Datensätze dieser Lösung
4. Klicken Sie auf einen Datensatz zum Anzeigen oder Bearbeiten

#### So erstellen Sie einen neuen Datensatz:

1. Öffnen Sie eine Lösung
2. Klicken Sie in der Seitenleiste auf **Datensätze**
3. Im Fenster klicken Sie auf das **+** Symbol

***

### Verwaltung von Datensätzen

Klicken Sie auf das Menü **...** oben rechts auf der Datensatz-Übersichtsseite, um auf diese Aktionen zuzugreifen:

* **Datensatz öffnen** - zeigt die Datenvorschau in der Tabellenansicht
* **Datensatzdetails bearbeiten** - Titel, Quelle oder Beschreibung ändern
* **Daten hochladen** - bestehende Daten ersetzen oder hinzufügen
* **Teilen** - Freigabeoptionen kopieren oder verwalten (falls aktiviert)
* **Datensatz duplizieren** - eine Kopie des Datensatzes erstellen
* **Herunterladen als** - den Datensatz in einem unterstützten Format exportieren
* **Datensatz-ID kopieren** - die eindeutige Kennung in die Zwischenablage kopieren
* **Datensatz löschen** - den Datensatz dauerhaft löschen (nur Eigentümer)

### Rollen und Berechtigungen

Datensätze in der Polyteia-Plattform haben drei Rollen:

* **Eigentümer** haben vollständige Kontrolle, einschließlich der Verwaltung von Einstellungen, Freigabezugriff und Eigentumsübertragung
* **Bearbeiter** können Daten ändern, aber keine Datensatzeinstellungen oder -berechtigungen ändern
* **Betrachter** können nur die Metadaten des Datensatzes sehen, nicht dessen Inhalt

**Alle Mitglieder der Lösung können Datensätze erstellen.** Der **Ersteller eines Datensatzes ist der Standard-Eigentümer**, kann aber bei Bedarf den Zugriff teilen oder das Eigentum übertragen.

**Berechtigungen für Auswertungen werden von Datensatzrollen übernommen**, was bedeutet, dass nur Eigentümer und Bearbeiter von Datensätzen Auswertungen erstellen und ausführen können, während Betrachter nur Datensatz- und Auswertungsmetadaten sehen können.

### Datensatz-Berechtigungen

Berechtigungen in Datensätzen bestimmen, wer Daten **erstellen, ändern, teilen und analysieren** kann. Alle Mitglieder der Lösung können **Datensätze erstellen**, und der Ersteller wird automatisch zum **Standard-Eigentümer** mit der Möglichkeit, bei Bedarf **Eigentum zu teilen oder zu übertragen**. Diese Berechtigungen wirken sich auch direkt auf **Auswertungen** aus, da nur Datensatz-Eigentümer und -Bearbeiter **Auswertungen erstellen und ausführen** können, während Betrachter nur Datensatz- und Auswertungsmetadaten sehen können.

<table><thead><tr><th width="363.12890625">Berechtigung</th><th align="center">Eigentümer</th><th align="center">Bearbeiter</th><th align="center">Bertrachter</th></tr></thead><tbody><tr><td>Datensatz-Metadaten bearbeiten (z. B. Name, Schema)</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Datensatz teilen und Eigentümerschaft übertragen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Datensatz löschen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Datensatz duplizieren</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Daten anzeigen, hinzufügen, ändern und löschen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Abfragen ausführen &#x26; Auswertungen generieren</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Datensatz-Metadaten anzeigen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr></tbody></table>

### Wie Datensatz-Berechtigungen Auswertungen steuern

Auswertungen **erben Berechtigungen** von den Datensätzen, auf denen sie basieren, was bedeutet, dass Datensatz-Eigentümer und -Bearbeiter Auswertungen **erstellen, bearbeiten und ausführen** können, während Datensatz-Betrachter eingeschränkten oder keinen Zugriff haben. Da Datensatz-Berechtigungen bestimmen, wer mit Auswertungen interagieren kann, **müssen Nutzer die entsprechende Datensatzrolle haben**, um Auswertungen zu generieren oder zu ändern.

Allerdings sind Verwaltungsaktionen für Auswertungen — wie Umbenennen oder Löschen — dem Auswertungs-Eigentümer (dem Ersteller der Auswertung) vorbehalten. **Das Eigentum an Auswertungen kann nicht übertragen werden**, aber Nutzer können eine Auswertung duplizieren, um eine neue Version unter ihrer eigenen Kontrolle zu erstellen.

### Bewährte Praktiken

* **Weisen Sie Bearbeiter-Rollen sorgfältig zu**, um unerwünschte Datenänderungen zu verhindern
* **Verwenden Sie Betrachter-Rollen** für Nutzer, die nur die Metadaten und das Schema des Datensatzes kennen müssen
* **Wenn ein anderer Nutzer vollständige Kontrolle benötigt**, machen Sie den Nutzer zu einem zusätzlichen Eigentümer des Datensatzes


# Datensatz erstellen

Erstellen Sie Datensätze in der Polyteia-Plattform, um sie in Ihrer Lösung zu nutzen.

Um einen neuen Datensatz zu erstellen, gehen Sie zu Ihrer Lösung und klicken Sie in der Seitenleiste auf **Datensätze**. Im Fenster klicken Sie auf das **+** Symbol. Nach Eingabe eines Titels und einer Quelle gelangen Sie zur Datensatzübersicht, wo Sie Daten hochladen und Metadaten verwalten können.

### Schritt-für-Schritt-Anleitung

{% stepper %}
{% step %}
**Erstellen eines Datensatzes**

1. Navigieren Sie zu der gewünschten Lösung: **Startseite** → **Arbeitsbereich aufklappen** → **Lösung**
2. Klicken Sie in der Seitenleiste auf **Datensätze**
3. Im kleinen Fenster klicken Sie auf das **+** Symbol
4. Füllen Sie die folgenden Felder aus:

   | Feld         | Erforderlich | Beschreibung                   |
   | ------------ | ------------ | ------------------------------ |
   | Titel        | ✓            | Name des Datensatzes           |
   | Quelle       | ✓            | Woher die Daten stammen        |
   | Beschreibung | ✕            | Optionale Notizen oder Kontext |
5. Klicken Sie auf **Erstellen**. Die Datensatzübersicht wird geöffnet.
   {% endstep %}

{% step %}
**Hochladen von Daten**

Sobald der Datensatz erstellt wurde, zeigt die Übersichtsseite einen Uploadbereich an. Sie können eine Datei im CSV-, Excel-, JSON- oder Parquet-Format hochladen.
{% endstep %}

{% step %}
**Verwalten des Datensatz-Inhalts**

Nach dem Erstellen eines Datensatzes können Sie auf der Übersichtsseite Folgendes tun:

* **Tags hinzufügen**: Klicken Sie auf **+ Tag hinzufügen**, um Ihren Datensatz zu kategorisieren
* **Dokumentation hinzufügen**: Klicken Sie auf das Symbol ✏️ neben **Dokumentation**, um interne Notizen oder Kontext zu schreiben

**Um den Datensatz-Titel, die Quelle oder die Beschreibung zu bearbeiten**:

* Klicken Sie auf das Menü **...** oben rechts
* Wählen Sie **Datensatzdetails bearbeiten**
  {% endstep %}

{% step %}
**Anzeigen und Bearbeiten von Metadaten und Schema**

Wechseln Sie zum Reiter **Details**, um weitere technische Informationen zu sehen:

| Feld                | Beschreibung                             |
| ------------------- | ---------------------------------------- |
| Größe               | Dateigröße des hochgeladenen Datensatzes |
| Warehouse           | Speicherort (z. B. **s3**)               |
| Typ                 | Dateiformat (z. B. **CSV**)              |
| Zuletzt hochgeladen | Datum des letzten Uploads                |

Sie können auch das Schema bearbeiten:

* Spaltennamen ändern
* Datentypen aktualisieren (z. B. von **Text** zu **Zahl**)

{% hint style="info" %}
Dies ist nützlich, um generische Spaltenüberschriften umzubenennen oder Datentypen vor der Analyse zu korrigieren.
{% endhint %}
{% endstep %}
{% endstepper %}

### Nächste Schritte

Sobald Ihr Datensatz fertig ist, können Sie sofort:

* Mit der Erstellung von Auswertungen beginnen – öffnen Sie den Datensatz und klicken Sie auf **Als Auswertung speichern**
* Oder später über **Startseite** → **Arbeitsbereich aufklappen** → **Lösung** → **Seitenleiste: Datensätze** zurückkehren


# Datenvorschau

Verschaffen Sie sich einen Überblick über die Daten in Spalten und Zeilen in der Polyteia Plattform.

Wenn Sie einen Datensatz öffnen, landen Sie direkt in der Datenvorschau. Dort können Sie die Rohdaten einsehen, mit Spalten interagieren und direkt Auswertungen erstellen. Stellen Sie sich das vor wie das Öffnen einer Tabellenkalkulation, in der Sie Ihre Daten erkunden und verstehen können.

## Datensatz öffnen

1. Öffnen Sie eine Lösung
2. Klicken Sie in der Seitenleiste auf **Datensätze**
3. Wählen Sie einen Datensatz aus

Sie landen direkt in der Vorschau mit Ihren Daten.

{% hint style="info" %}
Sie benötigen mindestens **Bearbeiter**-Rechte auf den Datensatz, um die volle Vorschau zu sehen und Auswertungen zu erstellen.
{% endhint %}

## Funktionen der Vorschau

### Steuerung über die Kopfzeile

* Spaltennamen anklicken und direkt umbenennen
* Spalten hinzufügen/entfernen
* Spalten neu ordnen

### Anzeige von Daten

* Datumsformatierung
* Zahlenformatierung
* Null-Wert-Behandlung
* Längere Inhalte einfacher zugänglich
* Datentyp-Indikatoren

## Auswertung erstellen

Direkt aus der Vorschau können Sie eine Auswertung erstellen:

1. Filtern und konfigurieren Sie Ihre Daten nach Bedarf
2. Wählen Sie relevante Spalten für die Analyse
3. Klicken Sie auf **Als Auswertung speichern**

Ihre Filter und Einstellungen werden in die Auswertung übernommen.

{% hint style="info" %}
**Tipp**: Nutzen Sie die Vorschau, um Ihre Datenstruktur und -qualität zu verstehen, bevor Sie eine Auswertung speichern. Die Filterung und Sortierung hilft dabei, Muster und potenzielle Probleme zu identifizieren.
{% endhint %}

## Zwischen Datensätzen wechseln

Wenn Sie einen Datensatz geöffnet haben, können Sie über die Seitenleiste schnell zu anderen Datensätzen wechseln:

1. Fahren Sie mit der Maus über **Datensätze** in der Seitenleiste
2. Im Fenster sehen Sie alle Datensätze der Lösung
3. Klicken Sie auf einen anderen Datensatz, um direkt dorthin zu wechseln

{% hint style="info" %}
So können Sie schnell zwischen mehreren Datensätzen navigieren, ohne jedes Mal zur Übersicht zurückkehren zu müssen.
{% endhint %}


# Daten hochladen

Laden Sie CSV-, Excel-, JSON- oder Parquet-Dateien in Ihren Datensatz in der Polyteia-Plattform hoch.

Um Daten manuell hochzuladen, gehen Sie zur Datensatzübersicht und ziehen Sie eine Datei hinein oder klicken Sie auf den Uploadbereich. Unterstützte Formate sind CSV, Excel, JSON und Parquet. Nach dem Hochladen wird die Datei gespeichert und analysiert, und das Schema wird automatisch generiert. Wenn Ihrer Organisation nur noch wenig Speicherplatz zur Verfügung steht, informieren Warnmeldungen im Uploadbereich über das verbleibende Volumen.

### Manuelles Hochladen einer Datei

1. Navigieren Sie zu Ihrem Datensatz: **Startseite** → **Arbeitsbereich aufklappen** → **Lösung** → **Seitenleiste: Datensätze**
2. [Erstellen Sie einen neuen Datensatz](/datensaetze/datensatz-erstellen) oder laden Sie in einen bestehenden Datensatz hoch
3. Suchen Sie im Reiter **Übersicht** den Uploadbereich oder klicken Sie bei einem bestehenden Datensatz auf das Menü **...** und wählen Sie **Daten hochladen**
4. Laden Sie Ihre Daten hoch, indem Sie entweder:
   * Eine Datei in das Upload-Feld ziehen
   * Oder auf **Daten hochladen** klicken und eine Datei von Ihrem Computer auswählen

{% hint style="info" %}
Das Hochladen von Daten in einen bestehenden Datensatz überschreibt die vorhandenen Daten. Wenn Sie die Daten noch benötigen, erstellen Sie einen neuen Datensatz für Ihre neuen Daten.
{% endhint %}

### Maximale Dateigröße und Speicherlimits

Die maximale Dateigröße pro hochgeladener Datei liegt bei **100 MB**. Darüber hinaus gelten die Speicherlimits Ihrer Organisation:

* **Warnung**: Ist nur noch wenig Speicher frei, zeigt der Uploadbereich einen gelben Hinweis mit dem verbleibenden Volumen.
* **Limit erreicht**: Neue Dateien können nicht mehr hochgeladen werden. Bestehende Datensätze lassen sich nur überschreiben, wenn die Datei kleiner oder gleich dem verbleibenden Restvolumen ist.
* **Kontakt aufnehmen**: Wenden Sie sich an Ihre Organisationsadministrator:innen oder den [Support](/hilfe-und-support), wenn zusätzlicher Speicher benötigt wird.

### Unterstützte Dateiformate

| Format  | Dateierweiterungen | Hinweise                                     |
| ------- | ------------------ | -------------------------------------------- |
| CSV     | `.csv`             | Standard-kommagetrennte Daten                |
| Excel   | `.xls`, `.xlsx`    | Nur das erste Tabellenblatt wird verarbeitet |
| JSON    | `.json`            | Muss korrekt strukturiert sein               |
| Parquet | `.parquet`         | Optimiert für große Datensätze               |

### Nach dem Hochladen

* Die Datei wird in Ihrem verbundenen Warehouse (z. B. **s3**) gespeichert
* Sie sehen eine Erfolgsmeldung, wenn die Analyse abgeschlossen ist
* Die Datentabelle erscheint direkt im Editor
* Das Schema (Spalten, Datentypen) wird automatisch erkannt
* Bei knappen Speicherressourcen erhalten Sie nach dem Upload eine Erinnerung, wie viel Speicher noch frei ist

{% hint style="info" %}
Sie können das Schema später unter dem Reiter **Details** anpassen.
{% endhint %}

### Nachträge zur AVV beim Hochladen

Wenn Ihre Lösung Nachträge zur Auftragsverarbeitungsvereinbarung (AVV) dokumentiert hat, erscheint beim Hochladen von Daten automatisch eine Übersicht. Sie müssen dann bestätigen, dass Ihre Datenverarbeitung innerhalb der dokumentierten Verarbeitungstätigkeiten liegt.

{% hint style="info" %}
**Warum?** Dies stellt sicher, dass Sie bei jeder Datenverarbeitung die DSGVO-konformen Verarbeitungstätigkeiten gemäß Art. 28 DSGVO bestätigen. Mehr dazu unter [Weisungsregister](/sicherheit/weisungsregister).
{% endhint %}

### Tipps für saubere Uploads

* Stellen Sie sicher, dass die erste Zeile Überschriften enthält
* Verwenden Sie konsistente Datentypen in jeder Spalte
* Vermeiden Sie leere Zeilen oder zusammengeführte Zellen in Excel-Dateien
* Für JSON: Verwenden Sie ein Array von Objekten (z. B. `[{"key": "value"}, ...]`)

### Wie geht es weiter?

Sobald der Upload abgeschlossen ist:

* Sie können sofort Auswertungen erstellen – öffnen Sie den Datensatz und klicken Sie auf **Als Auswertung speichern**
* Oder prüfen Sie Spaltenmetadaten unter dem Reiter **Details**
* Verfolgen Sie parallel auf der Seite [Nutzung und Kontingente](/organisationen/nutzung-und-kontingente), wie sich der Speicherverbrauch Ihrer Organisation entwickelt


# Daten exportieren

Exportieren Sie Daten als CSV-, Excel-, JSON- oder Parquet-Dateien aus der Polyteia-Plattform.

Sie können einen Datensatz jederzeit aus dem Menü **...** exportieren. Die Daten können im CSV-, Excel-, Parquet- oder JSON-Format heruntergeladen werden.

### Wie ein Datensatz exportiert wird

1. Öffnen Sie Ihren Datensatz über: **Startseite** → **Arbeitsbereich aufklappen** → **Lösung** → **Seitenleiste: Datensätze** → **\[Ihr Datensatz]**
2. Klicken Sie auf das Menü **...** in der oberen rechten Ecke
3. Fahren Sie mit der Maus über **Herunterladen als** und wählen Sie dann ein Format:
   * **CSV**
   * **Excel**
   * **Parquet**
   * **JSON**
4. Der Download startet automatisch

### Exportformate

| Format  | Anwendungsfall                               |
| ------- | -------------------------------------------- |
| CSV     | Am besten für Tabellen oder Rohdaten         |
| Excel   | Enthält Formatierung, verwendet in Berichten |
| Parquet | Optimiert für Leistung und Komprimierung     |
| JSON    | Nützlich für APIs oder strukturierte Daten   |


# Daten löschen

Löschen Sie Daten aus einem Datensatz manuell oder automatisch nach Zeitplan.

Manchmal müssen Sie alle Daten aus einem Datensatz entfernen, ohne den Datensatz selbst zu löschen. Das ist wie ein Notizbuch, das Sie leeren möchten, um es neu zu verwenden.

## Was passiert beim Löschen?

Wenn Sie die Daten eines Datensatzes löschen:

* Alle gespeicherten Daten werden entfernt
* Das Schema (die Spaltenstruktur) wird zurückgesetzt
* Der Datensatz bleibt erhalten und kann neue Daten aufnehmen
* Verknüpfte Auswertungen zeigen keine Daten mehr an

{% hint style="warning" %}
**Achtung:** Das Löschen der Daten kann nicht rückgängig gemacht werden. Erstellen Sie vorher eine Sicherungskopie, falls Sie die Daten noch brauchen.
{% endhint %}

## Wann ist das nützlich?

* **Testdaten entfernen**: Sie haben Testdaten hochgeladen und möchten jetzt echte Daten verwenden
* **Regelmäßige Bereinigung**: Formulardaten, die nach Verarbeitung nicht mehr benötigt werden
* **Datenschutz**: Personenbezogene Daten müssen nach einer bestimmten Zeit gelöscht werden
* **Neustart**: Sie möchten mit frischen Daten beginnen

## Daten manuell löschen

{% stepper %}
{% step %}
**Datensatz öffnen**

Gehen Sie zu **Startseite** → **Arbeitsbereich aufklappen** → **Lösung** → **Seitenleiste: Datensätze** → **\[Ihr Datensatz]**
{% endstep %}

{% step %}
**Einstellungen öffnen**

Klicken Sie auf die Reiter **Einstellungen** in der Datensatzansicht.

{% hint style="info" %}
Der Reiter Einstellungen ist nur für Datensatz-Eigentümer sichtbar.
{% endhint %}
{% endstep %}

{% step %}
**Daten löschen wählen**

Im Bereich **Datenlöschung** klicken Sie auf **Daten löschen**.
{% endstep %}

{% step %}
**Löschen bestätigen**

Es erscheint eine Sicherheitsabfrage. Bestätigen Sie, dass Sie die Daten wirklich löschen möchten.
{% endstep %}
{% endstepper %}

## Automatische Löschung einrichten

Sie können einen Zeitplan festlegen, nach dem die Daten automatisch gelöscht werden. Das ist praktisch für Datensätze mit Formulardaten, die regelmäßig bereinigt werden sollen.

### Löschplan festlegen

{% stepper %}
{% step %}
**Einstellungen öffnen**

Gehen Sie zum Datensatz und klicken Sie auf die Reiter **Einstellungen**.
{% endstep %}

{% step %}
**Löschplan festlegen wählen**

Im Bereich **Datenlöschung** klicken Sie auf **Löschplan festlegen**.
{% endstep %}

{% step %}
**Frequenz wählen**

Wählen Sie, wie oft die Daten automatisch gelöscht werden sollen:

| Frequenz        | Bedeutung                                  |
| --------------- | ------------------------------------------ |
| **Täglich**     | Jeden Tag werden die Daten gelöscht        |
| **Wöchentlich** | Einmal pro Woche werden die Daten gelöscht |
| **Monatlich**   | Einmal pro Monat werden die Daten gelöscht |
| {% endstep %}   |                                            |

{% step %}
**Speichern**

Klicken Sie auf **Speichern**. Der Zeitplan ist jetzt aktiv.
{% endstep %}
{% endstepper %}

### Nächste geplante Löschung anzeigen

Nach dem Einrichten eines Löschplans sehen Sie in den Einstellungen, wann die nächste automatische Löschung stattfindet.

### Löschplan entfernen

Wenn Sie die automatische Löschung nicht mehr benötigen:

1. Gehen Sie zu **Einstellungen** → **Datenlöschung**
2. Klicken Sie auf **Löschplan entfernen**
3. Bestätigen Sie die Änderung

Die automatische Löschung ist dann deaktiviert. Ihre Daten bleiben erhalten.

## Löschung bei neuen Datensätzen

Beim Erstellen eines neuen Datensatzes können Sie unter **Erweiterte Einstellungen** direkt einen Löschplan festlegen. So vergessen Sie nicht, die automatische Bereinigung einzurichten.

## Berechtigungen

Nur **Eigentümer** eines Datensatzes können:

* Daten manuell löschen
* Einen Löschplan festlegen oder entfernen
* Den Reiter Einstellungen sehen

{% hint style="info" %}
Bearbeiter und Betrachter haben keinen Zugriff auf die Löschfunktionen.
{% endhint %}


# Datensatz verwalten

Verwalten Sie Ihren Datensatz in der Polyteia-Plattform.

Die Verwaltung von Datensätzen bedeutet mehr als nur das Hochladen von Dateien. Sie können Metadaten bearbeiten, das Schema anpassen, Datensätze duplizieren, den Zugriff kontrollieren und Daten in verschiedenen Formaten exportieren. Alles beginnt mit dem Menü **...** auf der Datensatz-Übersichtsseite.

### Datensatzdetails bearbeiten

Um Titel, Quelle, Beschreibung oder Systemnamen zu aktualisieren:

1. Gehen Sie zum Datensatz: **Startseite** → **Arbeitsbereich aufklappen** → **Lösung** → **Seitenleiste: Datensätze** → **\[Ihr Datensatz]**
2. Klicken Sie auf das Menü **...** neben dem Datensatz-Namen
3. Wählen Sie **Datensatzdetails bearbeiten**
4. Nehmen Sie Ihre Änderungen vor und klicken Sie auf **Speichern**

#### Systemname

Jeder Datensatz hat einen **Systemnamen** — eine kurze Kennung aus Kleinbuchstaben, Zahlen und Unterstrichen. Der Systemname muss innerhalb einer Lösung eindeutig sein.

Der Systemname wird für [Auswertungsvorlagen](/auswertungen/auswertungsvorlagen) verwendet. Wenn Sie Vorlagen zwischen Organisationen teilen, sollten ähnliche Datensätze den gleichen Systemnamen haben. So werden die Datensätze beim Anwenden einer Vorlage automatisch zugeordnet.

### Daten hochladen oder ersetzen

1. Öffnen Sie die Datensatzübersicht
2. Verwenden Sie den Uploadbereich, um:
   * Eine Datei per Drag-and-Drop einzufügen
   * Oder klicken Sie im Menü **...** auf **Daten hochladen**
3. Unterstützte Formate:
   * CSV
   * Excel
   * JSON
   * Parquet

Sie können Daten hochladen in:

* Einen neu erstellten leeren Datensatz
* Oder in einen bestehenden Datensatz mit älteren Daten (überschrieben oder angehängt)

### Einen Datensatz duplizieren

Benötigen Sie eine schnelle Kopie, um etwas auszuprobieren? Duplizieren Sie einfach:

1. Klicken Sie auf das Menü **...**
2. Wählen Sie **Datensatz duplizieren**

Sie können dann:

* Eine bestehende Lösung auswählen, um die Kopie zu platzieren
* Oder direkt einen neuen Datensatz erstellen

Nach der Duplizierung:

* Gelangen Sie zur Übersicht des neuen Datensatzes
* Sie können bei Bedarf neue Daten hochladen

### Einen Datensatz teilen

Sie können anderen Zugriff auf den Datensatz gewähren — entweder für die gesamte Lösung oder für einzelne Personen und Gruppen:

1. Klicken Sie auf das Menü **...**
2. Wählen Sie **Teilen**
3. Im Bereich **Zugriff anderer Personen in dieser Lösung** legen Sie fest, ob alle Mitglieder der Lösung den Datensatz sehen dürfen:
   * **Kein Zugriff** — Nur explizit eingeladene Personen
   * **Lesezugriff** — Alle Mitglieder der Lösung können den Datensatz ansehen
   * **Vollzugriff** — Alle Mitglieder der Lösung können den Datensatz bearbeiten
4. Im Bereich **Individueller Zugriff** fügen Sie bei Bedarf einzelne Personen oder Gruppen hinzu und wählen pro Eintrag eine Rolle:
   * **Betrachter** — kann nur lesen
   * **Bearbeiter** — kann hochladen/bearbeiten
   * **Eigentümer** — vollständige Kontrolle, einschließlich Teilen und Löschen
5. Klicken Sie auf **Speichern**

### Übersicht der Rollenberechtigungen

| Rolle      | Metadaten und Übersicht anzeigen | Daten sehen, duplizieren und abfragen | Datensatz teilen | Datensatz löschen oder ersetzen |
| ---------- | -------------------------------- | ------------------------------------- | ---------------- | ------------------------------- |
| Betrachter | ✓                                | ✕                                     | ✕                | ✕                               |
| Bearbeiter | ✓                                | ✓                                     | ✕                | ✕                               |
| Eigentümer | ✓                                | ✓                                     | ✓                | ✓                               |

{% hint style="info" %}
Nur Nutzer in Ihrer Organisation können zu Datensätzen hinzugefügt werden. Siehe auch [Connect](/organisationen/polyteia-connect).
{% endhint %}

### Dokumentation

Um eine ausführlichere Beschreibung und Kontext zum Datensatz zu geben, können Sie als Eigentümer eine Dokumentation aufsetzen. Wie das funktioniert, lesen Sie [hier](https://github.com/polyteia-de/docs/blob/german/gitbook/datensaetze/dokumentation.md).


# Daten hochladen via API


# Datentabellen


# Views


# Auswertungen

Filtern, aggregieren und visualisieren Sie Ihre Daten in der Polyteia-Plattform.

Auswertungen sind eine Funktion, die es Benutzern ermöglicht, detaillierte Analysen von Daten innerhalb eines Datensatzes durchzuführen. Sie ermöglicht es Nutzern, große Datenmengen zu verarbeiten, indem sie relevante Spalten auswählen, Daten filtern und aggregieren und sogar zwei oder mehrere Datensätze miteinander zu verknüpfen. Die erstellten Auswertungen können gespeichert und exportiert werden.

### Funktionen

* **Spaltenauswahl und -umbenennung:** Bestimmen Sie, welche Daten in die Auswertung einbezogen werden sollen.
* **Filtern:** Grenzen Sie Datensätze basierend auf spezifischen Kriterien ein.
* **Aggregation:** Führen Sie verschiedene Berechnungen durch und aggregieren Sie Ihre Daten.
* **Sortierung und Zeilenbegrenzung:** Organisieren Sie Daten und legen Sie die Anzahl der anzuzeigenden Zeilen fest.
* **Verknüpfungen:** Führen Sie zwei oder mehrere Datensätze in einer Auswertung zusammen.
* **Speichern:** Speichern Sie Ihre Auswertungen.
* **Export:** Exportieren Sie Auswertungsergebnisse zur weiteren Verwendung außerhalb der Polyteia-Plattform.
* [**Vorlagen**](/auswertungen/auswertungsvorlagen)**:** Erstellen Sie Vorlagen aus Ihren Auswertungen, damit andere Nutzer sie auf eigene Daten anwenden können.

### Zugriff auf Auswertungen.

Sie können auf verschiedene Weise auf Auswertungen zugreifen und diese erstellen, abhängig davon, was Sie tun möchten.

{% tabs %}
{% tab title="Neue Auswertung erstellen" %}
Es gibt zwei Möglichkeiten, eine neue Auswertung zu erstellen:

1. **Aus einem Datensatz (empfohlen)**

   * Öffnen Sie eine Lösung und klicken Sie in der Seitenleiste auf **Datensätze**
   * Öffnen Sie einen Datensatz – Sie landen direkt in der Vorschau
   * Hier können Sie Ihre Daten filtern, aggregieren und visualisieren
   * Wenn Sie fertig sind, klicken Sie auf **Als Auswertung speichern**

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Sie benötigen mindestens <strong>Bearbeiter</strong>-Rechte auf den Datensatz, um eine Auswertung daraus zu erstellen.</p></div>
2. **Aus der Seitenleiste**
   * Öffnen Sie eine Lösung und klicken Sie in der Seitenleiste auf **Auswertungen**
   * Im Fenster klicken Sie auf das **+** Symbol
   * Wählen Sie im Auswertungs-Editor den Datensatz aus, den Sie verwenden möchten
     {% endtab %}

{% tab title="Auf bestehende Auswertungen zugreifen" %}
Sie können bestehende Auswertungen über die Seitenleiste durchsuchen und öffnen:

1. Öffnen Sie eine Lösung
2. Klicken Sie in der Seitenleiste auf **Auswertungen**
3. Im Fenster sehen Sie alle Auswertungen dieser Lösung
4. Nutzen Sie die Suche, um schnell eine bestimmte Auswertung zu finden
5. Klicken Sie auf eine Auswertung, um sie zu öffnen
   {% endtab %}
   {% endtabs %}

{% hint style="info" %}

* Sie können jede Auswertung **öffnen und bearbeiten**, wenn Sie **Bearbeiter**- oder **Eigentümer**-Berechtigungen für den/die zugrundeliegenden Datensatz/Datensätze haben
* Sie können **Änderungen an einer Auswertung nur speichern**, wenn Sie der **Auswertungs-Eigentümer** (die Person, die sie erstellt hat) sind
* Wenn Sie nicht der Eigentümer sind, sehen Sie stattdessen die Schaltfläche **Als neue Auswertung speichern**
* Sie können jede bestehende Auswertung **duplizieren**, um Ihre eigene Version zu erstellen, auch wenn Sie nicht Eigentümer des Originals sind
  {% endhint %}

## Rollen und Berechtigungen

Auswertungen haben nur eine explizite Rolle:

* **Auswertungs-Eigentümer:** Der Ersteller einer Auswertung wird automatisch zum Auswertungs-Eigentümer, mit exklusiven Rechten, **die Auswertung zu bearbeiten, umzubenennen und zu löschen**

**Berechtigungen zum Erstellen und Ausführen** von Auswertungen werden **vom Datensatz/von den Datensätzen übernommen**, was bedeutet, dass nur Datensatz-Eigentümer und -Bearbeiter diese Aktionen durchführen können. Datensatz-Betrachter können nur Metadaten des Datensatzes und der Auswertungen sehen, können aber keine Auswertungen ausführen oder ändern.

**Die Eigentümerschaft kann nicht übertragen werden**, aber Benutzer können eine Auswertung duplizieren, um eine neue Version unter ihrer Kontrolle zu erstellen

### Explizite Berechtigungen

Der Auswertungs-Eigentümer hat **eingeschränkte Verwaltungsberechtigungen** für die Auswertung, insbesondere für das Umbenennen und Löschen. Für alle anderen Aktionen – wie das Erstellen und Ausführen der Auswertung – **muss der Eigentümer jedoch auch die notwendigen Berechtigungen** für den/die zugrundeliegenden Datensatz/Datensätze haben.

Der Ersteller der Auswertung **wird automatisch zum Auswertungs-Eigentümer**, und die Eigentümerschaft kann nicht übertragen werden. Wenn ein anderer Benutzer die Kontrolle über die Auswertung benötigt, kann er sie duplizieren, um eine neue Version unter seiner Eigentümerschaft zu erstellen.

<table><thead><tr><th width="440.29296875">Berechtigung</th><th align="center">Auswertungs-Eigentümer</th></tr></thead><tbody><tr><td>Kann Titel und Beschreibung einer Auswertung bearbeiten</td><td align="center">✓</td></tr><tr><td>Kann eine Auswertung löschen</td><td align="center">✓</td></tr></tbody></table>

### Vererbte Berechtigungen vom Datensatz/von den Datensätzen

Berechtigungen für Auswertungen werden **vom Datensatz/von den Datensätzen übernommen**, auf denen sie basieren. Das bedeutet, dass Datensatz-Eigentümer und -Bearbeiter Auswertungen erstellen, bearbeiten und ausführen können, während Datensatz-Betrachter eingeschränkten oder keinen Zugriff haben.

Bestimmte Verwaltungsaktionen – wie das Ändern der Einstellungen einer Auswertung – **stehen jedoch nur dem Auswertungs-Eigentümer** (dem Ersteller der Auswertung) zur Verfügung. **Die Eigentümerschaft kann nicht übertragen werden**, aber das Duplizieren einer Auswertung ermöglicht es anderen Benutzern, ihre eigenen Versionen mit voller Kontrolle zu erstellen.

<table><thead><tr><th width="315.78515625">Berechtigung</th><th align="center">Datensatz-Eigentümer</th><th align="center">Datensatz-Bearbeiter</th><th align="center">Datensatz-Betrachter</th></tr></thead><tbody><tr><td>Kann eine Auswertung basierend auf Datensatz/Datensätzen erstellen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Kann Einstellungen einer Auswertung wie Filter, Aggregation, Visualisierung oder Karten bearbeiten<br><mark style="background-color:yellow;">⚠ <strong>Hinweis:</strong></mark> <mark style="background-color:yellow;">Auswertungs-Eigentümer-Rolle erforderlich</mark></td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Kann die Ergebnisse und Visualisierung einer Auswertung sehen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Kann eine Auswertung duplizieren</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Kann Titel, Beschreibung und Einstellungen einer Auswertung (z. B. Filter, Aggregation usw.) einsehen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr></tbody></table>

***

## Beispiele

{% stepper %}
{% step %}
**Erstellen der Auswertung**

* Lisa hat **Bearbeiter-Berechtigungen für den Datensatz**, daher darf sie eine darauf basierende Auswertung erstellen
* Sie richtet Filter ein, aggregiert die Daten und generiert eine Visualisierung

{% hint style="success" %} <mark style="color:green;">**Erfolg:**</mark> <mark style="color:green;">Datensatz-Bearbeiter und -Eigentümer</mark> <mark style="color:green;">**erben**</mark> <mark style="color:green;">die Berechtigung zum Erstellen von Auswertungen</mark>
{% endhint %}
{% endstep %}

{% step %}
**Anzeigen der Ergebnisse**

* Lisa teilt den Link zur Auswertung mit ihrem Kollegen Mark, einem **Datensatz-Betrachter**
* Mark kann die Ergebnisse der Auswertung nicht sehen, weil **er nur Zugriff auf die Metadaten des Datensatzes hat, nicht auf die eigentlichen Daten**

{% hint style="danger" %} <mark style="color:red;">**Fehler:**</mark> <mark style="color:red;">Mark benötigt</mark> <mark style="color:red;">**mindestens Bearbeiter-Zugriff**</mark> <mark style="color:red;">auf den Datensatz, um die Auswertungsergebnisse anzuzeigen</mark>
{% endhint %}

{% hint style="success" %} <mark style="color:green;">**Lösung**</mark><mark style="color:green;">: Ein Datensatz-Administrator muss</mark> <mark style="color:green;">**Marks Datensatz-Berechtigungen auf Bearbeiter erhöhen**</mark> <mark style="color:green;">oder Lisa muss</mark> <mark style="color:green;">**die Ergebnisse exportieren**</mark> <mark style="color:green;">und separat teilen</mark>
{% endhint %}
{% endstep %}

{% step %}
**Bearbeiten der Auswertung**

* Lisa macht einen Fehler in ihrer Aggregation und bittet ihre Teamkollegin Emma, ihn zu beheben
* **Emma kann die Auswertung jedoch nicht bearbeiten**, obwohl sie ebenfalls Datensatz-Bearbeiterin ist

{% hint style="danger" %} <mark style="color:red;">**Fehler**</mark><mark style="color:red;">: Lisa ist die Auswertungs-Eigentümerin, was bedeutet,</mark> <mark style="color:red;">**nur sie**</mark> <mark style="color:red;">kann die Auswertung bearbeiten, umbenennen oder löschen</mark>
{% endhint %}

{% hint style="success" %} <mark style="color:green;">**Lösung**</mark><mark style="color:green;">: Lisa kann entweder selbst die Änderungen vornehmen oder Emma bitten, die Auswertung zu duplizieren und sie an der kopierten Version arbeiten lassen</mark>
{% endhint %}
{% endstep %}

{% step %}
**Teilen der Auswertung für weitere Analysen**

* Lisas Team möchte auf der Auswertung aufbauen, aber **Auswertungen können nicht als direkte Datenquelle** für andere Auswertungen verwendet werden

{% hint style="danger" %} <mark style="color:red;">**Fehler**</mark><mark style="color:red;">: Auswertungen sind</mark> <mark style="color:red;">**nicht teilbar**</mark> <mark style="color:red;">für weitere Analysen</mark>
{% endhint %}

{% hint style="success" %} <mark style="color:green;">**Lösung**</mark><mark style="color:green;">: Lisa muss</mark> <mark style="color:green;">**die Ergebnisse**</mark> <mark style="color:green;">in einem Datensatz speichern, damit andere sie für zusätzliche Auswertungen verwenden können</mark>
{% endhint %}
{% endstep %}
{% endstepper %}

## Bewährte Vorgehensweisen

* **Die Eigentümerschaft an Auswertungen kann nicht übertragen werden**, wenn also jemand anderes die Kontrolle benötigt, muss er die Auswertung duplizieren. Verwenden Sie klare Namenskonventionen, um Eigentümerschaft und Zweck anzuzeigen
* Um **Auswertungsergebnisse zu sehen**, müssen Sie **Datensatz-Eigentümer oder -Bearbeiter sein** — Betrachter können nicht auf Ergebnisse oder Visualisierungen zugreifen
* **Auswertungen werden nicht automatisch gespeichert**—stellen Sie sicher, regelmäßig zu speichern, um Änderungen oder Analysefortschritte nicht zu verlieren


# Auswertung erstellen

Erstellen Sie Auswertungen in der Polyteia-Plattform.

### Schritt-für-Schritt-Anleitung

{% stepper %}
{% step %}
**Öffnen Sie den Auswertungs-Editor**

{% tabs %}
{% tab title="Aus einem Datensatz" %}

1. Navigieren Sie zum gewünschten Datensatz über die Lösung (Seitenleiste → Datensätze)
2. Öffnen Sie den Datensatz – Sie landen direkt in der Vorschau
3. Klicken Sie auf **Als Auswertung speichern**, um den Auswertungs-Editor zu starten
4. Geben Sie einen passenden Namen und eine Beschreibung für die Auswertung ein
5. Der Auswertungs-Editor wird von der rechten Seite geöffnet
6. Der Datensatz, von dem Sie kommen, ist für Ihre Auswertung bereits standardmäßig ausgewählt. Sie können ihn hier auch ändern
   {% endtab %}

{% tab title="Aus einer Lösung" %}

1. Navigieren Sie zu einer Lösung
2. Klicken Sie in der Seitenleiste auf **Auswertungen**
3. Im neuen kleinen Fenster klicken Sie auf das **+** Symbol
4. Geben Sie einen passenden Namen und eine Beschreibung für die Auswertung ein
5. Der Auswertungs-Editor wird geöffnet
6. Wählen Sie den Datensatz aus, den Sie als Grundlage für die Auswertung verwenden möchten
   {% endtab %}
   {% endtabs %}

{% hint style="info" %}
Sie können nur Datensätze verwenden, für die Sie entweder Bearbeiter- oder Eigentümer-Berechtigungen haben.
{% endhint %}
{% endstep %}

{% step %}
**Einen weiteren Datensatz verknüpfen (optional)**

1. Nachdem Sie Ihren Hauptdatensatz ausgewählt haben, klicken Sie auf die Schaltfläche **+ Datensatz verknüpfen** unter dem ausgewählten Datensatz
2. Wählen Sie den zweiten Datensatz aus, den Sie mit dem Hauptdatensatz kombinieren möchten
3. Die Polyteia-Plattform wird versuchen, sie automatisch über übereinstimmende Spaltennamen zu verbinden (eine natürliche Verknüpfung)
4. Wenn die Verknüpfungsschlüssel-Spalten unterschiedliche Namen haben, klicken Sie auf **Bedingung hinzufügen**, um das Spaltenpaar manuell zu definieren
5. Verwenden Sie das Dropdown-Menü, um Ihren Verknüpfungstyp auszuwählen:
   * **Innere Verknüpfung**, **Linke Verknüpfung**, **Rechte Verknüpfung** oder **Volle Verknüpfung**
6. Nach dem Verknüpfen können Sie Spalten aus beiden Datensätzen für die Auswertung auswählen

{% hint style="info" %}
Benennen Sie die Verknüpfungsschlüssel in Ihren Datensätzen so um, dass sie übereinstimmen, damit automatische Verknüpfungen nahtlos funktionieren
{% endhint %}
{% endstep %}

{% step %}
**Relevante Spalten auswählen**

{% tabs %}
{% tab title="Über die Kopfzeile in der Tabelle" %}

1. Sobald der Datensatz (oder die verknüpften Datensätze) ausgewählt sind, wird die Rohdatentabelle (verknüpfte Daten) im mittleren Bereich angezeigt, mit allen Spalten
2. Klicken Sie auf die Kopfzeile der Spalte, um Spalten zur Auswertung hinzuzufügen oder zu entfernen
3. Sie haben hier auch die Möglichkeit, die Spalte für diese Auswertung umzubenennen. Um die Spalte umzubenennen, klicken Sie einfach auf den Spaltennamen, geben den neuen Namen ein und clicken Sie auf das Häkchen
4. Außerdem können Sie hier auch die Spaltenreihenfolge ändern
   {% endtab %}

{% tab title="Über die Navigation rechts" %}

1. Sobald der Datensatz (oder die verknüpften Datensätze) ausgewählt sind, wird die Rohdatentabelle (verknüpfte Daten) im mittleren Bereich angezeigt, mit allen Spalten
2. Klicken Sie auf **+ Spalte hinzufügen**, um Spalten zur Auswertung hinzuzufügen. Die Tabelle in der Mitte wird aktualisiert, um nur Ihre Auswahl anzuzeigen
3. Sie haben hier auch die Möglichkeit, die Spalte für diese Auswertung umzubenennen. Um die Spalte umzubenennen, wählen Sie einfach das Textfeld neben dem Spaltennamen und geben Sie den neuen Namen ein. Dies aktualisiert automatisch die Datenvorschautabelle in der Mitte
   {% endtab %}
   {% endtabs %}
   {% endstep %}

{% step %}
**Spalten aggregieren und gruppieren**

1. Um eine Spalte zu aggregieren, wählen Sie rechts das Menü **· · ·** neben dem Spaltennamen
2. Je nach Datentyp der Spalte können Sie nun eine Aggregationsfunktion auswählen. Für eine detaillierte Erläuterung gehen Sie zum Abschnitt [Aggregation](/auswertungen/aggregation)
3. Gruppierungen ermöglichen es, Daten nach bestimmten Kategorien zusammenzufassen. Der Auswertungs-Editor gruppiert automatisch nach anderen Spalten, die nicht zusammengefasst wurden
4. Jede Gruppe wird dann mit den zugehörigen aggregierten Werten in der Datentabelle im mittleren Bereich des Editors angezeigt

**Erweiterte interaktive Spaltenfunktionen**

Die Datentabelle im mittleren Bereich bietet leistungsstarke Tools zur direkten Erkundung Ihrer Daten mit erweiterten Funktionen:

**Erweiterte Sortieroptionen:**

1. Klicken Sie auf die drei Punkte (**⋮**) in einer beliebigen Spalte.
2. Wählen Sie **"Aufsteigend sortieren"**, **"Absteigend sortieren"** oder **"Keine Sortierung"**

**Umfassende Filterung:**

1. Klicken Sie auf die drei Punkte (**⋮**) in einer beliebigen Spalte.
2. Wählen Sie **"Filter hinzufügen"**, um auf erweiterte Filteroptionen zuzugreifen
3. **Mehrere Filter pro Spalte** - fügen Sie so viele hinzu, wie Sie benötigen
4. **Filter-Chips** erscheinen in Headern und zeigen aktive Filter
5. **Batch-Filter-Management** - fügen Sie Filter einfach hinzu, entfernen oder ändern Sie sie

**Erweiterte Filtertypen nach Daten:**

* **Textspalten**: gleich, ungleich, enthält, beginnt mit, endet mit, ist null, ist nicht null
* **Zahlenspalten**: gleich, ungleich, größer als, kleiner als, größer als oder gleich, kleiner als oder gleich, zwischen Bereichen
* **Datumsspalten**: gleich, vor, nach, zwischen Datumsbereichen, im Quartal, im Jahr

**Verbesserte Dateninteraktion:**

* **Beliebigen Zellwert kopieren** durch Anklicken
* **Typbewusste Zellenanzeige** mit ordnungsgemäßer Formatierung für Daten, Zahlen und Text
* **Null-Wert-Indikatoren** zeigen leere oder fehlende Daten klar an
* **Popover-Details** für lange Inhalte, die nicht in Zellen passen
* **Zeilenlimit-Steuerelemente** - zeigen bis zu 15.000 Zeilen an (Standard 100) mit Leistungsoptimierung

**Leistungsmerkmale:**

* **Virtualisierung** bewältigt große Datensätze reibungslos
* **Sticky Headers** bleiben beim Scrollen sichtbar
* **Spaltengrößenänderung** mit ziehbaren Rändern
* **Responsive Design** passt sich an Bildschirmgröße an

Diese erweiterte Erkundungsumgebung ermöglicht es Ihnen, Ihre Datenmuster, -qualität und -struktur vor der Erstellung von Visualisierungen tiefgreifend zu verstehen. Perfekt für Fragen wie "Zeige mir nur Datensätze aus Bezirk 5 mit hohen Impfraten" oder "Finde alle Einträge, bei denen die Antwortzeit 10 Minuten überschritten hat".

[#### **Pivot-Tabellen erstellen**](/auswertungen/pivot-tabellen)

Stellen Sie sich eine Pivot-Tabelle vor wie das Ordnen Ihres Kleiderschranks nach Farbe und Art der Kleidung. Sie können alle Ihre blauen Hemden an einem Ort sehen, alle roten Hosen an einem anderen, und so weiter:

1. Nachdem Sie Ihre Spalten ausgewählt haben, schalten Sie den **"Pivot-Tabelle erstellen"**-Schalter ein.
2. Richten Sie Ihr Tabellenlayout ein:
   * **Zeilen**: Klicken Sie **"Zeile hinzufügen"**, um zu wählen, was links nach unten geht (wie das Auflisten aller Ihrer Hemdfarben)
   * **Spalten**: Klicken Sie **"Spalte hinzufügen"**, um zu wählen, was oben quer geht (wie das Auflisten von Kleidungstypen)
   * **Werte**: Klicken Sie **"Wert hinzufügen"**, um zu wählen, was Sie in jeder Box zählen oder addieren möchten
3. Die Polyteia Software wird automatisch:
   * Zahlenspalten für Sie addieren
   * Nicht-Zahlenspalten für Sie zählen
   * Ihnen alle Ihre Daten ohne Limits zeigen
4. Ziehen Sie die Elemente, um die Reihenfolge zu ändern.
5. Ihre Tabelle zeigt Ihnen Summen, wo sich jede Zeile und Spalte treffen.

{% hint style="info" %}
Pivot-Tabellen sind perfekt, wenn Sie Dinge auf zwei verschiedene Arten vergleichen möchten. Für weitere Hilfe siehe den [Pivot-Tabellen](/auswertungen/pivot-tabellen) Leitfaden.
{% endhint %}
{% endstep %}

{% step %}
**Filter anwenden**

{% tabs %}
{% tab title="Über die Kopfzeile in der Tabelle" %}

1. Klicken Sie auf die drei Punkte (**⋮**) in einer beliebigen Spalte.
2. Wählen Sie **"Filter hinzufügen"**, um auf erweiterte Filteroptionen zuzugreifen
3. **Mehrere Filter pro Spalte** - fügen Sie so viele hinzu, wie Sie benötigen
4. **Filter-Chips** erscheinen in Kopfzeilen unter den drei Punkten und zeigen aktive Filter
   {% endtab %}

{% tab title="Über die Navigation rechts" %}

1. Klicken Sie auf die Schaltfläche **+** neben der Filterkategorie
2. Wählen Sie die Spalte aus, auf die der Filter angewendet werden soll. Sie können Spalten aus Ihrer Auswahl oben und auch Spalten aus dem (verknüpften) Datensatz auswählen, die in der Datenvorschau in der Mitte nicht sichtbar sind
3. Neben der ausgewählten Filterspalte können Sie nun die Filteroptionen wie "gleich" oder "ist größer als" auswählen. Für eine detaillierte Übersicht aller Filteroptionen gehen Sie zum Abschnitt Filter
4. Sie können auch eine Spalte aggregieren und dann nach den Ergebnissen der Aggregation filtern, indem Sie das Menü **· · ·** auf der Filterspalte auswählen
5. Geben Sie den Wert, nach dem Sie filtern möchten, neben der Filteroption ein
6. Die Datentabelle im mittleren Bereich wird automatisch mit den gefilterten Daten aktualisiert
   {% endtab %}
   {% endtabs %}
   {% endstep %}

{% step %}
**Sortieren und Zeilen begrenzen**

{% tabs %}
{% tab title="Über die Kopfzeile in der Tabelle" %}

1. Klicken Sie auf die drei Punkte (**⋮**) in einer beliebigen Spalte.
2. Wählen Sie **"Aufsteigend sortieren"**, **"Absteigend sortieren"** oder **"Keine Sortierung"**
   {% endtab %}

{% tab title="Über die Navigation rechts" %}

1. Klicken Sie auf die Schaltfläche **+** neben der Sortierungskategorie
2. Wählen Sie die Spalte aus, auf die die Sortierung angewendet werden soll. Sie können Spalten aus Ihrer Auswahl oben und auch Spalten aus dem Datensatz auswählen, die im mittleren Bereich des Editors nicht vorhanden sind
3. Neben der ausgewählten Sortierspalte können Sie nun die Sortieroptionen wie "aufsteigend" oder "absteigend" auswählen
4. Sie können auch eine Spalte aggregieren und dann die Ergebnisse mit der Aggregation sortieren, indem Sie das Menü **· · ·** auf der Sortierspalte auswählen
   {% endtab %}
   {% endtabs %}

**Erweiterte Zeilenlimits** helfen dabei, die Leistung zu optimieren und gleichzeitig mehr Daten anzuzeigen:

* **Standard**: 100 Zeilen für schnelles Laden
* **Benutzerdefinierte Limits**: Setzen Sie bis zu 15.000 Zeilen basierend auf Ihren Analyseanforderungen
* **Leistungsschutz**: Obergrenze verhindert UI-Verlangsamung bei großen Datensätzen
* **SQL-Modus**: Benutzerdefinierte LIMIT-Klauseln in Ihren Abfragen werden beibehalten
  {% endstep %}

{% step %}
**Auswertungen speichern, bearbeiten, löschen und exportieren**

In der oberen rechten Ecke finden Sie verschiedene Aktionen, die Sie ausführen können:

1. **Speichern:** Speichern Sie die Auswertung
2. **Bearbeiten:** Verwenden Sie die Schaltfläche **Bearbeiten**, um den Namen und die Beschreibung der Auswertung zu bearbeiten
3. **Exportieren:** Exportieren Sie die Auswertung
4. **Als Datensatz speichern:** Speichern Sie die Ergebnisse der Auswertung in einem Datensatz
5. **ID kopieren:** Kopieren Sie die eindeutige ID der Auswertung
6. **Löschen:** Mit der roten Schaltfläche **Papierkorb** kann eine Auswertung gelöscht werden

{% hint style="info" %}
Vergessen Sie nicht, die Änderungen nach dem Erstellen oder Bearbeiten der Auswertung zu speichern. Andernfalls könnten sie verloren gehen
{% endhint %}
{% endstep %}

{% step %}
**Visualisierungen erstellen**

1. Klicken Sie auf den Reiter **Diagramm** rechts in der Seitenleiste
2. Wählen Sie einen **Diagrammtyp** aus dem Dropdown-Menü. Verfügbare Optionen:
   * Tabelle
   * Kreisdiagramm
   * Balkendiagramm
   * Liniendiagramm
   * Einzelne Zahl
   * Karte
3. Konfigurieren Sie das Diagramm, indem Sie die richtigen **Spalten** für die X-Achse, Y-Achse, Beschriftung oder Metrik auswählen — je nach ausgewähltem Diagrammtyp
4. Ändern Sie optional den **Diagrammtitel** und die **Beschreibung**. Standardmäßig ist der Titel der Name Ihrer Auswertung
5. Verwenden Sie die Diagrammansicht, um eine Vorschau zu sehen, wie Ihre Daten als Visualisierung aussehen

{% hint style="info" %}
Visualisierungen funktionieren am besten, wenn Ihre Daten bereits gruppiert und aggregiert sind. Saubere und zusammengefasste Daten machen Ihre Diagramme viel leichter lesbar
{% endhint %}
{% endstep %}
{% endstepper %}


# Aggregation

Berechnen Sie Aggregationen wie Summen, Durchschnitte oder einzigartige Werte in der Polyteia-Plattform.

Sie können Aggregationen im Auswertungs-Editor verwenden, um Ihre Daten zusammenzufassen — beispielsweise um zu zählen, wie viele Städte zu jedem Land gehören oder den Durchschnittswert pro Region zu berechnen.

Um dies zu tun, fügen Sie eine Spalte hinzu und wählen Sie eine Aggregation wie Anzahl, Summe oder Durchschnitt. Alle Spalten ohne Aggregation werden automatisch zur Gruppierung der Daten verwendet.

Sie können mehrere Aggregationen in derselben Tabelle kombinieren, Spalten zur besseren Verständlichkeit umbenennen und sogar auf Basis des Ergebnisses einer Aggregation filtern (z. B. "nur Länder mit mehr als 450 Städten anzeigen").

Es ist eine schnelle Methode, detaillierte Datensätze in leicht lesbare Zusammenfassungen umzuwandeln.

## Aggregation erstellen

Manchmal möchten Sie nicht jede Datenzeile betrachten. Stattdessen möchten Sie eine **Zusammenfassung** sehen — wie:

* Die Gesamtzahl der Kunden
* Das Durchschnittsalter
* Das früheste Abonnementdatum
* Die Anzahl der Städte pro Land

Im Auswertungs-Editor können Sie dies mit **Aggregationen** tun.

### Wie es funktioniert

Um Ihre Daten zusammenzufassen:

1. Fügen Sie eine Spalte hinzu
2. Klicken Sie auf die **drei Punkte (•••)** an der Spalte
3. Wählen Sie eine **Aggregationsfunktion** (wie Anzahl, Durchschnitt, Summe usw.)
4. Benennen Sie die Spalte um, wenn Sie möchten

**Automatische Gruppierung**

Wenn Sie eine Aggregation auf eine Spalte anwenden und eine andere **nicht** aggregieren, wird die nicht aggregierte Spalte zur **Gruppe**.\
Zum Beispiel:

* Wenn Sie nach **Land** gruppieren und **Stadt** zählen, erhalten Sie "Wie viele Städte pro Land"

### Beispiele

<details>

<summary>Beispiel 1: Städte pro Land zählen</summary>

Angenommen, Sie möchten sehen, wie viele Städte für jedes Land aufgelistet sind.

1. Fügen Sie die Spalte **Land** hinzu → belassen Sie sie bei **Keine**
2. Fügen Sie die Spalte **Stadt** hinzu → Aggregation: **Anzahl eindeutiger Werte**
3. Benennen Sie die Spalte um in: **Anzahl der Städte**

Ihr Ergebnis sieht so aus:

| Land        | Anzahl der Städte |
| ----------- | ----------------- |
| Deutschland | 540               |
| Frankreich  | 470               |
| Italien     | 320               |

Im Hintergrund wird die Tabelle nach **Land** gruppiert, und das System zählt, wie viele eindeutige **Stadt**-Werte pro Land vorkommen.

</details>

<details>

<summary>Beispiel 2: Durchschnittlichen Index pro Stadt anzeigen</summary>

Angenommen, jede Stadt hat mehrere Einträge mit einem "Index"-Wert. Sie möchten den **durchschnittlichen Index** pro Stadt wissen.

1. Fügen Sie die Spalte **Stadt** hinzu → belassen Sie die Aggregation bei **Keine**
2. Fügen Sie die Spalte **Index** hinzu → Aggregation: **Durchschnitt der Werte**
3. Umbenennen in: **Durchschnittlicher Index**

Ihr Ergebnis:

| Stadt   | Durchschnittlicher Index |
| ------- | ------------------------ |
| Berlin  | 8,3                      |
| Hamburg | 7,9                      |
| München | 9,1                      |

</details>

<details>

<summary>Beispiel 3: Frühestes Abonnementdatum pro Region finden</summary>

Sie möchten sehen, wann das erste Abonnement in jeder Region erfolgte.

1. Fügen Sie die Spalte **Region** hinzu → belassen Sie die Aggregation bei **Keine**
2. Fügen Sie die Spalte **Abonnementdatum** hinzu → Aggregation: **Frühestes**
3. Umbenennen in: **Erstes Abonnement**

Ihr Ergebnis:

| Region | Erstes Abonnement |
| ------ | ----------------- |
| Nord   | 15.01.2022        |
| Süd    | 01.03.2022        |
| West   | 09.01.2022        |

</details>

### Verfügbare Aggregationsoptionen

<details>

<summary>Textspalten (z. B. Stadt, Name)</summary>

| Aggregation                  | Beschreibung                                               |
| ---------------------------- | ---------------------------------------------------------- |
| **Keine**                    | Zeigt jeden Textwert wie er ist                            |
| **Anzahl vorhandener Werte** | Zählt, wie viele Zeilen etwas ausgefüllt haben             |
| **Anzahl eindeutiger Werte** | Zählt, wie viele verschiedene (distinkte) Werte existieren |
| **Anzahl fehlender Werte**   | Zählt, wie viele Zeilen leer oder null sind                |
| **Eindeutige Werte**         | Listet alle eindeutigen Werte in einer Zelle auf           |

</details>

<details>

<summary>Zahlenspalten (z. B. Index, Alter)</summary>

| Aggregation                  | Beschreibung                                      |
| ---------------------------- | ------------------------------------------------- |
| **Keine**                    | Zeigt jede Zahl wie sie ist                       |
| **Summe der Werte**          | Addiert alle Werte                                |
| **Kleinster Wert**           | Zeigt die niedrigste Zahl                         |
| **Größter Wert**             | Zeigt die höchste Zahl                            |
| **Durchschnitt der Werte**   | Berechnet den Mittelwert (Durchschnitt)           |
| **Anzahl vorhandener Werte** | Zählt, wie viele Zeilen eine Zahl haben           |
| **Anzahl eindeutiger Werte** | Zählt, wie viele verschiedene Zahlen existieren   |
| **Anzahl fehlender Werte**   | Zählt, wie viele Zeilen leer oder null sind       |
| **Eindeutige Werte**         | Listet alle eindeutigen Zahlen in einer Zelle auf |

</details>

<details>

<summary>Datumsspalten (z. B. Abonnementdatum)</summary>

| Aggregation                  | Beschreibung                                     |
| ---------------------------- | ------------------------------------------------ |
| **Keine**                    | Zeigt jedes Datum wie es ist                     |
| **Frühestes**                | Zeigt das erste (älteste) Datum                  |
| **Spätestes**                | Zeigt das neueste Datum                          |
| **Anzahl vorhandener Werte** | Zählt, wie viele Zeilen ein Datum haben          |
| **Anzahl eindeutiger Werte** | Zählt, wie viele verschiedene Daten existieren   |
| **Anzahl fehlender Werte**   | Zählt, wie viele Zeilen leer oder null sind      |
| **Eindeutige Werte**         | Listet alle eindeutigen Daten in einer Zelle auf |

</details>

## Tipps für die Arbeit mit Aggregationen

* Sie können mehrere Aggregationen in einer Tabelle kombinieren
* Benennen Sie aggregierte Spalten um, um die Tabelle leichter lesbar zu machen
* Verwenden Sie Filter, um einzuschränken, welche Zeilen gezählt oder gemittelt werden
* Sie können eine Gruppierungsspalte später entfernen, wenn Sie nur eine Gesamtsumme wünschen


# Filter

Grenzen Sie die Daten ein, die Sie in der Polyteia-Plattform auswerten möchten.

Filter helfen Ihnen, Ihre Daten auf genau das zu reduzieren, was Sie benötigen. Sie können einzelne Zeilen filtern (wie "Stadt gleich Berlin") oder auf Basis von Zusammenfassungen filtern (wie "zeige nur Länder mit mehr als 450 Städten").

Um auf Zusammenfassungen zu filtern, wählen Sie eine Spalte aus, wenden eine Aggregation an (wie Anzahl oder Durchschnitt) und legen Ihre Bedingung fest. Sie können dann die Spalte, die Sie zum Filtern verwendet haben, ausblenden — der Filter funktioniert weiterhin.

Verwenden Sie Filter, um Ihre Daten zu bereinigen, sich auf bestimmte Fälle zu konzentrieren oder wichtige Erkenntnisse hervorzuheben.

## Filter anwenden

Filter sind ein leistungsstarkes Werkzeug, um Ihren Datensatz auf genau die Informationen zu reduzieren, die Sie benötigen. Der Auswertungs-Editor bietet ein flexibles Filtersystem, das sich an den Datentyp jeder Spalte anpasst und kontextbezogene Optionen zum Aufteilen und Analysieren Ihrer Daten bietet.

### Wie Filter funktionieren

Ein Filter besteht aus drei Teilen:

1. **Spalte** – das Feld, das Sie filtern möchten (wie "Stadt" oder "Alter")
2. **Filtertyp** – wie die Daten überprüft werden sollen (wie "gleich" oder "größer als")
3. **Wert** – wonach gesucht werden soll (wie "Berlin" oder "30")

Sie können mehrere Filter gleichzeitig hinzufügen. Alle Filter arbeiten zusammen — das bedeutet, eine Zeile muss *allen* Filtern entsprechen, um angezeigt zu werden.

### Filteroptionen

<details>

<summary>Filteroptionen für Textspalten</summary>

Textspalten sind für Dinge wie Namen, Städte oder Abteilungen.

| Filtertyp                    | Was er bewirkt                                              |
| ---------------------------- | ----------------------------------------------------------- |
| **gleich**                   | Findet Zeilen, die genau mit dem Text übereinstimmen        |
| **ungleich**                 | Blendet Zeilen aus, die mit dem Text übereinstimmen         |
| **enthält**                  | Findet Zeilen, die den Text irgendwo im Feld enthalten      |
| **enthält nicht**            | Blendet Zeilen aus, die den Text enthalten                  |
| **beginnt mit**              | Findet Zeilen, bei denen der Text mit Ihrer Eingabe beginnt |
| **endet mit**                | Findet Zeilen, bei denen der Text mit Ihrer Eingabe endet   |
| **ist null**                 | Zeigt Zeilen, bei denen das Feld vollständig leer ist       |
| **ist nicht null**           | Zeigt Zeilen, bei denen etwas eingetragen ist               |
| **ist null oder leer**       | Zeigt Zeilen, die entweder leer oder nicht ausgefüllt sind  |
| **ist nicht null oder leer** | Zeigt Zeilen, in denen etwas geschrieben steht              |

**Beispiele:**

* Nur Zeilen anzeigen, in denen **Stadt** "Berlin" ist → **gleich Berlin**
* Zeilen anzeigen, in denen **Abteilung** nicht leer ist → **ist nicht null oder leer**

</details>

<details>

<summary>Filteroptionen für Zahlenspalten</summary>

Diese gelten für Felder wie "Alter", "Punktzahl" oder "Betrag".

| Filtertyp                    | Was er bewirkt                                               |
| ---------------------------- | ------------------------------------------------------------ |
| **gleich**                   | Findet Zeilen mit genau dieser Zahl                          |
| **ungleich**                 | Blendet Zeilen mit dieser Zahl aus                           |
| **größer als**               | Zeigt Zeilen mit Zahlen, die höher als Ihre Eingabe sind     |
| **größer gleich**            | Zeigt Zeilen, die gleich oder höher als Ihre Zahl sind       |
| **kleiner als**              | Zeigt Zeilen mit Zahlen, die niedriger als Ihre Eingabe sind |
| **kleiner gleich**           | Zeigt Zeilen, die gleich oder niedriger sind                 |
| **ist null**                 | Findet Zeilen, bei denen die Zahl fehlt                      |
| **ist nicht null**           | Findet Zeilen, die eine Zahl haben                           |
| **ist null oder leer**       | Zeigt Zeilen ohne jegliche Zahl                              |
| **ist nicht null oder leer** | Zeigt nur Zeilen, die eine Zahl haben                        |

**Beispiele:**

* Nur Personen anzeigen, die älter als 65 sind → **Alter größer als 65**
* Zeilen ausschließen, bei denen die Punktzahl fehlt → **Punktzahl ist nicht null**

</details>

<details>

<summary>Filteroptionen für Datumsspalten</summary>

Datumsspalten umfassen Felder wie "Einreichungsdatum" oder "Erstellt am".

| Filtertyp                    | Was er bewirkt                                         |
| ---------------------------- | ------------------------------------------------------ |
| **gleich**                   | Findet Zeilen mit genau demselben Datum                |
| **ungleich**                 | Blendet Zeilen mit genau diesem Datum aus              |
| **nach**                     | Zeigt Zeilen mit Daten nach dem von Ihnen eingegebenen |
| **nach oder am**             | Zeigt Zeilen an oder nach Ihrem gewählten Datum        |
| **vor**                      | Zeigt Zeilen mit Daten vor dem von Ihnen eingegebenen  |
| **vor oder am**              | Zeigt Zeilen an oder vor Ihrem gewählten Datum         |
| **ist null**                 | Findet Zeilen, bei denen das Datum fehlt               |
| **ist nicht null**           | Zeigt Zeilen, die ein ausgefülltes Datum haben         |
| **ist null oder leer**       | Findet Zeilen ohne jegliches Datum                     |
| **ist nicht null oder leer** | Zeigt Zeilen, die ein Datum haben                      |

**Beispiele:**

* Alle Einträge nach dem 1. Januar 2024 sehen → **nach 01.01.2024**
* Fehlende Einreichungsdaten finden → **ist null**

</details>

### Filtern nach aggregierten Werten

Manchmal möchten Sie nicht einzelne Datenzeilen filtern — stattdessen möchten Sie auf Basis einer **Zusammenfassung** wie einer Summe oder einem Durchschnitt filtern.

Zum Beispiel:

> "Ich möchte nur Länder sehen, wenn sie mehr als 450 Städte haben."

Um dies im Auswertungs-Editor zu tun, verwenden Sie **Aggregationsfilter**. So funktioniert es.

#### **Wie es Schritt für Schritt funktioniert**

Angenommen, Sie arbeiten mit Kundendaten. Sie möchten sehen:

* Jedes Land
* Wie viele Kunden sie haben

**Aber** nur, wenn dieses Land mehr als 450 Städte in den Daten hat.

So geht das:

{% stepper %}
{% step %}
**Wählen Sie die Spalten aus, die Sie verwenden möchten**

Im Abschnitt **Spalten** fügen Sie hinzu:

* **Land** (keine Aggregation)
* **Stadt** → Aggregation: **Anzahl eindeutiger Werte**
* **Kunden-ID** → Aggregation: **Anzahl eindeutiger Werte**

Sie sehen nun eine Tabelle wie diese:

| Land          | Anzahl der Städte | Anzahl der Kunden |
| ------------- | ----------------- | ----------------- |
| Korea         | 812               | 9.320             |
| Kongo         | 829               | 8.750             |
| Saint Martin  | 451               | 5.320             |
| Frankreich    | 300               | 6.700             |
| {% endstep %} |                   |                   |

{% step %}
**Fügen Sie einen Filter für die aggregierte Spalte hinzu**

Im Abschnitt **Filter**:

* Wählen Sie **Stadt**
* Legen Sie die Aggregation fest: **Anzahl eindeutiger Werte**
* Bedingung: **größer als 450**

Dies behält nur die Länder bei, die **mehr als 450 eindeutige Städte** in den Daten haben.

Ihre Tabelle sieht jetzt so aus:

| Land          | Anzahl der Städte | Anzahl der Kunden |
| ------------- | ----------------- | ----------------- |
| Korea         | 812               | 9.320             |
| Kongo         | 829               | 8.750             |
| Saint Martin  | 451               | 5.320             |
| {% endstep %} |                   |                   |

{% step %}
**Entfernen Sie die zum Filtern verwendete Spalte (optional)**

Wenn Sie die Spalte "Anzahl der Städte" nicht mehr in der Tabelle anzeigen möchten, entfernen Sie sie einfach im Abschnitt **Spalten**.\
**Keine Sorge — der Filter funktioniert weiterhin!**

Jetzt wird die Tabelle so aussehen:

| Land         | Anzahl der Kunden |
| ------------ | ----------------- |
| Korea        | 9.320             |
| Kongo        | 8.750             |
| Saint Martin | 5.320             |

Sie sehen immer noch nur Länder mit mehr als 450 Städten — Sie **verbergen** nur die Spalte mit der Städteanzahl.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Verwenden Sie dies, wenn Sie:

* **Gruppierte Daten** anzeigen möchten (wie Summen pro Land)
* Zeilen **nach der Aggregation** einbeziehen möchten
* Nach Dingen wie "Anzahl der Städte", "Durchschnittsalter" oder "Gesamtumsatz" filtern möchten
  {% endhint %}

### Wie man Filter entfernt oder zurücksetzt

Um einen Filter zu entfernen, klicken Sie auf das kleine **X** daneben.

## Tipps für die Arbeit mit Filtern

* Sie können mehr als einen Filter hinzufügen. Zum Beispiel: nur Personen aus Berlin *und* über 60 Jahre alt anzeigen.
* Wenn Sie nur Zeilen mit ausgefüllten Werten anzeigen möchten, verwenden Sie `ist nicht null oder leer`.
* Verwenden Sie `enthält`, wenn Sie sich des vollständigen Wertes nicht sicher sind (wie die Suche nach "heim", um "Mannheim", "Heimfeld" usw. zu finden).
* Leere Werte und "null" bedeuten, dass in diesem Feld keine Daten vorhanden sind.


# Pivot-Tabellen

Denken Sie an eine Pivot-Tabelle wie an die Organisation eines Aktenschranks. Sie haben eine Schublade voller Meldedaten von Bürgern, die überall verstreut sind, aber Sie möchten schnell sehen, wie viele Menschen in jedem Bundesland nach Geschlecht leben. Eine Pivot-Tabelle organisiert diese Informationen in einem übersichtlichen Raster, wo Sie sofort sehen können: "Bayern hat 3,2 Millionen Männer, 3,3 Millionen Frauen und 15.000 diverse Bürger\*innen."

## Was ist eine Pivot-Tabelle?

Eine Pivot-Tabelle nimmt Datenzeilen und organisiert sie in einem zusammengefassten Raster. Es ist wie ein intelligenter Rechner, der Ihre Informationen auf verschiedene Weise sofort gruppieren und zählen kann.

**Perfektes Beispiel**: Sie haben einen Datensatz mit Tausenden von Zeilen, die Bundesland, Geschlecht (männlich, weiblich, divers) und Bürgerzahlen zeigen. Anstatt durch Tausende von Einträgen zu scrollen, zeigt Ihnen eine Pivot-Tabelle eine saubere Zusammenfassung mit Bundesländern auf der linken Seite, Geschlechtern oben und den Gesamtsummen in jeder Zelle.

## Wann sollten Sie Pivot-Tabellen verwenden?

Pivot-Tabellen sind perfekt, wenn Sie Fragen beantworten möchten wie:

* **"Was sind meine Gesamtsummen nach Kategorie?"** - Wie Gesamtbürger nach Bundesland und Geschlecht
* **"Wie vergleichen sich verschiedene Gruppen?"** - Wie Bevölkerungsverteilungen zwischen Regionen
* **"Welche Muster erkenne ich?"** - Wie welche Bundesländer die diverseste Geschlechterverteilung haben
* **"Wie stehen zwei Dinge in Beziehung?"** - Wie verschiedene Altersgruppen über Bundesländer verteilt sind

**Beispiele aus der Praxis**:

* Bevölkerungsstatistiken: Bürger nach Bundesland und Geschlecht
* Budgetanalyse: Ausgaben nach Abteilung und Quartal
* Gesundheitsdaten: Impfquoten nach Landkreis und Altersgruppe
* Servicenutzung: Öffentliche Dienste nach Stadtteil und Zeitraum

## Wie Sie eine Pivot-Tabelle erstellen

{% stepper %}
{% step %}
**Bereiten Sie Ihre Daten vor**

Ihre Daten sollten Spalten haben, die zusammen gruppiert werden können. Für unser Beispiel:

* **Bundesland**-Spalte (Bayern, NRW, Berlin, etc.)
* **Geschlecht**-Spalte (männlich, weiblich, divers)
* **Bürger**-Spalte (die Zahlen, die Sie zusammenrechnen möchten)

{% hint style="info" %}
**Spaltenbeschränkungen**: Spalten, die für Zeilen und Spalten in Pivot-Tabellen verwendet werden, können maximal 50 eindeutige Werte (Kardinalität) haben. Wenn Ihre Daten mehr als 50 eindeutige Werte in einer Spalte haben, sollten Sie sie zuerst filtern, ähnliche Werte gruppieren oder lieber Zeilen für diese Spalte wählen.
{% endhint %}

| Bundesland        | Geschlecht | Anzahl    |
| ----------------- | ---------- | --------- |
| Bayern            | männlich   | 6.600.000 |
| Bayern            | weiblich   | 6.900.000 |
| Bayern            | divers     | 1.500     |
| Baden Württemberg | weiblich   | 5.950.000 |
| Baden Württemberg | divers     | 1.300     |
| ...               | ...        | ...       |
| {% endstep %}     |            |           |

{% step %}
**Aktivieren Sie den Pivot-Tabellen-Modus**

1. Wählen Sie in Ihrer Auswertung wie gewohnt Ihren Datensatz und Spalten aus
2. Finden Sie den **"Pivot Tabelle erstellen"**-Schalter
3. Aktivieren Sie ihn - Sie sehen drei neue Abschnitte erscheinen:
   * **Zeilen** (was auf der linken Seite steht)
   * **Spalten** (was oben steht)
   * **Werte** (was gezählt oder addiert wird)

|               | Spalten | Spalten | Spalten |
| ------------- | ------- | ------- | ------- |
| **Zeilen**    | Werte   | Werte   | Werte   |
| **Zeilen**    | Werte   | Werte   | Werte   |
| **Zeilen**    | Werte   | Werte   | Werte   |
| {% endstep %} |         |         |         |

{% step %}
**Richten Sie Ihre Zeilen ein**

Zeilen sind die Kategorien, die auf der linken Seite Ihrer Tabelle aufgelistet werden.

1. Klicken Sie **"Zeile hinzufügen"**
2. Wählen Sie **"Bundesland"** - dies listet alle deutschen Bundesländer links auf
3. Sie können bei Bedarf weitere Zeilen für Unterkategorien hinzufügen

**Ergebnis**: Ihre Tabelle zeigt Bayern, NRW, Berlin, etc. vertikal aufgelistet

| Bundesland        |   |   |   |
| ----------------- | - | - | - |
| Bayern            |   |   |   |
| Baden-Württemberg |   |   |   |
| ...               |   |   |   |
| {% endstep %}     |   |   |   |

{% step %}
**Richten Sie Ihre Spalten ein**

Spalten sind die Kategorien, die oben in Ihrer Tabelle stehen.

1. Klicken Sie **"Spalte hinzufügen"**
2. Wählen Sie **"Geschlecht"** - dies zeigt männlich, weiblich, divers oben
3. Sie können weitere Spalten für zusätzliche Vergleiche hinzufügen

**Ergebnis**: Ihre Tabelle zeigt die drei Geschlechtskategorien als Spaltenüberschriften

| Bundesland        | männlich | weiblich | divers |
| ----------------- | -------- | -------- | ------ |
| Bayern            |          |          |        |
| Baden-Württemberg |          |          |        |
| ...               |          |          |        |
| {% endstep %}     |          |          |        |

{% step %}
**Wählen Sie Ihre Werte**

Werte sind die tatsächlichen Zahlen, die in jeder Zelle Ihres Rasters erscheinen.

1. Klicken Sie **"Wert hinzufügen"**
2. Wählen Sie **"Bürger"** - dies wird aufaddiert
3. Das System addiert automatisch Zahlen oder zählt Elemente
4. Sie können die Formel auch ändern indem Sie auf die ... Punkte gehen
5. Sie können bei Bedarf mehrere Werte hinzufügen

**Ergebnis**: Jede Zelle zeigt die Gesamtzahl der Bürger für diese Bundesland-Geschlecht-Kombination

| Bundesland        | männlich  | weiblich  | divers |
| ----------------- | --------- | --------- | ------ |
| Bayern            | 6.600.000 | 6.900.000 | 1.500  |
| Baden-Württemberg | 5.700.000 | 5.950.000 | 1.300  |
| ...               | ...       | ...       | ...    |
| {% endstep %}     |           |           |        |

{% step %}
**Betrachten Sie Ihre Pivot-Tabelle**

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie **Tabelle** als Ihren Diagrammtyp
3. Ihre Pivot-Tabelle wird als sauberes Raster angezeigt:

Jetzt können Sie sofort Bevölkerungsmuster in allen deutschen Bundesländern erkennen!

{% hint style="warning" %}
**Einschränkung der Daten-Explorer-Vorschau**: Die Datenvorschau im **Daten**-Tab zeigt verschachtelte Gruppierungen nicht richtig an. Bei mehreren Zeilen- oder Spaltenebenen sehen Sie abgeflachte Werte wie "Bundesland:Bayern" anstatt ordnungsgemäßer Verschachtelung. Wechseln Sie immer zum Reiter **Diagramm** mit **Tabellen**-Visualisierung, um die ordnungsgemäße verschachtelte Struktur Ihrer Pivot-Tabelle zu sehen.
{% endhint %}
{% endstep %}
{% endstepper %}

## Vorschläge für Pivot-Tabellen

Das System bietet hilfreiche Vorschläge beim Erstellen von Pivot-Tabellen:

**Spaltenvorschläge erscheinen, wenn:**

* Sie Spalten mit vernünftiger Kardinalität haben (unter 50 eindeutige Werte)
* Spalten kategorische Daten enthalten, die gut für Gruppierungen funktionieren
* Das System übliche Muster wie Daten, Orte oder Kategorien erkennt

**Was die Vorschläge zeigen:**

* **Empfohlene Zeilen**: Spalten, die gut als Zeilenkategorien funktionieren
* **Empfohlene Spalten**: Spalten, die gut als Spaltenüberschriften funktionieren
* **Empfohlene Werte**: Numerische Spalten, die addiert oder gezählt werden können
* **Intelligente Kombinationen**: Bewährte Kombinationen, die gut zusammenarbeiten

**Beispielvorschläge für demografische Daten:**

* Zeilen: Bundesland, Stadt, Landkreis
* Spalten: Geschlecht, Altersgruppe, Jahr
* Werte: Bevölkerungsanzahl, Bürger, Haushalte

{% hint style="success" %}
**Profi-Tipp**: Beginnen Sie mit den vorgeschlagenen Kombinationen - sie basieren auf dem, was mit ähnlichen Daten gut funktioniert. Sie können später immer noch anpassen.
{% endhint %}

## Erweiterte Pivot-Tabellen-Funktionen

### Mehrere Ebenen

Sie können mehrere Zeilen- oder Spaltenkategorien hinzufügen, wie die Organisation eines Bücherregals nach Genre, dann nach Autor:

**Mehrere Zeilen**: Bundesland → Stadt → Landkreis **Mehrere Spalten**: Jahr → Quartal → Monat

Dies erstellt verschachtelte Kategorien, die es Ihnen ermöglichen, von breit zu spezifisch zu navigieren.

### Ziehen zum Neuordnen

Sobald Sie Kategorien hinzugefügt haben, ziehen Sie sie nach oben oder unten, um die Reihenfolge zu ändern:

* **Wichtigste Kategorie zuerst** - geht normalerweise auf die oberste Ebene
* **Unterkategorien darunter** - bieten detailliertere Aufschlüsselungen

### Filtern innerhalb von Pivot-Tabellen

Sie können auch nach dem Erstellen einer Pivot-Tabelle normale Filter verwenden:

* Filtern auf bestimmte Bundesländer
* Nur bestimmte Jahre anzeigen
* Fokus auf besondere demografische Gruppen

## Häufige Pivot-Tabellen-Muster

### **Zeitreihenanalyse**

* **Zeilen**: Jahr, Quartal
* **Spalten**: Kategorie, Abteilung
* **Werte**: Budget, Anzahl, Umsatz

### **Geografische Analyse**

* **Zeilen**: Bundesland, Landkreis
* **Spalten**: Servicetyp, Altersgruppe
* **Werte**: Bürger, Nutzungsanzahl

### **Demographische Aufschlüsselung**

* **Zeilen**: Altersgruppe, Einkommensniveau
* **Spalten**: Geschlecht, Bildung
* **Werte**: Bevölkerung, Umfrage-Antworten

## Behebung häufiger Probleme

**"Meine Pivot-Tabelle ist leer"**

* Überprüfen Sie, dass Sie mindestens einen Wert zum Zählen oder Addieren hinzugefügt haben
* Verifizieren Sie, dass Ihre Zeilen- und Spaltenkategorien übereinstimmende Daten haben

**"Zu viele leere Zellen"**

* Dies passiert, wenn nicht jede Kombination Daten hat (wie "Bayern + divers" könnte eine kleine Zahl sein)
* Erwägen Sie, weniger Kategorien zu verwenden oder Ihre Daten zuerst zu filtern

**"Spalte hat zu viele Werte"**

* Spalten sind auf maximal 50 eindeutige Werte begrenzt
* Versuchen Sie, ähnliche Werte zusammenzugruppieren oder Filter zu verwenden, um die Optionen zu reduzieren

**"Pivot-Tabelle ist zu langsam"**

* Große Datensätze mit vielen Kategorien können langsam sein
* Versuchen Sie, Ihre Daten zuerst zu filtern oder weniger Zeilen-/Spaltenkombinationen zu verwenden

**"Meine verschachtelten Gruppierungen sehen in der Datenvorschau falsch aus"**

* Der Vorschau im Reiter **Daten** zeigt abgeflachte Werte wie "Gruppe:Wert" für verschachtelte Gruppierungen
* Dies ist normales Verhalten - die Vorschau behandelt mehrere Ebenen nicht gut
* Wechseln Sie zum Reiter **Diagramm** → **Tabellen**-Visualisierung, um die ordnungsgemäße verschachtelte Struktur zu sehen
* Verwenden Sie immer die Tabellendarstellung, um Ihr Pivot-Tabellen-Layout zu verifizieren

{% hint style="success" %}
**Tipp**: Beginnen Sie einfach mit nur einer Zeilenkategorie, einer Spaltenkategorie und einem Wert. Sobald das gut funktioniert, fügen Sie schrittweise mehr Komplexität hinzu. Überprüfen Sie Ihr Endergebnis immer im Reiter **Diagramm**, anstatt sich auf die Datenvorschau zu verlassen.
{% endhint %}


# Visualisierungen

Bereiten Sie Auswertungen visuell in der Polyteia-Plattform auf.

Der Auswertungs-Editor ermöglicht es Ihnen nicht nur, Daten in Tabellen zu analysieren – Sie können auch **Diagramme und visuelle Zusammenfassungen** Ihrer Ergebnisse erstellen. Dies ist hilfreich, wenn Sie Trends besser verstehen, Erkenntnisse mit anderen teilen oder Dashboards erstellen möchten.

### Wie Sie zum Visualisierungsbereich gelangen

Sobald Sie die Daten hinzugefügt haben, die Sie analysieren möchten:

1. Gehen Sie zum oberen rechten Bereich des Editors
2. Klicken Sie auf den Reiter **Diagramm** (neben dem Reiter **Daten**)

Dies öffnet den Visualisierungsbereich, in dem Sie einen Diagrammtyp auswählen und konfigurieren können, wie Ihre Daten angezeigt werden.

### Was Sie für ein gutes Diagramm benötigen

Bevor Sie zum Reiter **Diagramm** wechseln, stellen Sie sicher, dass Ihre Daten:

* **Zusammengefasst oder gruppiert** sind (z. B. nach Land, Datum oder Kategorie)
* **Sauber** sind (keine doppelten Beschriftungen oder fehlenden Werte in Schlüsselfeldern)
* **Aussagekräftig** sind (eine kleine Tabelle mit klaren Beschriftungen und Werten funktioniert am besten)

### Gute vs. schlechte Datenbeispiele

**Gutes Beispiel: zusammengefasste Daten**

| Land        | Anzahl der Kunden |
| ----------- | ----------------- |
| Deutschland | 540               |
| Frankreich  | 470               |
| Italien     | 320               |

{% hint style="success" %}
Dies eignet sich hervorragend für ein **Kreis- oder Balkendiagramm**
{% endhint %}

**Schlechtes Beispiel: Rohdaten**

| Kunden-ID | Land        | Alter |
| --------- | ----------- | ----- |
| K1        | Deutschland | 28    |
| K2        | Frankreich  | 33    |
| K3        | Italien     | 25    |

{% hint style="warning" %}
Dies ist zu detailliert. Gruppieren Sie es zuerst (z. B. Anzahl der Kunden pro Land)
{% endhint %}

### Diagrammtypen und ihre Funktionen

Sie können im Editor aus mehreren Diagrammtypen wählen:

#### [Tabellendiagramm](/auswertungen/visualisierungen/tabellendiagramm)

Zeigt Ihre Daten genau so an, wie sie sind - in Zeilen und Spalten. Nützlich, wenn Sie Zahlen klar und präzise darstellen möchten.

#### [Kreisdiagramm](/auswertungen/visualisierungen/kreisdiagramm)

Visualisiert Proportionen - wie jeder Wert im Vergleich zum Ganzen steht. Am besten geeignet, um Verteilungen wie Marktanteile oder regionale Aufschlüsselungen zu zeigen.

#### [Liniendiagramm](/auswertungen/visualisierungen/liniendiagramm)

Zeigt Trends über Zeit (oder über eine andere Sequenz). Sie benötigen eine zeitbasierte oder geordnete Kategorie wie "Jahr" oder "Monat".

#### [Balkendiagramm (Säulen)](/auswertungen/visualisierungen/balkendiagramm)

Stellt Werte nebeneinander dar, um einen einfachen Vergleich zu ermöglichen. Gut für den Vergleich von Kategorien wie "Städten" oder "Abteilungen".

#### [Einzelne Zahl](/auswertungen/visualisierungen/einzelzahl)

Zeigt einen einzelnen Schlüsselwert, wie eine Summe oder einen Durchschnitt. Ideal für Dashboards und Zusammenfassungskacheln.

#### [Boxplot](/auswertungen/visualisierungen/boxplot)

Zeigt die Verteilung von Zahlen – wo die Mitte liegt, wie stark die Werte streuen und ob es Ausreißer gibt. Nützlich, um Bearbeitungszeiten, Messwerte oder Bewertungen pro Gruppe zu vergleichen.

#### [Streudiagramm](/auswertungen/visualisierungen/streudiagramm)

Zeigt den Zusammenhang zwischen zwei Zahlen als Punktwolke. Optional können Sie die Punktgröße an eine dritte Zahl koppeln (Blasendiagramm). Ideal, um Muster und Zusammenhänge zu erkennen.

### Tipps für bessere Diagramme

* Halten Sie Ihren Datensatz klein und fokussiert — 5–10 Zeilen sind ideal
* Verwenden Sie klare Beschriftungen in Ihren Gruppierungsspalten (z. B. Regionsnamen oder Jahre)
* Filtern Sie Störfaktoren heraus, bevor Sie zum Reiter **Diagramm** wechseln
* Experimentieren Sie mit verschiedenen Diagrammtypen — manche funktionieren besser als andere, abhängig von Ihren Daten


# Tabellendiagramm

Erstellen und konfigurieren Sie Tabellendiagramme in der Polyteia-Plattform.

Tabellendiagramme eignen sich perfekt zur Anzeige Ihrer Daten in einem organisierten Listenformat - wie ein digitales Ablagesystem für Ihre Informationen. Stellen Sie es sich vor wie die Erstellung eines sauberen Berichts, den Sie bei einer Stadtratssitzung oder Gesundheitsbehörden-Briefing präsentieren könnten.

Sie können Tabellendiagramme auf zwei Arten verwenden:

* **Reguläre Tabellen** - Einfache Listen Ihrer Daten mit benutzerdefinierten Spalten und Gruppierungen
* **Pivot-Tabellen** - Erweiterte kreuztabellarische Analyse, die Daten nach Kategorien organisiert

## Wann Tabellendiagramme verwenden

Tabellendiagramme funktionieren gut, wenn Sie:

* Detaillierte Informationen anzeigen möchten, die nicht gut in andere Diagrammtypen passen
* Daten an Kollegen präsentieren möchten, die spezifische Zahlen sehen müssen
* Berichte für Regierungssitzungen oder öffentliche Präsentationen erstellen möchten
* Listen wie "Bezirke nach Impfrate" oder "Notfallantwortzeiten nach Stadtteil" anzeigen möchten

### Anwendungsbeispiele:

* Beamte des öffentlichen Gesundheitswesens zeigen Impfraten nach Bezirk und Altersgruppe
* Notdienste zeigen Anruftypen nach Stadtteil und Zeit
* Budgetmanager listen Ausgaben nach Abteilung und Quartal auf

## Tabellendiagramme erstellen

{% stepper %}
{% step %}
**Tabelle einrichten**

1. Gehen Sie zum Reiter **Diagramm** rechts in der Seitenleiste
2. Wählen Sie **Tabelle** aus dem Menü **Diagrammtyp**
3. Ihre Daten erscheinen in einem sauberen Tabellenlayout mit sortierbaren Spalten (standardmäßig aktiviert)

{% hint style="info" %}
Alle Spalten sind standardmäßig sortierbar - Benutzer können auf jede Spalte in der Kopfzeile klicken, um die Daten auf- oder absteigend zu sortieren.
{% endhint %}
{% endstep %}

{% step %}
**Spalten auswählen und organisieren**

Im Abschnitt **Metriken** auf der rechten Seite:

* Klicken Sie **"Metrik hinzufügen"**, um weitere Informationen aus Ihren Daten einzubeziehen
* Entfernen Sie Spalten mit dem kleinen ✕ daneben
* **Benennen Sie** jede Spalte um, indem Sie auf die drei Punkte `•••` klicken und den "Titel" ändern
* Wechseln Sie die angezeigte Datenspalte bei Bedarf
* **Ziehen Sie Spalten**, um sie in Ihrer Tabelle neu zu ordnen

{% hint style="info" %}
Sie können eine Spalte auch aus den Einstellungen entfernen: Klicken Sie auf `•••` und dann auf **Spalte entfernen** am unteren Ende des Einstellungs-Fensters.
{% endhint %}
{% endstep %}

{% step %}
**Spaltengruppen erstellen und verwalten (optional)**

Organisieren Sie verwandte Spalten unter Gruppenüberschriften für bessere Organisation:

1. In den Tabelleneinstellungen suchen Sie nach **"Spaltengruppen"**
2. Klicken Sie **"Gruppe hinzufügen"** und geben Sie einen beschreibenden Namen (wie "Q1 Daten" oder "Demografie")
3. **Ziehen Sie Spalten** in die Gruppe, um sie zu organisieren
4. Ordnen Sie Gruppen und Spalten nach Bedarf neu
5. Um eine Gruppe zu löschen, klicken Sie auf das **Papierkorb-Symbol** neben dem Gruppennamen

**Beispiel-Gruppierungen:**

* **"Finanziell"**: Budget, Tatsächliche\_Ausgaben, Varianz
* **"Demografie"**: Altersgruppe, Geschlecht, Bevölkerungsanzahl
* **"Leistung"**: Antwortzeit, Erfolgsrate, Zufriedenheit

Dies erstellt saubere Abschnittsüberschriften, die große Tabellen leichter lesbar machen.
{% endstep %}

{% step %}
**Spaltenerscheinungsbild anpassen**

Lassen Sie wichtige Daten hervorstechen:

1. Klicken Sie auf die drei Punkte `•••` neben jeder Spalte
2. Wählen Sie Anzeigeoptionen:
   * **Spaltenfarben**: Wenden Sie Heatmap- oder Textfärbung basierend auf Werten an
   * **Zahlenformatierung**: Dezimalstellen festlegen, Währungssymbole hinzufügen
   * **Sortierbar**: Sortierung für bestimmte Spalten deaktivieren (standardmäßig aktiviert)
3. Vorschau Ihrer Änderungen in der Tabellenanzeige
   {% endstep %}

{% step %}
**Aufteilung in Seiten und Anzeigeoptionen festlegen**

Steuern Sie, wie viele Daten gleichzeitig angezeigt werden:

* **Alle Zeilen anzeigen** - Alles anzeigen (gut für kleine Datensätze)
* **5, 10, 25 oder 50 Zeilen pro Seite** - Große Datensätze in handhabbare Abschnitte aufteilen
* Navigationsschaltflächen erscheinen automatisch bei Paginierung

**Diagrammtitel und Beschreibung:**

* **Titel** - Was Ihre Tabelle zeigt (wie "Bezirks-Impfraten Q1 2024")
* **Beschreibung** - Erklären Sie, was die Daten für Betrachter darstellen
  {% endstep %}
  {% endstepper %}

## Pivot-Tabellen erstellen

Für erweiterte kreuztabellarische Analyse können Sie Pivot-Tabellen erstellen, die Daten nach Kategorien organisieren.

**Um eine Pivot-Tabelle zu erstellen:**

1. **Richten Sie zuerst Ihre Pivot-Struktur** im Query Builder ein - siehe unseren umfassenden [**Pivot-Tabellen**](/auswertungen/pivot-tabellen) Leitfaden für vollständige Schritt-für-Schritt-Anweisungen
2. Sobald Ihre Pivot-Tabelle in der Datenvorschau konfiguriert ist, kommen Sie zum Reiter Diagramm
3. Wählen Sie **Tabelle** als Ihren Diagrammtyp, um Ihre Pivot-Analyse anzuzeigen

Die Pivot-Tabelle zeigt Ihre Daten in einem Rasterformat mit:

* **Zeilen**: Kategorien auf der linken Seite (wie Bundesländer, Bezirke, Abteilungen)
* **Spalten**: Kategorien oben (wie Monate, Altersgruppen, Servicetypen)
* **Werte**: Summen oder Zählungen in jeder Schnittstelle

{% hint style="success" %}
**Profi-Tipp**: Pivot-Tabellen funktionieren besonders gut als Tabellendiagramme, weil Sie alle kreuztabellierten Daten klar sehen, Spaltengruppen verwenden können, um komplexe Analysen zu organisieren, und Sortierung anwenden können, um Muster schnell zu finden.
{% endhint %}

### Infotext zur Tabelle hinzufügen

Fügen Sie Ihrer Tabelle einen Infotext hinzu, um Betrachtern zusätzlichen Kontext und Erklärungen zu bieten:

1. In den allgemeinen Diagrammeinstellungen finden Sie das Feld **Infotext**
2. Geben Sie bis zu 500 Zeichen erklärenden Text ein
3. Ein Info-Symbol (ⓘ) erscheint neben dem Tabellentitel
4. Betrachter können auf das Symbol klicken, um Ihren Infotext in einem kleinen Fenster zu lesen

**Wofür Infotext bei Tabellen verwenden:**

* **Spaltenerklärungen**: Was bedeuten die einzelnen Spalten und wie wurden sie berechnet?
* **Sortierung/Filterung**: Welche Daten werden angezeigt? Nach welchen Kriterien gefiltert?
* **Aktualisierung**: Wie aktuell sind die Daten? Wann wurde die Tabelle zuletzt aktualisiert?
* **Einheiten und Formate**: Was bedeuten die Zahlen? Welche Einheiten werden verwendet?
* **Handlungshinweise**: Was sollten Betrachter in den Daten beachten?

**Beispiel-Infotexte für Tabellen:**

* "Übersicht aller aktiven Projekte (Stand: 15.01.2025). Spalten: Name, Abteilung, Budget (in €), Fortschritt (in %), Deadline. Sortiert nach Deadline (aufsteigend)."
* "Top 20 Bezirke nach Einwohnerzahl. Quelle: Einwohnermeldeamt. Die Spalte 'Veränderung' zeigt die prozentuale Änderung zum Vorjahr."
* "Antragsstatus-Übersicht für Q4 2024. Farben: Grün = Abgeschlossen, Gelb = In Bearbeitung, Rot = Überfällig. Daten werden täglich um 6:00 Uhr aktualisiert."

{% hint style="info" %}
Der Infotext ist besonders wertvoll bei komplexen Tabellen mit vielen Spalten oder berechneten Werten, um Betrachtern die Interpretation zu erleichtern.
{% endhint %}

## Darstellungsvariante wählen

Für Tabellendiagramme können Sie zwischen zwei Darstellungsvarianten wählen:

* **Standard** — Die gewohnte Tabelle mit normaler Zeilenhöhe
* **Kompakt** — Engere Zeilen, damit mehr Daten auf einen Blick sichtbar sind. Besonders nützlich bei langen Listen.

Sie finden die Auswahl in den Tabelleneinstellungen unter **Darstellung**.

Außerdem können Sie **Leere Spalten ausblenden** aktivieren. Dann werden Spalten, die in allen Zeilen keinen Wert haben, automatisch nicht angezeigt. Das hält die Tabelle übersichtlich.

## Zusammenfassungszeile

Tabellendiagramme können eine Zusammenfassungszeile anzeigen. So sehen Sie auf einen Blick die wichtigsten Kennzahlen Ihrer Daten, zum Beispiel die Summe aller Werte oder den Durchschnitt.

**So fügen Sie eine Zusammenfassung hinzu:**

1. Suchen Sie die letzte Zeile Ihrer Tabelle. Sie ist farblich hervorgehoben.
2. Klicken Sie auf eine Zelle in dieser Zeile
3. Wählen Sie die gewünschte Berechnung:

| Berechnung       | Beschreibung               | Beispiel                       |
| ---------------- | -------------------------- | ------------------------------ |
| **Summe**        | Alle Werte zusammenzählen  | Gesamtbudget aller Abteilungen |
| **Anzahl**       | Wie viele Einträge gibt es | Anzahl der Einträge            |
| **Durchschnitt** | Mittelwert berechnen       | Durchschnittliche Kosten       |
| **Minimum**      | Kleinster Wert             | Niedrigster Betrag             |
| **Maximum**      | Größter Wert               | Höchster Betrag                |

{% hint style="info" %}
Die Zusammenfassung wird direkt in der Tabelle berechnet. Sie aktualisiert sich automatisch, wenn Sie Filter anwenden oder die Daten sich ändern.
{% endhint %}

## Erweiterte Tabellenfunktionen

### Spaltengruppen im Detail

Spaltengruppen helfen dabei, komplexe Tabellen mit vielen Spalten zu organisieren:

**In regulären Tabellen:**

* Gruppieren Sie verwandte Metriken (wie "Finanzmetriken", "Leistungsindikatoren")
* Erstellen Sie logische Abschnitte, die der Art entsprechen, wie Menschen über die Daten denken
* Machen Sie breite Tabellen leichter zu scannen und zu verstehen

**In Pivot-Tabellen:**

* Gruppieren Sie Zeiträume (Q1, Q2, Q3, Q4 unter "2024 Quartale")
* Organisieren Sie demografische Aufschlüsselungen (Altersgruppen unter "Demografie")
* Trennen Sie verschiedene Metriktypen ("Zählungen" vs "Prozentsätze")

**Wie man Gruppen effektiv nutzt:**

1. Beginnen Sie mit Ihrer wichtigsten Gruppierung
2. Verwenden Sie klare, beschreibende Gruppennamen
3. Begrenzen Sie auf maximal 3-4 Gruppen für Lesbarkeit
4. Ordnen Sie Gruppen nach Wichtigkeit oder logischem Ablauf

### Spaltenfarbgebung

Machen Sie Datenmuster mit automatischer Farbgebung sichtbar:

**Heatmap-Färbung**:

* Hintergrundfarben basierend auf Werten (höhere Werte = dunklere Farben)
* Perfekt für die schnelle Identifizierung von Ausreißern und Mustern
* Gut für Budgetvarianzen, Leistungsmetriken, Bevölkerungsdichte

**Textfärbung**:

* Textfarbe ändert sich basierend auf Werten
* Nützlich für Statusindikatoren, positive/negative Werte
* Weniger visuell überwältigend als Hintergrundfarben

### Zahlenformatierung in Spalten

Für jede Spalte können Sie die Darstellung von Zahlen individuell anpassen:

**Formatierungsoptionen:**

1. Klicken Sie auf die drei Punkte `•••` neben einer Spalte
2. Wählen Sie **"Formatierung"** aus dem Menü
3. Konfigurieren Sie die gewünschten Optionen:
   * **Dezimalstellen erzwingen** - Zeigt immer eine feste Anzahl von Dezimalstellen
   * **Tausendertrennzeichen** - Macht große Zahlen leichter lesbar
   * **Datum/Uhrzeit-Format** - Wählen Sie die Anzeige für Datums-/Uhrzeitwerte

**Praktische Anwendungsbeispiele:**

* **Finanzspalten**: Zwei Dezimalstellen für Währungsbeträge ("1.234,56 €")
* **Bevölkerungszahlen**: Tausendertrennzeichen für große Werte ("1.234.567")
* **Prozentsätze**: Eine Dezimalstelle für Balance zwischen Präzision und Lesbarkeit ("87,5%")
* **Messungen**: Drei Dezimalstellen für präzise wissenschaftliche Werte ("3,142")

{% hint style="info" %}
Die Formatierung wird pro Spalte gespeichert und bleibt erhalten, wenn Sie die Tabelle aktualisieren oder Filter anwenden.
{% endhint %}

### Zeilenumbrüche in Textspalten

Für Textspalten können Sie steuern, wie lange Texte umgebrochen werden:

**Umbruchoptionen:**

1. Klicken Sie auf die drei Punkte `•••` neben einer Textspalte
2. Wählen Sie **"Formatierung"** aus dem Menü
3. Unter **"Zeilenumbrüche"** wählen Sie eine Option:
   * **Automatisch** (Standard) - Bricht Text automatisch mit Silbentrennung um
   * **Leerzeichen** - Bricht nur an Leerzeichen (Wortgrenzen) um, keine Silbentrennung
   * **Nie** - Kein Umbruch, Text bleibt in einer Zeile (wird abgeschnitten bei Überlauf)

**Wann welche Option verwenden:**

* **Automatisch verwenden**, wenn:
  * Sie schmale Spalten haben und maximale Platznutzung brauchen
  * Lange Wörter oder URLs umgebrochen werden sollen
  * Silbentrennung die Lesbarkeit verbessert
  * Beispiel: Lange Adressen, zusammengesetzte Wörter
* **Leerzeichen verwenden**, wenn:
  * Sie natürliche Wortgrenzen bevorzugen
  * Keine Silbentrennung gewünscht ist
  * Normale Textabsätze gut lesbar sein sollen
  * Beispiel: Beschreibungstexte, Kommentare, Namen
* **Nie verwenden**, wenn:
  * Werte in einer Zeile bleiben müssen
  * Horizontales Scrollen akzeptabel ist
  * Die Zeilenhöhe konstant bleiben soll
  * Beispiel: IDs, Codes, kurze Kategorienamen

**Praktische Beispiele:**

* **E-Mail-Spalte** mit "Automatisch" → `max.mustermann@sehr-lange-domain.de` wird umgebrochen
* **Kommentarspalte** mit "Leerzeichen" → Text wird an Wortgrenzen umgebrochen, Wörter bleiben intakt
* **ID-Spalte** mit "Nie" → `ABC-123-DEF-456` bleibt in einer Zeile

{% hint style="info" %}
Die Umbrucheinstellung wirkt sich auf die Zeilenhöhe aus. "Automatisch" und "Leerzeichen" können zu unterschiedlich hohen Zeilen führen, während "Nie" alle Zeilen gleich hoch hält.
{% endhint %}

### Unterschiede zwischen Tabelle und Datentabelle

**Tabellendiagramme (Reiter "Diagramm")**

* **Zweck**: Saubere, polierte Präsentationen für Berichte und Sharing
* **Features**: Benutzerdefinierte Titel, Beschreibungen, Paginierung, Spaltengruppen, Farbgebung
* **Sortierung**: Alle Spalten standardmäßig sortierbar, kann pro Spalte deaktiviert werden
* **Am besten für**: Abschlussberichte, Dashboards, Präsentationen für Stakeholder

**Datentabellen (Reiter "Daten")**

* **Zweck**: Interaktive Erkundung und Analyse von Rohdaten
* **Erweiterte Features**:
  * **Interaktive Header** mit Inline-Spaltenumbenennung
  * **Erweiterte Filterung** mit mehreren Operatoren pro Spalte
  * **Spaltenverwaltung** (Spalten hinzufügen, entfernen, neu ordnen)
  * **Copy-to-Clipboard** Funktionalität für jede Zelle
  * **Zeilenlimit-Steuerelemente** bis zu 15.000 Zeilen mit Leistungsoptimierung
  * **Typbewusstes Zell-Rendering** für Daten, Zahlen und Text
  * **Filterstatus-Indikatoren** zeigen aktive Filter und Sortierung
* **Am besten für**: Datenerkundung, Mustererkennung, Verständnis der Datenqualität

## Fehlerbehebung häufiger Probleme

### "Meine Tabelle zeigt keine Daten"

* **Datenquelle prüfen**: Überprüfen Sie, ob Ihre Auswertung Daten im Daten-Reiter hat
* **Filter überprüfen**: Stellen Sie sicher, dass Filter nicht alle Ihre Daten ausschließen
* **Spalten verifizieren**: Stellen Sie sicher, dass ausgewählte Spalten Werte enthalten
* **Siehe auch**: [Auswertung erstellen](/auswertungen/auswertung-erstellen) für Datenkonfigurationshilfe

### "Spalten sind zu schmal/breit"

* **Auto-Größenanpassung**: Die meisten Spalten passen sich automatisch basierend auf Inhalt an
* **Manuelle Anpassung**: Ziehen Sie Spaltenränder in der Vorschau, um die Größe zu ändern
* **Inhaltslänge**: Sehr langer Text benötigt möglicherweise manuelle Breiteneinstellung
* **Siehe auch**: [Visualisierungseinstellungen](/auswertungen/visualisierungen) für allgemeine Diagrammanpassung

### "Zu viele Spalten, um sie klar zu sehen"

* **Spaltengruppen verwenden**: Organisieren Sie verwandte Spalten unter Gruppenüberschriften
* **Unnötige Spalten entfernen**: Konzentrieren Sie sich nur auf die wichtigsten Metriken
* **Mehrere Tabellen erwägen**: Teilen Sie komplexe Daten in fokussierte Tabellendiagramme auf
* **Export-Option**: Verwenden Sie Datenexport für vollständigen Datensatzzugriff
* **Siehe auch**: [Datenexport](/datensaetze/daten-exportieren) für das Herunterladen vollständiger Daten

### "Pivot-Tabelle zeigt leere Zellen"

* **Datenkombinationen prüfen**: Nicht jede Zeilen-/Spaltenkombination hat möglicherweise Daten
* **Daten filtern**: Reduzieren Sie den Umfang, um sich auf relevante Kombinationen zu konzentrieren
* **Beziehungen verifizieren**: Stellen Sie sicher, dass Ihre Zeilen- und Spaltenkategorien tatsächlich übereinstimmen
* **Siehe auch**: [Pivot-Tabellen](/auswertungen/pivot-tabellen) für detaillierte Pivot-Fehlerbehebung

### "Tabelle lädt zu langsam"

* **Paginierung hinzufügen**: Teilen Sie große Datensätze in kleinere Seiten auf
* **Daten zuerst filtern**: Reduzieren Sie die Menge der angezeigten Daten
* **Spalten begrenzen**: Zeigen Sie nur wesentliche Informationen
* **Aggregation erwägen**: Verwenden Sie zusammengefasste Daten anstelle von Rohdatensätzen
* **Siehe auch**: [Aggregation](/auswertungen/aggregation) für Datenzusammenfassungstechniken

### "Sortierung funktioniert nicht wie erwartet"

* **Datentypen**: Stellen Sie sicher, dass Zahlen als Zahlen gespeichert sind, nicht als Text
* **Gemischte Daten**: Spalten mit gemischten Datentypen könnten unerwartet sortieren
* **Benutzerdefinierte Sortierung**: Einige Daten benötigen möglicherweise spezifische Sortierlogik
* **Siehe auch**: [Datentypen](https://github.com/polyteia-de/docs/tree/prod/help-center/de/datensaetze/daten-erkunden.md) für das Verständnis von Datenformaten

{% hint style="success" %}
**Denken Sie daran**: Tabellendiagramme sind am effektivsten, wenn Ihre Daten bereits gut organisiert und sauber sind. Wenn Sie Anzeigsprobleme haben, liegt das Problem möglicherweise in der Datenvorbereitungsphase und nicht in der Diagrammkonfiguration.
{% endhint %}


# Liniendiagramm

Erstellen und konfigurieren Sie Liniendiagramme in der Polyteia-Plattform.

Verwenden Sie ein Liniendiagramm, um zu zeigen, wie sich Werte im Zeitverlauf ändern. Es eignet sich perfekt für zeitbasierte Auswertungen wie Registrierungen pro Tag, Umsatz pro Monat oder Kundenzahlen pro Woche.

Sie können:

* Einen **Titel** und eine **Beschreibung** festlegen
* Eine **Zeitspalte** für die X-Achse auswählen
* Eine **Wertspalte** für die Y-Achse festlegen
* Optional die Linie nach einer **Metrik** aufteilen
* Den Linienstil anpassen (linear, geschwungen, stufenförmig)
* **Erweiterte Tooltips** mit zusätzlichem Datenkontext
* **Bereiche markieren**, um wichtige Zeiträume hervorzuheben

Das **Liniendiagramm** ist ideal, um Veränderungen und Trends über die Zeit zu zeigen. Jeder Punkt auf der Linie repräsentiert einen Wert zu einem bestimmten Zeitpunkt, und die Linien verbinden die Werte, sodass Sie sehen können, wie sich die Entwicklung vollzieht.

Sie können Ihre Daten auch in mehrere Linien aufteilen (z. B. nach Geschlecht oder Kategorie), um Trends zu vergleichen.

## Wie man ein Liniendiagramm erstellt

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie im Dropdown-Menü **Diagrammtyp** die Option **Liniendiagramm**
3. Wählen Sie eine zeitbasierte Spalte (z. B. **Datum**, **Abonnementdatum**) für die **X-Achse**
4. Wählen Sie eine numerische Spalte (z. B. **Kundenanzahl**) für die **Y-Achse**
5. Fügen Sie optional eine **Metrik** hinzu, um separate Linien für verschiedene Kategorien anzuzeigen

### X-Achsen-Spalte

Verwenden Sie eine Spalte mit **Daten oder Uhrzeiten** - dies erstellt die Zeitleiste für Ihr Diagramm.

Beispiele:

* **Abonnementdatum**
* **Erstellt am**
* **Monat**

Sie können auch das Beschriftungslayout anpassen (horizontal, rotiert, alternierend), um lange Datumsbezeichnungen besser darzustellen.

#### X-Achsen-Beschriftungen anzeigen

Bei Diagrammen mit vielen Datenpunkten können sich die Beschriftungen auf der X-Achse überlappen. Sie können steuern, wie Beschriftungen angezeigt werden:

* **Automatisch** (Standard) - Zeigt nur jede n-te Beschriftung an, um Überlappungen zu vermeiden
* **Alle anzeigen** - Zeigt jede Beschriftung an, auch wenn sie sich überlappen können

**Wann "Alle anzeigen" aktivieren:**

* Bei Diagrammen mit wenigen Datenpunkten (z. B. 12 Monate)
* Wenn jeder Datenpunkt beschriftet sein muss
* Bei ausreichend Platz auf der X-Achse
* Wenn Sie das Beschriftungslayout bereits angepasst haben (rotiert/alternierend)

**Wann "Automatisch" verwenden:**

* Bei vielen Datenpunkten (z. B. tägliche Daten über ein Jahr)
* Um eine saubere, übersichtliche Darstellung zu gewährleisten
* Wenn Überlappungen die Lesbarkeit beeinträchtigen würden

{% hint style="info" %}
Die automatische Beschriftung zeigt intelligent nur so viele Labels an, wie in den verfügbaren Platz passen. Sie können die Darstellung zusätzlich durch die Wahl des Beschriftungslayouts optimieren.
{% endhint %}

### Y-Achsen-Spalte

Wählen Sie eine Zahl oder Berechnung, die Sie über die Zeit darstellen möchten.

Beispiele:

* Anzahl der Kunden
* Durchschnittliche Bewertung
* Umsatz

Die Y-Achse bestimmt die Höhe der Punkte auf der Linie.

### Y-Achsen-Datenbereich

Die Y-Achse passt sich automatisch an Ihre Daten an, um alle Werte optimal darzustellen. Sie können diesen Bereich auch manuell festlegen:

1. In den Diagrammeinstellungen finden Sie **Y-Achsen-Datenbereich**
2. **Automatischer Bereich** (Standard) - Die Achse passt sich an Ihre Datenwerte an
3. **Manueller Bereich** - Legen Sie Minimum und Maximum selbst fest

**Wann manuellen Bereich verwenden:**

* Vergleich mehrerer Diagramme mit gleicher Skala
* Fester Wertebereich für konsistente Darstellung
* Hervorhebung kleiner Unterschiede durch engeren Bereich

{% hint style="info" %}
Bei Liniendiagrammen mit mehreren Metriken empfiehlt sich oft der automatische Bereich für optimale Darstellung aller Werte.
{% endhint %}

### Fehlende Werte behandeln

Wenn Ihr Datensatz Lücken aufweist (fehlende Datenpunkte), können Sie steuern, wie das Liniendiagramm damit umgeht:

**Optionen:**

* **Leer** (Standard) - Zeigt eine Lücke in der Linie, wo Daten fehlen
* **Null** - Ersetzt fehlende Datenpunkte mit dem Wert 0

**Wann welche Option verwenden:**

* **Leer verwenden**, wenn:
  * Die Abwesenheit von Daten bedeutungsvoll ist
  * Sie zeigen möchten, dass keine Messung/Erfassung stattfand
  * Lücken im Trend sichtbar sein sollen
  * Beispiel: Sensor-Ausfälle, fehlende Meldungen
* **Null verwenden**, wenn:
  * Fehlende Daten als "keine Aktivität" interpretiert werden sollten
  * Sie eine durchgehende Linie ohne Unterbrechungen benötigen
  * Der Wert 0 semantisch korrekt ist
  * Beispiel: Keine Registrierungen = 0 Registrierungen

{% hint style="warning" %}
**Wichtig**: Die Wahl zwischen "Leer" und "Null" kann die Interpretation Ihrer Daten erheblich beeinflussen. Überlegen Sie genau, was fehlende Daten in Ihrem Kontext bedeuten.
{% endhint %}

### Metrik (optional)

Wenn Sie eine **Metrik** hinzufügen, zeichnet das Diagramm **eine Linie pro Gruppe** in dieser Spalte.

Beispiel:

* Wenn Sie **Geschlecht** als Metrik festlegen, sehen Sie eine Linie für "männlich" und eine für "weiblich"

Dies eignet sich hervorragend für den Vergleich von Trends über mehrere Kategorien hinweg.

### Linieninterpolation

Wählen Sie, wie die Linien gezeichnet werden:

* **Linear** - gerade Linien zwischen den Punkten
* **Geschwungen** - gebogene Linien (weicheres Erscheinungsbild)
* **Stufenförmig** - abgestufte Linien, die sich wie eine Treppe verändern

Probieren Sie verschiedene Stile aus, um zu sehen, welcher am besten zu Ihren Daten passt.

### Wertbeschriftungen

Sie können **Wertbeschriftung anzeigen** aktivieren, um die Zahl an jedem Punkt auf der Linie anzuzeigen. Dies kann für Präsentationen oder beim Vergleich exakter Werte nützlich sein.

### Zahlenformatierung

Passen Sie an, wie Zahlen in Ihrem Diagramm dargestellt werden:

**Formatierungsoptionen:**

* **Dezimalstellen erzwingen** - Zeigt immer eine feste Anzahl von Dezimalstellen (z. B. "42.00" statt "42")
* **Tausendertrennzeichen** - Erleichtert das Lesen großer Zahlen (z. B. "1.234.567")
* **Datum/Uhrzeit-Format** - Wählen Sie zwischen Datum, Uhrzeit oder beides für die X-Achse

**Anwendungsfälle:**

* **Finanzielle Trends**: Zwei Dezimalstellen für konsistente Währungsdarstellung
* **Bevölkerungsdaten**: Tausendertrennzeichen für bessere Lesbarkeit großer Zahlen
* **Prozentuale Veränderungen**: Eine Dezimalstelle für Balance zwischen Präzision und Klarheit

{% hint style="info" %}
Die Formatierungseinstellungen bleiben erhalten, wenn Sie zwischen verschiedenen Diagrammtypen wechseln.
{% endhint %}

### Erweiterte Beschriftungen

Wenn Nutzer mit der Maus über Punkten auf Ihrer Linie schweben, können sie detaillierte Informationen sehen. Hier können Sie zusätzlichen Kontext hinzufügen, um die Daten hilfreicher zu machen:

1. In den Diagrammeinstellungen suchen Sie nach **Zusätzliche Beschriftungen**
2. Klicken Sie **Beschriftung hinzufügen**, um weitere Datenspalten einzubeziehen
3. Wählen Sie, welche **Spalte** angezeigt werden soll (wie "Bezirk" oder "Programmtyp")
4. Fügen Sie eine **benutzerdefinierte Beschriftung** hinzu, wenn Sie eine klarere Benennung wünschen
5. Ziehen Sie, um die Informationen neu zu ordnen

**Beispiel**: Für ein Diagramm, das Krankheitsfälle über die Zeit verfolgt, könnten Sie "Bevölkerung" und "Testrate" hinzufügen, damit Menschen den Kontext hinter den Zahlen verstehen können.

Dies ist besonders nützlich für Zeitreihendaten, bei denen Sie verwandte Informationen neben dem Haupttrend anzeigen möchten.

### Bereiche markieren

Heben Sie wichtige Zeiträume oder Bereiche auf Ihrem Diagramm mit farbigen Hintergrundbereichen hervor:

1. In den Diagrammeinstellungen finden Sie **Bereiche markieren**
2. Fügen Sie eine **Beschriftung** für den Bereich hinzu (wie "Grippesaison" oder "Pandemie")
3. Wählen Sie den **Startwert** aus Ihren Daten (wann der Zeitraum beginnt)
4. Wählen Sie den **Endwert** aus Ihren Daten (wann der Zeitraum endet)
5. Der Bereich erscheint als farbiges Highlight hinter Ihrer Linie

**Beispiel**: Für ein Diagramm, das Krankheitsfälle über die Zeit verfolgt, könnten Sie den "Wintersaison"-Bereich von Dezember bis Februar markieren, um zu zeigen, wann Fälle typischerweise ansteigen.

**Anwendungsfälle**:

* Hervorhebung von Richtlinienumsetzungszeiten
* Kennzeichnung saisonaler Muster
* Anzeige von Zielerreichungszeiten
* Betonung von Notfallreaktionszeiten

**Tipp**: Verwenden Sie klare, beschreibende Beschriftungen, die Betrachtern helfen zu verstehen, warum der Zeitraum wichtig ist.

### Infotext zur Visualisierung hinzufügen

Fügen Sie Ihrer Visualisierung einen Infotext hinzu, um Betrachtern zusätzlichen Kontext und Erklärungen zu bieten:

1. In den allgemeinen Diagrammeinstellungen finden Sie das Feld **Infotext**
2. Geben Sie bis zu 500 Zeichen erklärenden Text ein
3. Ein Info-Symbol (ⓘ) erscheint neben dem Diagrammtitel
4. Betrachter können auf das Symbol klicken, um Ihren Infotext in einem kleinen Fenster zu lesen

**Wofür Infotext verwenden:**

* **Methodenerklärung**: Wie wurden die Daten erhoben oder berechnet?
* **Kontext bereitstellen**: Was bedeuten die Werte? Welche Einheiten werden verwendet?
* **Auffälligkeiten erklären**: Warum gibt es Spitzen oder Lücken in den Daten?
* **Handlungshinweise**: Was sollten Betrachter aus dem Diagramm mitnehmen?
* **Datenquelle**: Woher stammen die Daten und wann wurden sie aktualisiert?

**Beispiel-Infotexte:**

* "Dieses Diagramm zeigt die täglichen COVID-19-Neuinfektionen. Die Daten stammen vom RKI und werden täglich um 0:00 Uhr aktualisiert. Wochenenden zeigen oft niedrigere Werte aufgrund verzögerter Meldungen."
* "Umsatz in Euro pro Monat. Der starke Anstieg im Dezember ist auf das Weihnachtsgeschäft zurückzuführen. Stand: 15.01.2025"
* "Durchschnittliche Bearbeitungszeit in Tagen. Zielwert: unter 14 Tage. Datenquelle: Internes Ticketsystem."

{% hint style="info" %}
Der Infotext wird im gesamten System gespeichert - sowohl in Auswertungen als auch in Berichten, in denen die Visualisierung eingebettet ist. So haben Betrachter immer Zugriff auf wichtige Kontextinformationen.
{% endhint %}

## Wann man ein Liniendiagramm verwenden sollte

Liniendiagramme funktionieren am besten, wenn:

* Sie sehen möchten, wie sich etwas im Laufe der Zeit verändert
* Sie mehrere Gruppen über denselben Zeitraum vergleichen möchten
* Sie Muster, Spitzen oder Trends analysieren

Wenn Ihre Kategorien nicht zeitbasiert sind, verwenden Sie stattdessen ein Balkendiagramm.


# Balkendiagramm

Erstellen und konfigurieren Sie Balkendiagramme in der Polyteia-Plattform.

Verwenden Sie ein Balkendiagramm, um Werte zwischen Kategorien zu vergleichen. Zum Beispiel: wie viele Kunden jedes Land hat. Sie können Balken nebeneinander (Gruppe), gestapelt (Stapel) oder als Prozentsatz (Stapel %) anzeigen.

Sie können anpassen:

* Den **Titel** und die **Beschreibung**
* Die **X-Achse** (Kategorie) und **Y-Achse** (Wert)
* Das **Layout** (vertikale oder horizontale Balken)
* Die **Metrik** (Aufschlüsselung nach Unterkategorie wie Geschlecht)
* Ob Werte **gruppiert** oder **gestapelt** werden
* **Tooltips** mit zusätzlichen Datenfeldern für mehr Kontext
* **Bereiche markieren**, um spezifische Kategorien oder Bereiche hervorzuheben

Das **Balkendiagramm** ist eine der flexibelsten Möglichkeiten, um Werte zwischen Kategorien zu vergleichen. Es eignet sich hervorragend, um Unterschiede zwischen Gruppen wie Ländern, Regionen, Produkten oder Altersgruppen zu zeigen.

Sie können zwischen **vertikalem** und **horizontalem** Layout wechseln und sogar Werte nach einer zweiten Kategorie aufschlüsseln, indem Sie die Optionen **Metrik** und **Gruppierung** nutzen.

## Wie man ein Balkendiagramm erstellt

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie im Dropdown-Menü **Diagrammtyp** die Option **Balkendiagramm**
3. Wählen Sie das Layout **Vertikal** oder **Horizontal**
4. Bestimmen Sie Ihre Spalten für **X-Achse** und **Y-Achse**

### X-Achsen-Spalte

Diese definiert die **Kategorien** für Ihre Balken - zum Beispiel:

* **Land**
* **Region**
* **Abteilung**

Jeder eindeutige Wert wird zu einem Balken (oder einer Gruppe von Balken).

### Y-Achsen-Spalte

Dies ist der **Wert**, der angezeigt wird - zum Beispiel:

* Anzahl der Kunden
* Durchschnittliche Bewertung
* Gesamtumsatz

Die Höhe (oder Länge) des Balkens spiegelt den Wert wider.

### Y-Achsen-Datenbereich

Die Y-Achse passt sich automatisch an Ihre Daten an, um alle Werte optimal darzustellen. Sie können diesen Bereich auch manuell festlegen:

1. In den Diagrammeinstellungen finden Sie **Y-Achsen-Datenbereich**
2. **Automatischer Bereich** (Standard) - Die Achse passt sich an Ihre Datenwerte an
3. **Manueller Bereich** - Legen Sie Minimum und Maximum selbst fest

**Wann manuellen Bereich verwenden:**

* Vergleich mehrerer Diagramme mit gleicher Skala
* Fester Wertebereich für konsistente Darstellung
* Hervorhebung kleiner Unterschiede durch engeren Bereich

{% hint style="warning" %}
Bei gestapelten Balkendiagrammen (Stapel %) wird der Datenbereich automatisch auf 0-100% gesetzt und kann nicht manuell angepasst werden.
{% endhint %}

### Titel und Beschreibung

Im oberen Bereich der Diagrammeinstellungen können Sie:

* Einen benutzerdefinierten **Titel** festlegen (Standard ist der Name der Auswertung)
* Eine **Beschreibung** hinzufügen, um zu erklären, was das Diagramm zeigt

Dies hilft beim Teilen oder Einbetten des Diagramms.

### Anzeigen von Wertbeschriftungen

Sie können **Wertbeschriftung anzeigen** umschalten, um die Zahl über jedem Balken anzuzeigen, wodurch das Diagramm auf einen Blick leichter zu lesen ist.

### Zahlenformatierung

Passen Sie an, wie Zahlen in Ihrem Diagramm dargestellt werden:

**Formatierungsoptionen:**

* **Dezimalstellen erzwingen** - Zeigt immer eine feste Anzahl von Dezimalstellen (z. B. "42.00" statt "42")
* **Tausendertrennzeichen** - Erleichtert das Lesen großer Zahlen (z. B. "1.234.567")
* **Datum/Uhrzeit-Format** - Wählen Sie zwischen Datum, Uhrzeit oder beides (für datumsbasierte Kategorien)

**Anwendungsfälle:**

* **Budgetvergleiche**: Zwei Dezimalstellen für einheitliche Währungsdarstellung
* **Einwohnerzahlen**: Tausendertrennzeichen für große Bevölkerungswerte
* **Leistungsmetriken**: Eine Dezimalstelle für Prozentsätze und Durchschnittswerte

{% hint style="info" %}
Die Formatierungseinstellungen bleiben erhalten, wenn Sie später zwischen verschiedenen Diagrammtypen wechseln.
{% endhint %}

### Beschriftungen anpassen

Wenn Nutzer mit der Maus über Ihren Balken schweben, sehen sie eine Beschriftung mit weiteren Informationen. Sie können zusätzliche Details hinzufügen, um die Daten nützlicher zu machen:

1. In den Diagrammeinstellungen scrollen Sie zu **Zusätzliche Beschriftungen**
2. Klicken Sie **Beschriftung hinzufügen**, um weitere Informationen aus Ihren Daten einzubeziehen
3. Wählen Sie eine **Spalte** aus Ihrem Datensatz (wie "Bevölkerung" oder "Budget")
4. Fügen Sie einen **benutzerdefinierten Beschriftungsnamen** hinzu, wenn Sie möchten (andernfalls wird der Spaltenname verwendet)
5. Ziehen Sie Beschriftungen, um sie in die gewünschte Reihenfolge zu bringen

**Beispiel**: Für ein Diagramm, das Impfraten nach Bezirk zeigt, könnten Sie "Gesamtbevölkerung" und "Gesundheitszentren" hinzufügen, um Menschen mehr Kontext zu geben, wenn sie über jeden Balken schweben.

**Tipp**: Ihre Tooltip-Einstellungen bleiben gleich, wenn Sie später zu einem anderen Diagrammtyp wechseln.

### Bereiche markieren

Heben Sie spezifische Kategorien oder Bereiche auf Ihrem Diagramm mit farbigen Hintergrundbereichen hervor:

1. In den Diagrammeinstellungen suchen Sie nach **Bereiche markieren**
2. Fügen Sie eine **Beschriftung** für den Bereich hinzu (wie "Zielbezirke" oder "Hohe Priorität")
3. Wählen Sie den **Startwert** aus Ihren Kategorien (wo die Hervorhebung beginnt)
4. Wählen Sie den **Endwert** aus Ihren Kategorien (wo die Hervorhebung endet)
5. Der Bereich erscheint als farbiges Highlight hinter Ihren Balken

**Beispiel**: Für ein Diagramm, das Impfraten nach Bezirk zeigt, könnten Sie "Stadtbezirke" von Bezirk A bis Bezirk E markieren, um zu zeigen, welche Gebiete unterschiedliche Merkmale haben.

**Anwendungsfälle**:

* Verwandte Kategorien zusammengruppieren
* Prioritätsregionen oder Abteilungen hervorheben
* Ziel- vs. tatsächliche Leistungsbereiche zeigen
* Spezifische Programmbereiche betonen

**Tipp**: Bereiche markieren funktioniert am besten, wenn Ihre Kategorien eine logische Reihenfolge haben, wie Bezirke nach geografischer Lage oder Abteilungen nach Budgetgröße.

#### Verwendung des Metrik-Felds (optional)

Möchten Sie jeden Balken nach einer zweiten Variable wie Geschlecht oder Status aufschlüsseln?

1. Fügen Sie eine Spalte zum Feld **Metrik** hinzu - zum Beispiel: **Geschlecht**
2. Wählen Sie eine **Gruppierungsoption**:
   * **Gruppe** - Balken erscheinen nebeneinander für jeden Metrikwert
   * **Stapel** - Balken werden übereinander gestapelt
   * **Stapel %** - Balken zeigen prozentualen Anteil

Beispiel:\
Wenn Sie Land als X-Achse und Geschlecht als Metrik festlegen, sehen Sie Balken für jedes Geschlecht innerhalb jedes Landes.

#### Beschriftungslayout

Wenn Ihre Kategorienamen lang sind, ändern Sie das **X-Achsen-Beschriftungslayout**:

* **Normal** - standardmäßige horizontale Beschriftungen
* **Rotieren** - diagonales Layout
* **Abwechselnd** - versetztes Layout

#### X-Achsen-Beschriftungen anzeigen

Bei Diagrammen mit vielen Kategorien können sich die Beschriftungen auf der X-Achse überlappen. Sie können steuern, wie Beschriftungen angezeigt werden:

* **Automatisch** (Standard) - Zeigt nur jede n-te Beschriftung an, um Überlappungen zu vermeiden
* **Alle anzeigen** - Zeigt jede Beschriftung an, auch wenn sie sich überlappen können

**Wann "Alle anzeigen" aktivieren:**

* Bei Diagrammen mit wenigen Kategorien (z. B. 5-15 Balken)
* Wenn jede Kategorie beschriftet sein muss
* Bei ausreichend Platz auf der X-Achse
* Wenn Sie das Beschriftungslayout bereits angepasst haben (rotiert/alternierend)

**Wann "Automatisch" verwenden:**

* Bei vielen Kategorien (z. B. 50+ Bezirke oder Abteilungen)
* Um eine saubere, übersichtliche Darstellung zu gewährleisten
* Wenn Überlappungen die Lesbarkeit beeinträchtigen würden

{% hint style="info" %}
Die automatische Beschriftung zeigt intelligent nur so viele Labels an, wie in den verfügbaren Platz passen. Bei horizontalen Balkendiagrammen ist dies meist kein Problem, da die Beschriftungen vertikal angeordnet sind.
{% endhint %}

### Infotext zur Visualisierung hinzufügen

Fügen Sie Ihrer Visualisierung einen Infotext hinzu, um Betrachtern zusätzlichen Kontext und Erklärungen zu bieten:

1. In den allgemeinen Diagrammeinstellungen finden Sie das Feld **Infotext**
2. Geben Sie bis zu 500 Zeichen erklärenden Text ein
3. Ein Info-Symbol (ⓘ) erscheint neben dem Diagrammtitel
4. Betrachter können auf das Symbol klicken, um Ihren Infotext in einem kleinen Fenster zu lesen

**Wofür Infotext verwenden:**

* **Vergleichskontext**: Was wird verglichen und warum?
* **Einheiten erklären**: Welche Maßeinheit wird verwendet?
* **Kategorien erläutern**: Was bedeuten die einzelnen Balken?
* **Benchmarks nennen**: Gibt es Zielwerte oder Schwellenwerte?
* **Datenquelle**: Woher stammen die Daten und wann wurden sie aktualisiert?

**Beispiel-Infotexte:**

* "Anzahl der Bewohner nach Bezirk (Stand: 31.12.2024). Quelle: Einwohnermeldeamt. Der Durchschnitt liegt bei 45.000 Einwohnern pro Bezirk."
* "Budget-Auslastung nach Abteilung in Prozent. Zielwert: unter 95%. Werte über 100% zeigen Budgetüberschreitungen an."
* "Durchschnittliche Bearbeitungszeit in Stunden nach Antragstyp. Daten aus dem letzten Quartal. Ziel: unter 24 Stunden für alle Kategorien."

{% hint style="info" %}
Der Infotext wird im gesamten System gespeichert - sowohl in Auswertungen als auch in Berichten, in denen die Visualisierung eingebettet ist. So haben Betrachter immer Zugriff auf wichtige Kontextinformationen.
{% endhint %}

## Wann man ein Balkendiagramm verwenden sollte

Balkendiagramme funktionieren am besten, wenn:

* Sie mehrere Kategorien zu vergleichen haben
* Sie Trends oder Rankings zeigen möchten
* Sie Werte nach einer anderen Variable aufschlüsseln möchten

Wenn Sie mit Daten arbeiten, sollten Sie stattdessen ein **Liniendiagramm** in Betracht ziehen.


# Kreisdiagramm

Erstellen und konfigurieren Sie Kreisdiagramme in der Polyteia-Plattform.

Kreisdiagramme helfen Ihnen, Proportionen zu visualisieren. Jeder Kreissektor stellt einen Teil des Ganzen dar, basierend auf einer Spalte (der **Beschriftung**) und einem Wert (dem **Messwert**).

Sie können:

* Den **Diagrammtitel** und die **Beschreibung** ändern
* Die **Beschriftung** wählen (was jeder Kreissektor repräsentiert)
* Den **Messwert** wählen (welcher Wert für jeden Kreissektor gezählt wird)
* Zwischen den Stilen **Kreisdiagramm** und **Ringdiagramm** wechseln
* **Tooltips anpassen** mit zusätzlichen Daten für besseren Kontext

Das **Kreisdiagramm** ist eine hervorragende Möglichkeit, um zu zeigen, wie verschiedene Teile ein Ganzes bilden. Es ist besonders nützlich, wenn Sie Kategorien vergleichen möchten - zum Beispiel, wie viele Kunden aus jedem Land kommen.

Sie können zwischen zwei Stilen wählen: einem klassischen **Kreisdiagramm** oder einem **Ringdiagramm** (mit einem Loch in der Mitte). Beide funktionieren auf die gleiche Weise — wählen Sie einfach das, was für Ihre Daten besser aussieht.

## Wie man ein Kreisdiagramm erstellt

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie im Dropdown-Menü **Diagrammtyp** die Option **Kreisdiagramm**
3. Entscheiden Sie, ob Sie ein **Kreisdiagramm** oder ein **Ringdiagramm** möchten
4. Legen Sie Ihre **Beschriftung** und Ihren **Messwert** fest

### Beschriftung

Die **Beschriftung** definiert, was jeder Kreissektor repräsentiert — in der Regel eine Kategorie wie:

* Land
* Produkt
* Region

Beispiel:\
Wenn Ihre Beschriftung **Land** ist, zeigt das Diagramm einen Kreissektor pro Land.

### Messwert

Der **Messwert** definiert, wie groß jeder Kreissektor ist.\
Es muss eine Zahl sein — zum Beispiel:

* Anzahl der Kunden
* Umsatz
* Durchschnittliche Punktzahl

**Beispiel:** Wenn Ihr Messwert **Kundenanzahl** ist, erhalten Länder mit mehr Kunden einen größeren Kreissektor.

### Anpassen von Titel und Beschreibung

Im oberen Bereich der Diagrammeinstellungen können Sie:

* Den **Titel** ändern (Standard ist der Name der Auswertung)
* Eine **Beschreibung** hinzufügen, um zu erklären, was das Diagramm zeigt

Dies ist nützlich, wenn Sie das Diagramm später anzeigen oder exportieren möchten.

### Beschriftungen anpassen

Fügen Sie zusätzlichen Kontext zu Beschreibungen der Kreissektoren hinzu, damit Nutzer mehr Informationen erhalten, wenn sie mit der Maus darüber schweben:

1. In den Diagrammeinstellungen finden Sie **Zusätzliche Beschriftungen**
2. Klicken Sie **Beschriftung hinzufügen**, um weitere Daten aus Ihrem Datensatz einzubeziehen
3. Wählen Sie relevante **Spalten** (wie "Bevölkerung" oder "Wachstumsrate")
4. Fügen Sie **benutzerdefinierte Feldbeschriftungen** für Klarheit hinzu
5. Ordnen Sie Felder in Ihrer bevorzugten Reihenfolge an

**Beispiel**: Für ein Kreisdiagramm, das Budgetverteilung nach Abteilung zeigt, könnten Sie "Anzahl Mitarbeiter" und "Vorjahres-Budget" hinzufügen, um Menschen mehr Kontext zu jedem Sektor zu geben.

**Tipp**: Für Kreisdiagramme wählen Sie zusätzliche Felder, die helfen zu erklären, warum Sektoren unterschiedlich groß sind oder was die Proportionen wirklich bedeuten.

### Infotext zur Visualisierung hinzufügen

Fügen Sie Ihrem Kreisdiagramm einen Infotext hinzu, um die Proportionen und ihre Bedeutung zu erklären:

1. In den allgemeinen Diagrammeinstellungen finden Sie das Feld **Infotext**
2. Geben Sie bis zu 500 Zeichen erklärenden Text ein
3. Ein Info-Symbol (ⓘ) erscheint neben dem Diagrammtitel
4. Betrachter können auf das Symbol klicken, um Ihren Infotext in einem kleinen Fenster zu lesen

**Wofür Infotext bei Kreisdiagrammen verwenden:**

* **Gesamtwert nennen**: Was repräsentiert das "Ganze" (100%)?
* **Kategorien erklären**: Was bedeuten die einzelnen Kreissektoren?
* **Zeitbezug**: Für welchen Zeitraum gelten diese Proportionen?
* **Berechnungsmethode**: Wie wurden die Werte ermittelt?
* **Wichtige Erkenntnisse**: Welche Proportionen sind besonders bemerkenswert?

**Beispiel-Infotexte für Kreisdiagramme:**

* "Verteilung der 2.456 Kundenanfragen nach Typ im Dezember 2024. Die größte Kategorie 'Technischer Support' macht 42% aller Anfragen aus."
* "Budgetaufteilung 2025 (Gesamtbudget: 5,2 Mio. €). Jeder Sektor zeigt den prozentualen Anteil einer Abteilung am Gesamtbudget. Stand: 01.01.2025"
* "Herkunft der 15.234 Website-Besucher im Januar nach Land. Deutschland macht 68% aller Besuche aus. Quelle: Analytics-System."

{% hint style="info" %}
Bei Kreisdiagrammen hilft der Infotext besonders dabei, den absoluten Gesamtwert zu nennen (nicht nur Prozentsätze) und wichtige Proportionen hervorzuheben, die Betrachter beachten sollten.
{% endhint %}

## Wann man ein Kreisdiagramm verwenden sollte

Kreisdiagramme funktionieren am besten, wenn:

* Sie nur wenige Kategorien haben (4–8)
* Die Unterschiede zwischen den Werten aussagekräftig sind
* Sie **Teile eines Ganzen** vergleichen möchten

Wenn Sie zu viele Kategorien haben, verwenden Sie stattdessen besser ein Balkendiagramm. Es ist leichter zu lesen.


# Einzelzahl

Erstellen und konfigurieren Sie Einzelzahl-Diagramme in der Polyteia-Plattform.

Das Einzelzahl-Diagramm zeigt **genau einen Wert**, groß und deutlich. Es ist ideal, um eine zentrale Kennzahl hervorzuheben — wie die Gesamtzahl der Kunden, den durchschnittlichen Umsatz oder die maximale Punktzahl.

Sie können:

* Einen **Titel** und eine **Beschreibung** festlegen
* Die zu aggregierende **Datenspalte** auswählen
* Eine **Aggregationsmethode** bestimmen (Summe, Durchschnitt, Minimum, etc.)

Verwenden Sie diese Darstellung, wenn Sie auf einen Blick eine Kennzahl präsentieren möchten.

## Wie man ein Einzelzahl-Diagramm erstellt

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie **Einzelzahl** als Diagrammtyp aus
3. Wählen Sie im Feld **Datenspalte** die Spalte aus, die Sie zusammenfassen möchten
4. Bestimmen Sie im Dropdown-Menü **Aggregieren**, wie die Zahl berechnet werden soll

### Verfügbare Aggregationen

Bei der Verwendung des Einzelzahl-Diagramms müssen Sie festlegen, wie die endgültige Zahl berechnet werden soll. Das ist die Funktion der Aggregationseinstellung - sie fasst alle Werte in Ihrer ausgewählten Spalte zusammen.

| Aggregation | Funktionsweise                                     |
| ----------- | -------------------------------------------------- |
| **SUM**     | Addiert alle Werte in der Spalte                   |
| **AVG**     | Berechnet den Durchschnitt (arithmetisches Mittel) |
| **MED**     | Ermittelt den Median (mittlerer Wert)              |
| **MIN**     | Zeigt den kleinsten Wert                           |
| **MAX**     | Zeigt den größten Wert                             |

Beispiel:\
Wenn Sie **Anzahl der eindeutigen Werte der Kunden-ID** und **SUM** auswählen, wird die **Gesamtzahl der eindeutigen Kunden** in Ihrem Datensatz angezeigt.

### Zahlenformatierung

Passen Sie an, wie Zahlen in Ihrem Diagramm dargestellt werden:

**Formatierungsoptionen:**

* **Dezimalstellen erzwingen** - Zeigt immer eine feste Anzahl von Dezimalstellen (z. B. "42.00" statt "42")
* **Tausendertrennzeichen** - Erleichtert das Lesen großer Zahlen (z. B. "1.234.567")
* **Datum/Uhrzeit-Format** - Wählen Sie zwischen Datum, Uhrzeit oder beides (nur bei Datums-/Uhrzeitwerten)

**Anwendungsfälle:**

* **Finanzielle Berichte**: Zwei Dezimalstellen erzwingen für einheitliche Währungsdarstellung (z. B. "1.234,56 €")
* **Prozentsätze**: Eine Dezimalstelle für Genauigkeit ohne Überladung (z. B. "87,5 %")
* **Große Zahlen**: Tausendertrennzeichen für bessere Lesbarkeit (z. B. "1.234.567 Einwohner")
* **Messgrößen**: Drei Dezimalstellen für präzise wissenschaftliche Werte (z. B. "3,142")

{% hint style="info" %}
Die Formatierungseinstellungen bleiben erhalten, wenn Sie später zu einem anderen Diagrammtyp wechseln.
{% endhint %}

### Titel und Beschreibung

Wie immer können Sie:

* Den **Titel** ändern (standardmäßig ist dies der Name Ihrer Auswertung)
* Eine **Beschreibung** hinzufügen, um zu erklären, was die Zahl bedeutet

Dies ist besonders hilfreich, wenn Sie das Diagramm in einem Dashboard oder einem Bericht anzeigen.

### Infotext zur Visualisierung hinzufügen

Fügen Sie Ihrer Einzelzahl-Visualisierung einen Infotext hinzu, um die Bedeutung der Kennzahl zu erklären:

1. In den allgemeinen Diagrammeinstellungen finden Sie das Feld **Infotext**
2. Geben Sie bis zu 500 Zeichen erklärenden Text ein
3. Ein Info-Symbol (ⓘ) erscheint neben der Zahl
4. Betrachter können auf das Symbol klicken, um Ihren Infotext in einem kleinen Fenster zu lesen

**Wofür Infotext bei Einzelzahlen verwenden:**

* **Bedeutung erklären**: Was bedeutet diese Kennzahl konkret?
* **Berechnungsmethode**: Wie wurde der Wert ermittelt oder berechnet?
* **Kontext bieten**: Ist dieser Wert gut oder schlecht? Was ist der Zielwert?
* **Zeitbezug**: Für welchen Zeitraum gilt diese Zahl?
* **Einheiten nennen**: In welcher Einheit wird gemessen?

**Beispiel-Infotexte für Einzelzahlen:**

* "Gesamtzahl aktiver Nutzer in den letzten 30 Tagen. Zielwert: 10.000. Ein Nutzer gilt als aktiv, wenn er sich mindestens einmal eingeloggt hat."
* "Durchschnittliche Antwortzeit des Support-Teams in Stunden. Berechnet aus allen geschlossenen Tickets im aktuellen Monat. Ziel: unter 24 Stunden."
* "Gesamtbudget für 2025 in Millionen Euro. Dieser Wert beinhaltet alle genehmigten Projekte und laufenden Kosten. Stand: 01.01.2025"

{% hint style="info" %}
Bei Einzelzahl-Diagrammen ist der Infotext besonders wichtig, da die Zahl allein oft nicht selbsterklärend ist. Nutzen Sie den Infotext, um den Kontext zu liefern, den Betrachter für die richtige Interpretation benötigen.
{% endhint %}

## Wann sollte man ein Einzelzahl-Diagramm verwenden

Verwenden Sie das Einzelzahl-Diagramm, wenn:

* Sie eine zentrale Kennzahl hervorheben möchten
* Sie eine Zusammenfassung oder Übersicht erstellen
* Sie eine einfache und minimalistische Darstellung bevorzugen

Wenn Sie die Zahl nach Kategorien oder über einen Zeitverlauf aufschlüsseln müssen, verwenden Sie stattdessen ein Balken- oder Liniendiagramm.


# Boxplot

Erstellen und konfigurieren Sie Boxplots in der Polyteia-Plattform.

Ein Boxplot zeigt, wie Ihre Zahlen verteilt sind. Stellen Sie sich vor, Sie sortieren alle Werte der Größe nach. Der Boxplot zeigt Ihnen dann auf einen Blick: Wo liegt die Mitte? Wie stark streuen die Werte? Gibt es Ausreißer?

Das ist nützlich, wenn Sie wissen möchten, ob Ihre Daten gleichmäßig verteilt sind oder ob es extreme Werte gibt.

**Vergleich aus dem Alltag:** Stellen Sie sich vor, Sie messen die Bearbeitungszeit von Anträgen. Die meisten Anträge dauern zwischen 5 und 15 Tagen. Ein Boxplot zeigt Ihnen sofort: Der typische Bereich liegt bei 5–15 Tagen. Ein Antrag, der 60 Tage gedauert hat, wird als Ausreißer angezeigt.

### Wann ein Boxplot verwenden?

* Sie möchten die **Verteilung** von Zahlen verstehen
* Sie möchten **Ausreißer** erkennen (Werte, die stark vom Rest abweichen)
* Sie möchten **Gruppen vergleichen** (z. B. Bearbeitungszeiten pro Bezirk)

### Was zeigt der Boxplot?

Ein Boxplot besteht aus fünf Werten:

* **Minimum** – der kleinste Wert (unterer Whisker)
* **Q1** – 25 % der Werte liegen darunter (unterer Rand der Box)
* **Median** – der mittlere Wert (Linie in der Mitte der Box)
* **Q3** – 75 % der Werte liegen darunter (oberer Rand der Box)
* **Maximum** – der größte Wert (oberer Whisker)

{% hint style="info" %}
Die **Box** zeigt den Bereich, in dem die mittleren 50 % Ihrer Daten liegen. Die **Whisker** (Linien) erstrecken sich bis zum kleinsten und größten Wert.
{% endhint %}

## Wie Sie einen Boxplot erstellen

{% stepper %}
{% step %}
**Diagrammtyp auswählen**

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie im Dropdown-Menü **Diagrammtyp** die Option **Boxplot**
   {% endstep %}

{% step %}
**Datenmodus wählen**

Sie können zwischen zwei Datenmodi wählen:

{% tabs %}
{% tab title="Rohdaten" %}
Wählen Sie **Rohdaten**, wenn Ihre Daten einzelne Werte enthalten. Das Programm berechnet die Verteilung automatisch.

1. Wählen Sie eine **Wertespalte** – die Spalte mit den Zahlen, die analysiert werden sollen
2. Optional: Wählen Sie eine **Kategoriespalte** – um die Daten nach Gruppen aufzuteilen (z. B. nach Bezirk oder Abteilung)

**Beispiel:** Sie haben eine Liste mit Bearbeitungszeiten. Wählen Sie "Bearbeitungszeit" als Wertespalte und "Bezirk" als Kategoriespalte. So sehen Sie die Verteilung pro Bezirk.
{% endtab %}

{% tab title="Vorberechnet" %}
Wählen Sie **Vorberechnet**, wenn Ihre Daten bereits die statistischen Werte enthalten (Minimum, Q1, Median, Q3, Maximum).

Wählen Sie je eine Spalte für:

* **Minimalwert Spalte**
* **Q1 Spalte**
* **Medianwert Spalte**
* **Q3 Spalte**
* **Maximalwert Spalte**

Optional: Wählen Sie eine **Kategoriespalte** für die Beschriftung.

{% hint style="info" %}
Dieser Modus eignet sich, wenn Sie die Verteilung bereits in einer Auswertung berechnet haben.
{% endhint %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Ausreißer einstellen (nur bei Rohdaten)**

Ausreißer sind Werte, die weit vom Rest entfernt liegen. Sie können wählen, wie Ausreißer angezeigt werden:

* **Als Punkte darstellen** – Ausreißer werden als einzelne Punkte neben dem Boxplot angezeigt. Die Whisker reichen nur bis zum letzten "normalen" Wert.
* **In Whisker einbeziehen** – Die Whisker reichen bis zum absoluten Minimum und Maximum. Keine separaten Punkte werden angezeigt.

{% hint style="info" %}
Die Option "Als Punkte darstellen" hilft Ihnen, extreme Werte sofort zu erkennen. So sehen Sie zum Beispiel, ob ein Antrag ungewöhnlich lange gedauert hat.
{% endhint %}
{% endstep %}

{% step %}
**Layout und Darstellung anpassen**

* **Layout**: Wählen Sie zwischen **vertikal** und **horizontal**
* **Titel** und **Beschreibung**: Benennen Sie Ihr Diagramm
* **Infotext**: Fügen Sie eine Erklärung hinzu, die Betrachter über das Info-Symbol lesen können
* **Beschriftungslayout**: Bei vielen Kategorien können Sie die X-Achsen-Beschriftungen rotieren oder abwechselnd darstellen
* **Datenbereich**: Wählen Sie zwischen automatischem Bereich oder nullbasierter Achse
  {% endstep %}
  {% endstepper %}

### Beschriftungen anpassen

Wenn Nutzer mit der Maus über einen Boxplot fahren, sehen sie automatisch die statistischen Werte (Q1, Median, Q3, Min, Max). Sie können zusätzliche Spalten hinzufügen:

1. Scrollen Sie zu **Zusätzliche Beschriftungen**
2. Klicken Sie auf **Beschriftung hinzufügen**
3. Wählen Sie eine Spalte aus Ihrem Datensatz

### Wann ein Boxplot die richtige Wahl ist

| Situation                           | Geeignet?                               |
| ----------------------------------- | --------------------------------------- |
| Verteilung von Zahlen verstehen     | Ja                                      |
| Ausreißer erkennen                  | Ja                                      |
| Gruppen vergleichen (z. B. Bezirke) | Ja                                      |
| Trends über Zeit zeigen             | Nein – verwenden Sie ein Liniendiagramm |
| Proportionen darstellen             | Nein – verwenden Sie ein Kreisdiagramm  |


# Streudiagramm

Erstellen und konfigurieren Sie Streudiagramme in der Polyteia-Plattform.

Ein Streudiagramm zeigt den Zusammenhang zwischen zwei Zahlen. Jeder Datenpunkt wird als Punkt dargestellt. Die Position zeigt seine Werte auf der X- und Y-Achse.

**Vergleich aus dem Alltag:** Stellen Sie sich vor, Sie tragen für jede Schule die Anzahl der Schüler (X-Achse) und die durchschnittliche Note (Y-Achse) ein. So sehen Sie auf einen Blick, ob größere Schulen andere Ergebnisse haben als kleinere.

### Wann ein Streudiagramm verwenden?

* Sie möchten den **Zusammenhang** zwischen zwei Zahlen erkennen
* Sie möchten **Muster** oder **Gruppen** in Ihren Daten entdecken
* Sie möchten **einzelne Datenpunkte** vergleichen

## Wie Sie ein Streudiagramm erstellen

{% stepper %}
{% step %}
**Diagrammtyp auswählen**

1. Gehen Sie zum Reiter **Diagramm**
2. Wählen Sie im Dropdown-Menü **Diagrammtyp** die Option **Streudiagramm**
   {% endstep %}

{% step %}
**Achsen festlegen**

Wählen Sie zwei numerische Spalten:

* **X-Achse** – die erste Zahl (z. B. Einwohnerzahl)
* **Y-Achse** – die zweite Zahl (z. B. Ausgaben pro Kopf)

Jede Zeile in Ihrem Datensatz wird als Punkt im Diagramm dargestellt.

{% hint style="warning" %}
Beide Achsen benötigen **numerische Spalten**. Text- oder Datumsspalten können nicht verwendet werden.
{% endhint %}
{% endstep %}

{% step %}
**Punkte gruppieren (optional)**

Sie können die Punkte nach einer Kategorie einfärben:

1. Wählen Sie unter **Punkte gruppieren nach** eine Spalte aus (z. B. "Region" oder "Typ")
2. Jede Gruppe bekommt eine eigene Farbe
3. Eine Legende erscheint unterhalb des Diagramms

**Beispiel:** Bei Schulen könnten Sie nach "Schultyp" gruppieren. So sehen Sie Grundschulen in einer Farbe und Gymnasien in einer anderen.
{% endstep %}

{% step %}
**Blasendiagramm erstellen (optional)**

Sie können die Größe der Punkte an eine dritte Zahl koppeln. So entsteht ein Blasendiagramm:

1. Wählen Sie unter **Punktgrößenspalte** eine numerische Spalte aus
2. Größere Werte werden als größere Punkte dargestellt
3. Optional: Aktivieren Sie **Wertbeschriftung anzeigen**, um den Wert über jedem Punkt anzuzeigen

{% hint style="info" %}
Wenn diese Option ausgewählt ist, spiegelt die Größe jedes Punkts seinen Wert in dieser Spalte wider. So können Sie drei Zahlen gleichzeitig vergleichen.
{% endhint %}
{% endstep %}

{% step %}
**Darstellung anpassen**

* **Titel** und **Beschreibung**: Benennen Sie Ihr Diagramm
* **Infotext**: Fügen Sie eine Erklärung für Betrachter hinzu
* **Datenbereich**: Wählen Sie für jede Achse zwischen automatischem Bereich oder nullbasierter Achse
* **Beschriftungslayout**: Passen Sie die X-Achsen-Beschriftungen an (normal, rotiert oder abwechselnd)
* **Zahlenformatierung**: Stellen Sie Dezimalstellen und Trennzeichen für beide Achsen ein
  {% endstep %}
  {% endstepper %}

### Beschriftungen anpassen

Wenn Nutzer mit der Maus über einen Punkt fahren, sehen sie die X- und Y-Werte. Sie können zusätzliche Informationen hinzufügen:

1. Scrollen Sie zu **Zusätzliche Beschriftungen**
2. Klicken Sie auf **Beschriftung hinzufügen**
3. Wählen Sie eine Spalte aus Ihrem Datensatz (z. B. Name oder Adresse)

So sehen Betrachter beim Hovern nicht nur die Zahlen, sondern auch den Kontext.

### Wann ein Streudiagramm die richtige Wahl ist

| Situation                                 | Geeignet?                               |
| ----------------------------------------- | --------------------------------------- |
| Zusammenhang zwischen zwei Zahlen zeigen  | Ja                                      |
| Muster oder Gruppen erkennen              | Ja                                      |
| Drei Zahlen vergleichen (mit Blasengröße) | Ja                                      |
| Trends über Zeit zeigen                   | Nein – verwenden Sie ein Liniendiagramm |
| Kategorien vergleichen                    | Nein – verwenden Sie ein Balkendiagramm |
| Verteilung einer einzelnen Zahl zeigen    | Nein – verwenden Sie ein Boxplot        |


# Karten

Erstellen und konfigurieren Sie Kartenvisualisierungen in der Polyteia-Plattform.

Um eine Kartenvisualisierung in der Polyteia-Plattform zu erstellen, müssen Ihre Daten geografische Standorte enthalten - entweder als Formen (Polygone oder Mehrecke) oder Punkte (Koordinaten).

<figure><img src="/files/9O09zB36mWrOD4IN36PF" alt=""><figcaption></figcaption></figure>

### Geografische Datenformate verstehen

* JSON ist ein allgemeines Format für strukturierte Daten. Es kann Koordinaten enthalten, wird aber nicht automatisch als geografisch erkannt, es sei denn, die Struktur folgt den GeoJSON-Regeln.
* GeoJSON ist ein spezielles Format für Kartenformen. Es definiert Punkte, Linien und Polygone mit Hilfe von Typ- und Koordinatenfeldern.
* Die Polyteia-Plattform erkennt GeoJSON-Formate automatisch und konvertiert sie in eine Geometriespalte (geom), die in Kartenvisualisierungen verwendet werden kann.

→ Siehe: [JSON und GeoJSON verstehen](/auswertungen/visualisierungen/karten/geojson-und-json)

### Eine Kartenvisualisierung erstellen

Sobald Ihr Datensatz eine Geometriespalte enthält, können Sie ihn mit dem Kartendiagrammtyp visualisieren. Der Prozess umfasst:

1. Hochladen einer .geojson oder korrekt strukturierten .json-Datei.
2. Verknüpfen anderer Datensätze (z.B. Metriken, Beschriftungen) über einen gemeinsamen Schlüssel.
3. Auswählen der richtigen Spalten (Geometrie, Beschriftung, Wert).
4. Auswählen einer Ebene:
   * Flächen – farbcodierte Formen (z.B. Bezirke).
   * Streuung – einzelne Punkte (z.B. Hotels).
   * Heatmap – Dichtedarstellung von Punktdaten.

→ Siehe: [Karte erstellen](/auswertungen/visualisierungen/karten/karten-erstellen)

### Gut zu wissen

* Geometriespalten müssen gültige Punkt- oder Polygondaten enthalten.
* Verknüpfungen müssen saubere und übereinstimmende Werte verwenden (z.B. Bezirksname oder ID).
* Sie können eine oder mehrere Ebenen hinzufügen, jede mit eigenen Einstellungen und Legende.


# GeoJSON und JSON

Verstehen Sie die Unterschiede zwischen GeoJSON und JSON für Kartenvisualisierungen in der Polyteia-Plattform.

Um eine Kartenvisualisierung in der Polyteia-Plattform zu verwenden, müssen Ihre Daten geografische Formen enthalten. Diese werden in einem Format namens GeoJSON beschrieben, einer geografischen Version von JSON.

{% hint style="info" %}
Andere geografische Formdatentypen wie Shape-Dateien werden in zukünftigen Versionen folgen.
{% endhint %}

### Was ist JSON

JSON (JavaScript Object Notation) ist ein gängiges Format zum Speichern und Austauschen von Daten zwischen Systemen. Es besteht aus Schlüssel-Wert-Paaren und kann Zahlen, Text, Listen und verschachtelte Strukturen enthalten.

Hier ist ein einfaches Beispiel:

```
[
  {
    "city": "Berlin",
    "population": 3769000,
    "isCapital": true,
    "longitude": 13.4050,
    "latitude": 52.5200
  },
  {
    "city": "Hamburg",
    "population": 1841000,
    "isCapital": false,
    "longitude": 9.9937,
    "latitude": 53.5511
  }
]
```

Dies ist ein einfaches JSON-Array mit strukturierten Daten zu Städten. Jedes Element im Array ist ein JSON-Objekt mit fünf Feldern:

* **city**: der Name der Stadt (Text)
* **population**: die Anzahl der Einwohner (Zahl)
* **isCapital**: ob die Stadt eine Hauptstadt ist (true/false)
* **longitude** und **latitude**: Längen- und Breitengrad der Stadt in separaten Eigenschaften (Zahl)

#### Wie die Tabelle nach dem Hochladen aussehen würde

| city    | population | isCapital | longitude | latitude |
| ------- | ---------- | --------- | --------- | -------- |
| Berlin  | 3,769,000  | true      | 13.4050   | 52.5200  |
| Hamburg | 1,841,000  | false     | 9.9937    | 53.5511  |

Dies sind strukturierte Daten, die geografische Informationen enthalten - **aber noch nicht in einem Format welches die Polyteia-Plattform als Geometrie erkennen kann.**

Um die Daten in einer Kartenvisualisierung zu verwenden, müssen die Koordinaten **vor dem Hochladen in ein korrektes Geometrieformat konvertiert werden,** wie einen Punkt mit einem Typ- und Koordinatenfeld.

### Was ist GeoJSON

GeoJSON ist ein standardisiertes Format für geografische Formen wie Punkte, Linien und Polygone. Es baut auf regulärem JSON auf, fügt aber spezifische Regeln für die Beschreibung von Geometrie und Standort hinzu.

Ein gültiges GeoJSON-Objekt hat:

* einen Typ (z. B. Punkt, Polygon)
* ein Geometriefeld mit Form und Koordinaten
* optionale Eigenschaften mit zusätzlichen Informationen

#### Beispiel: Berliner Bezirke (Polygone)

{% code fullWidth="false" %}

```json
[ 
  {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [[[13.1, 52.5], [13.2, 52.5], [13.2, 52.6], [13.1, 52.6], [13.1, 52.5]]]
        },
        "properties": {
          "bezirk": "Berlin-Mitte",
          "id": "1101"
        }
      }
    ]
  }
]
```

{% endcode %}

Dies ist eine GeoJSON-Datei, die eine Polygonform (z. B. eine Bezirksgrenze) mit zusätzlichen Informationen beschreibt:

* Der Typ: **FeatureCollection** bedeutet, dass es sich um eine Liste geografischer Features handelt
* Jedes Feature hat:
  * eine Geometrie mit der Form (ein Polygon aus Koordinatenpaaren)
  * Eigenschaften wie den Bezirksnamen (bezirk) und die ID

Es ist das Standardformat zum Erstellen von Formen wie Städten oder Bezirken auf einer Karte.

#### [Beispiel-Datei zum Download](https://drive.google.com/file/d/13nwHnY-2YhwTHwr_lJaCW7hxQ3dUuXfH/view?usp=sharing)

### Einfaches JSON mit Koordinaten verwenden

Nicht alle geografischen Daten müssen der vollständigen GeoJSON-Struktur folgen. Wenn Sie nur mit Punkten arbeiten - wie Schulen, Gewerben oder Hotels - können Sie ein einfacheres JSON-Format verwenden, solange es die folgenden Elemente enthält:

* einen Typ: Punkt
* ein Koordinatenarray

Diese Felder müssen in jedem Objekt verschachtelt sein und in jedem Datensatz im gleichen Feld erscheinen (z. B. Koordinaten oder location).

#### Beispiel

```
{
  "name": "Bright Nest Hotel",
  "coordinates": {
    "type": "Point",
    "coordinates": [13.4078, 52.5114]
  }
}
```

Diese Struktur funktioniert gut für punktbasierte Datensätze, auch wenn es kein vollständiges GeoJSON ist. Die Polyteia-Plattform erkennt das **coordinates**-Feld automatisch und konvertiert es in eine Geometriespalte - genau wie bei GeoJSON.

{% hint style="info" %}
Wenn Sie Formen wie **Grenzen oder Bezirke** benötigen, müssen Sie zu einem vollständigem GeoJSON wechseln.
{% endhint %}

#### [Beispiel-Datei zum Download](https://drive.google.com/file/d/1ERJLQj5KfOB6uCSWI2BQbEYvLlu_nIPm/view?usp=sharing)

### JSON- oder GeoJSON-Datei hochladen

Um eine Kartenvisualisierung zu erstellen, muss Ihr Datensatz geografische Informationen enthalten - entweder als Polygone (z. B. Bezirksgrenzen) oder Punkte (z. B. Standortkoordinaten). Diese Daten müssen in einem der folgenden Formate hochgeladen werden:

<table><thead><tr><th width="90.83984375">Format</th><th width="321.28515625">Beschreibung</th><th>Unterstützte Formen</th><th>Automatische Konvertierung in Geometrie?</th></tr></thead><tbody><tr><td>.geojson</td><td>Standardformat für die Beschreibung von Kartenformen</td><td>Polygone, Punkte</td><td>Ja</td></tr><tr><td>.json</td><td>Muss GeoJSON-ähnlicher Struktur folgen (Typ + Koordinaten)</td><td>Meist Punkte</td><td>Ja, wenn korrekt formatiert</td></tr></tbody></table>

Um die Daten hochzuladen:

* Folgen Sie den Schritten in [Datensatz erstellen](/datensaetze/datensatz-erstellen), um Ihre .geojson- oder .json-Datei hochzuladen

Nach dem Hochladen wird die Polyteia-Plattform:

* ein gültiges GeoJSON erkennen und eine Geometriespalte erstellen
* versuchen, punktbasierte JSON-Felder (z. B. location, Koordinaten) zu konvertieren, wenn die Struktur Typ und Koordinaten enthält

Wenn keine Geometrie erkannt wird, wird die Spalte als Text oder verschachteltes Objekt behandelt. In diesem Fall müssen Sie sicherstellen, dass das Format in Ihrer hochgeladenen Datei angepasst ist, und dann versuchen, die Datei erneut hochzuladen.

### Gut zu wissen

* Beim Hochladen einer .geojson-Datei erkennt die Polyteia-Plattform das Format automatisch und konvertiert es in eine Geometriespalte
* Beim Hochladen einer .json-Datei behandelt die Polyteia-Plattform diese nur als geografisch, wenn sie ein Typ- und Koordinatenfeld in der korrekten GeoJSON-Struktur enthält
* Wenn Ihre JSON-Datei verschachtelte Felder verwendet (wie Koordinaten), stellen Sie sicher, dass jedes Objekt konsistent formatiert ist


# Karten erstellen

Erstellen und konfigurieren Sie Kartenvisualisierungen in der Polyteia-Plattform.

Mit Karten können Sie Ihre Daten direkt auf einer Karte darstellen - entweder als farbige Regionen, einzelne Punkte oder Heatmaps.

Jeder Ebenentyp hilft dabei, andere Informationen zu visualisieren:

* Flächenkarten eignen sich ideal zum Vergleichen von Werten nach Region
* Streuungskarten heben einzelne Standorte hervor
* Heatmaps zeigen Konzentration oder Intensität

Nach der Erstellung können Sie Formen beschriften, nach Wert einfärben und Tooltips anpassen. Tooltips sind kleine Infofenster, die sich öffnen, wenn Sie mit der Maus über einer Fläche oder einem Punkt schweben.

{% stepper %}
{% step %}

#### Daten vorbereiten

Bevor Sie eine Kartenvisualisierung erstellen können, benötigen Sie einen Datensatz mit geografischen Informationen. Diese können aus einer GeoJSON-Datei mit Formen (Punkte, Linien oder Polygone) oder einer JSON-Datei mit Standorten (Punkte) stammen. Sie können dann andere Datensätze mit numerischen oder beschreibenden Werten verknüpfen, um sie zu visualisieren.

**Datensatz mit geografischen Informationen hochladen**

* Gehen Sie zu Ihrer Lösung und folgen Sie den Schritten im Artikel [Datensatz erstellen](/datensaetze/datensatz-erstellen)
* Laden Sie eine .geojson-Datei (für Formen) oder .json-Datei mit GeoJSON-Stil-Punkten hoch. Mehr zu GeoJSON und JSON erfahren Sie [hier](/auswertungen/visualisierungen/karten/geojson-und-json)
* Die Polyteia-Plattform erkennt automatisch gültige geografische Informationen und erstellt eine Spalte mit dem Titel **geometry** oder **geom**

Sie können das Ergebnis überprüfen, indem Sie den Datensatz öffnen - die geografischen Informationen erscheint in der Spalte **geometry** oder **geom** als strukturierte Daten (z. B. { "type": "Polygon", ... }) oder binäre Darstellung der Daten (z. B. BQQAAROVNB+jFSQ...).

<figure><img src="/files/ONocQzmwWHXPbMB9AEJY" alt=""><figcaption><p>Beispiel: Berliner Bezirksgeometrien mit Polygondaten in binärer Darstellung.</p></figcaption></figure>

**Datensatz verknüpfen**

In den meisten Fällen möchten Sie die Formdaten mit anderen Daten [kombinieren](/auswertungen/verknuepfungen), wie Anzahl oder Beschriftungen. Dies können Sie direkt im Abfragebereich beim Erstellen Ihrer Auswertung tun:

1. Klicken Sie auf **+ Datensatz verknüpfen**
2. Wählen Sie den zu verknüpfenden Datensatz (z. B. Prüfungsergebnisse, Statistiken)
3. Wählen Sie die übereinstimmende Spalte (z. B. Gemeinde\_name, Schluessel\_gesamt oder Bezirks-ID)
4. Verwenden Sie eine rechte Verknüpfung, um alle Regionen beizubehalten, auch wenn keine Datenübereinstimmung gefunden wird

<figure><img src="/files/1pPBITBHQZrpF3vR1GGK" alt=""><figcaption><p>Beispiel: Berliner Bezirksgeometrien (geom, Gemeinde_name) mit Hotelprüfungsergebnissen (proznt_bestanden, Anzahl_Kontrollen_gesamt) über Gemeinde_name verknüpfen.</p></figcaption></figure>
{% endstep %}

{% step %}

#### Spalten definieren

Nach der Vorbereitung Ihrer Daten und der Durchführung von Verknüpfungen besteht der nächste Schritt darin, festzulegen, welche Spalten in Ihrer Kartenvisualisierung verwendet werden sollen. Dies definieren Sie im Abfragebereich des Auswertungseditors.

Sie benötigen:

* eine Spalte mit geografischen Informationen (erstellt aus GeoJSON oder einem konvertierten Punktfeld)
* eine Beschriftungs- oder Regionsnamenspalte (für den Kontext)
* eine oder mehrere numerische Metriken zur Visualisierung

| Spaltentyp                             | Zweck                                                              | Beispiel                                                  |
| -------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------- |
| Geometrie (geografische Informationen) | Zeichnet Formen oder plottet Punkte                                | geom                                                      |
| Regionsbeschriftung                    | Optional, wird als Beschriftung oder Tooltip verwendet             | Gemeinde\_name                                            |
| Metrik                                 | Hauptwert, der für die Einfärbung verwendet wird (oder Gewichtung) | proznt\_bestanden                                         |
| Optionale Aufschlüsselung              | Zusätzliche Informationen in Tooltips                              | Anzahl\_Kontrollen\_gesamt, Anzahl\_Kontrollen\_bestanden |

**Erforderliche Spaltentypen**

Im Beispiel der Berliner Hotelprüfungen wurden folgende Spalten ausgewählt:

* **geom**: enthält das Polygon für jeden Bezirk
* **Gemeinde\_name**: Bezirksname, der in Tooltips oder Beschriftungen angezeigt wird
* **Anzahl\_Kontrollen\_gesamt**: Gesamtprüfungen
* **Anzahl\_Kontrollen\_bestanden**: bestandene Prüfungen
* **proznt\_bestanden**: die Prozentmetrik zur Einfärbung der Karte

Sie können Felder über das Dropdown-Menü **Spalte hinzufügen** hinzufügen oder entfernen.

<figure><img src="/files/ONocQzmwWHXPbMB9AEJY" alt=""><figcaption><p>Berliner Hotelprüfungen</p></figcaption></figure>

{% hint style="info" %}
Eine Kartenvisualisierung verwendet nur die Geometriespalte und eine numerische Spalte für die Einfärbung - zusätzliche Spalten werden als Tooltip angezeigt, wenn Benutzer über Formen oder Punkte fahren.
{% endhint %}
{% endstep %}

{% step %}

#### Kartentyp auswählen

Klicken Sie im Reiter **Diagramm** auf **+ Karte hinzufügen**, um zu wählen, wie Ihre Daten visualisiert werden sollen. Sie sehen drei Optionen:

<table><thead><tr><th width="113.3515625">Ebenentyp</th><th>Beschreibung</th></tr></thead><tbody><tr><td>Flächen</td><td>Farbcodierte Regionen basierend auf Polygonformen (GeoJSON).</td></tr><tr><td>Streuung</td><td>Einzelne Datenpunkte werden als Kreise auf der Karte angezeigt.</td></tr><tr><td>Heatmap</td><td>Dichte von Punkten wird durch Farbintensität visualisiert.</td></tr></tbody></table>

{% hint style="info" %}
Sie können diese bei Bedarf mischen. Die meisten Kartenvisualisierungen verwenden jedoch jeweils eine Ebene.
{% endhint %}

**Ebene benennen**

Im Ebenenpanel können Sie einen Ebenennamen eingeben (z. B. *Prüfungserfolgsrate*). Dieser Name wird automatisch als Legendentitel im Diagramm verwendet und hilft Betrachtern zu verstehen, was der Farbverlauf darstellt.

**Legende ein- und ausklappen**

Die Kartenlegende zeigt jede Ebene als eigenen Bereich an. Sie können:

* Einzelne Legendenbereiche **ein- und ausklappen**, indem Sie auf den Pfeil klicken
* Einzelne Ebenen **ein- und ausblenden**, indem Sie auf das Augen-Symbol klicken

So behalten Sie den Überblick, wenn Ihre Karte mehrere Ebenen enthält.

**Flächen (Polygone)**

Verwenden Sie diese Option, wenn Ihr Datensatz Formen wie Stadtbezirke, Regionen oder Zonen aus einer GeoJSON-Datei enthält.

Nach der Auswahl konfigurieren Sie:

* **Geometrie (GeoJSON)**: Wählen Sie die Spalte, die die Polygondaten enthält
* **Beschriftung**: Wählen Sie eine Namensspalte, z. B. Gemeinde\_name (erscheint im Tooltip und optional innerhalb der Form)
* **Wert**: Wählen Sie eine numerische Metrik zur Einfärbung jeder Form (z. B. proznt\_bestanden)
* **Tooltip-Felder**: Fügen Sie optionale Metriken wie Gesamtprüfungen für mehr Kontext hinzu

{% hint style="info" %}
Optional können Sie **Wertbeschriftung anzeigen** aktivieren, um den Wert innerhalb der Region anzuzeigen, und **Transluzente Farben verwenden** für besseren Hintergrundkontrast.
{% endhint %}

<figure><img src="/files/ZpO4xm4MkVSRGpXvNko9" alt=""><figcaption></figcaption></figure>

**Streuung (Punkte)**

Verwenden Sie die Streuungsebene, um einzelne Punkte - wie Hotels, Schulen oder Einrichtungen - auf der Karte anzuzeigen. Jede Zeile in Ihrem Datensatz repräsentiert einen Standort, und die Koordinaten müssen als Point-Geometrie formatiert sein.

Diese Ebene funktioniert besonders gut mit einfachen JSON-Dateien, bei denen jeder Eintrag so aussieht:

```
{
  "name": "Bright Nest Hotel",
  "Koordinaten": {
    "type": "Point",
    "coordinates": [13.4078, 52.5114]
  }
}
```

Die Polyteia-Plattform erkennt automatisch Felder wie Koordinaten und erstellt eine geom-Spalte, die Sie im Diagramm verwenden können.

Im Reiter **Diagramm** klicken Sie auf **+ Karte hinzufügen** und **Streuung auswählen**

**Ebenenkonfigurationsoptionen**

<table><thead><tr><th width="228.66015625">Feld</th><th>Funktion</th></tr></thead><tbody><tr><td>Geometrie (GeoJSON)</td><td>Automatisch ausgefüllt mit der geom-Spalte, die Punktdaten enthält.</td></tr><tr><td>Name</td><td>Beschriftung, die im Tooltip angezeigt wird (z. B. name, Gemeinde_name).</td></tr><tr><td>Punktgröße</td><td>Optionale numerische Feld zur Größenanpassung der Punkte (z. B. Anzahl der Besuche).</td></tr><tr><td>Kategorie</td><td>Optionales Feld zur Einfärbung von Punkten nach Kategorie (z. B. Art der Einrichtung).</td></tr><tr><td>Punkte gruppieren</td><td>Gruppiert nahe Punkte bei niedrigem Zoom automatisch (standardmäßig aktiviert).</td></tr><tr><td>Punktgrößenwerte anzeigen</td><td>Umschalten, um die Größenmetrik über jedem Punkt anzuzeigen (wenn Punktgröße festgelegt ist).</td></tr><tr><td>Transluzente Farben verwenden</td><td>Macht überlappende Punkte visuell besser erkennbar.</td></tr><tr><td>Tooltip-Felder</td><td>Zusätzliche Felder, die beim Hover angezeigt werden (z. B. Adresse, Bewertung, Typ).</td></tr></tbody></table>

**Automatische Gruppierung**

Die Option **Punkte gruppieren** ist standardmäßig aktiviert. Diese Funktion:

* gruppiert nahe Punkte bei niedrigem Zoom in Blasen
* zeigt die Anzahl der Elemente in jedem Cluster an
* erweitert sich automatisch beim vergößern

Sie können sie deaktivieren, wenn Sie jeden Punkt auf allen Zoomstufen einzeln anzeigen möchten.

<figure><img src="/files/vLtD2TIaWaRZzuZG15yp" alt=""><figcaption></figcaption></figure>

**Heatmap**

Verwenden Sie die Heatmap, wenn Sie die Datendichte auf einer Karte visualisieren möchten - wie Beschwerden, Besuche, Ereignisse oder beliebige standortbasierte Datensätze mit hohem Volumen. Anstatt einzelne Punkte anzuzeigen, zeichnet die Heatmap einen sanften Farbverlauf, der hervorhebt, wo Datenpunkte konzentriert sind.

Wann Heatmaps verwendet werden sollten:

* Ihre Daten enthalten viele Punkte in unmittelbarer Nähe
* Sie möchten Hotspots zeigen, nicht einzelne Elemente
* Beschriftungen und Tooltips werden nicht benötigt

**Beispiel**

Sie haben einen Datensatz von Hotelstandorten und interessieren sich dafür, wo sich die meisten Hotels befinden - nicht für einzelne Einträge.

1. Klicken Sie im Reiter **Diagramm** auf **+ Karte hinzufügen** und wählen Sie Heatmap
2. Benennen Sie die Ebene (z. B. *Lärmbeschwerden*) - dieser Titel erscheint in der Legende
3. Legen Sie fest:
   * **Geometrie (GeoJSON)**: Wählen Sie die Spalte mit Ihren Punktdaten (z. B. Koordinaten oder geom)
   * **Intensität**: Optionale numerische Wert, der gewichtet, wie stark jeder Punkt zur Heatmap beiträgt. Der Standard ist 5

{% hint style="info" %}
Wenn Sie keine Intensitätsspalte festlegen, zählen alle Punkte gleich. Wenn Sie eine Intensitätsspalte verwenden (z. B. Anzahl der Verstöße), haben dichtere Wertesätze mehr visuelle Wirkung.
{% endhint %}

**Einschränkungen**

* Heatmaps unterstützen keine Beschriftungen, Tooltips oder individuelle Punktformatierung
* Sie eignen sich am besten für Übersichtsvisualisierungen, nicht für detaillierte Auswertungen

<figure><img src="/files/zXcGI3dOtcl8WPHLgidr" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


# Verknüpfungen

Mit Verknüpfungen zwei oder mehrere Datensätze in der Polyteia-Plattform zusammenführen.

Durch das Kombinieren von Datensätzen können Sie Informationen aus verschiedenen Tabellen zusammenführen. Das ist besonders nützlich, wenn ein Datensatz z. B. Namen oder IDs enthält und ein anderer dazugehörige Eigenschaften wie Standorte, Mengen oder Kategorien.

Die Polyteia-Plattform unterstützt dies über sogenannte Verknüpfungen – ganz wie in klassischen Datenbanksystemen, aber ohne dass Sie SQL schreiben müssen.

## Was ist eine Verknüpfung?

Eine Verknüpfung verbindet zwei Datensätze über eine gemeinsame Spalte, etwa einen Namen oder eine ID. Dieser Wert wird als **Verknüpfungsschlüssel** bezeichnet. Wenn eine Übereinstimmung gefunden wird, werden die Daten beider Tabellen zu einer gemeinsamen Ansicht zusammengeführt.

Für eine einfache Einführung in das Thema empfehlen wir den Artikel [Grundlagen](/auswertungen/verknuepfungen/grundlagen).

## Datensätze in Polyteia verknüpfen

Im [Auswertungs-Editor](/auswertungen) können Sie zwei Datensätze über die Option **+ Datensatz verknüpfen** verbinden.

Standardmäßig verwendet die Polyteia-Plattform **natürliche Verknüpfungen ("Natural Joins")**, d. h. es werden automatisch Spalten mit gleichem Namen verknüpft.


# Grundlagen

Um Verknüpfungen erfolgreich in der Polyteia-Plattform aufzusetzen, hilft zu verstehen, wie sie funktionieren.

## Verknüpfungen verstehen

### Was ist eine Verknüpfung?

Verknüpfen ist eine Methode, um Informationen aus zwei verschiedenen Tabellen zu kombinieren, solange sie etwas gemeinsam haben. In Datenbanken (und in der Polyteia-Plattform) ist dieses gemeinsame Element in der Regel eine Spalte – wie ein Name, eine ID oder ein Code.

Sie können sich Verknüpfungen wie zusammenpassende Puzzleteile vorstellen. Jede Tabelle enthält einen Teil der benötigten Informationen, und die Verknüpfung hilft Ihnen, das Gesamtbild zu sehen.

### Beispiel aus dem realen Leben: Eine Hochzeitsgästeliste und ein Sitzplan

#### Die Hochzeitsplanung

Stellen Sie sich vor, Sie organisieren eine Hochzeit.

Sie haben zwei Listen:

**1. Gästeliste (Tabelle A)**

| Gästename | RSVP | Menüwahl |
| --------- | ---- | -------- |
| Anna      | Ja   | Vegan    |
| Ben       | Ja   | Huhn     |
| Carla     | Nein | -        |
| David     | Ja   | Fisch    |

**2. Sitzplan (Tabelle B)**

| Gästename | Tischnummer |
| --------- | ----------- |
| Anna      | 3           |
| Ben       | 1           |
| David     | 2           |
| Emma      | 4           |

Jede Tabelle enthält unterschiedliche Informationen:

* **Tabelle A** weiß, wer eingeladen ist, wer kommt und was sie essen möchten
* **Tabelle B** weiß, welcher Gast an welchem Tisch sitzt

#### Die erste Verknüpfung

Wir verwenden die Spalte **Gästename**, um Zeilen abzugleichen. Das ist unser Verknüpfungsschlüssel – das gemeinsame Informationselement.

Wenn wir Tabelle A und Tabelle B verknüpfen, können wir ihre Daten in einer Tabelle wie folgt kombinieren:

**Linke Verknüpfung (alle aus der Gästeliste behalten)**

| Gästename | RSVP | Menüwahl | Tischnummer |
| --------- | ---- | -------- | ----------- |
| Anna      | Ja   | Vegan    | 3           |
| Ben       | Ja   | Huhn     | 1           |
| Carla     | Nein | -        | (null)      |
| David     | Ja   | Fisch    | 2           |

Diese neue Tabelle gibt uns das Gesamtbild:

* Wir wissen, wer kommt
* Was sie essen möchten
* Wo sie sitzen werden

Sie können jetzt problemlos Platzkarten mit Namen und Menüwahl drucken und sicherstellen, dass jeder einen Platz hat.

Beachten Sie:

* Carla steht auf der Gästeliste, aber nicht im Sitzplan, daher ist ihre **Tischnummer** leer
* Emma ist im Sitzplan, aber nicht auf der Gästeliste – sie erscheint nicht im Ergebnis

Diese Art von Verknüpfung wird als **Linke Verknüpfung** bezeichnet: Behalten Sie alle aus der ersten Tabelle (der Gästeliste) bei und ergänzen Sie, was aus der zweiten Tabelle (dem Sitzplan) verfügbar ist.

#### Weitere Verknüpfungen

Die Art der Verknüpfung, die Sie wählen, beeinflusst, was im Endergebnis erscheint:

**Innere Verknüpfung (nur was in beiden Tabellen existiert)**

| Gästename | RSVP | Menüwahl | Tischnummer |
| --------- | ---- | -------- | ----------- |
| Anna      | Ja   | Vegan    | 3           |
| Ben       | Ja   | Huhn     | 1           |
| David     | Ja   | Fisch    | 2           |

Nur Gäste, die sowohl in der Gästeliste als *auch* im Sitzplan vorkommen, werden angezeigt. Carla und Emma sind ausgeschlossen.

**Rechte Verknüpfung (alles aus dem Sitzplan behalten)**

| Gästename | RSVP   | Menüwahl | Tischnummer |
| --------- | ------ | -------- | ----------- |
| Anna      | Ja     | Vegan    | 3           |
| Ben       | Ja     | Huhn     | 1           |
| David     | Ja     | Fisch    | 2           |
| Emma      | (null) | (null)   | 4           |

Jeder im Sitzplan wird einbezogen, auch wenn er nicht auf der Gästeliste steht. Carla ist ausgeschlossen, aber Emma ist dabei.

**Vollständige Verknüpfung (alle aus beiden Listen)**

| Gästename | RSVP   | Menüwahl | Tischnummer |
| --------- | ------ | -------- | ----------- |
| Anna      | Ja     | Vegan    | 3           |
| Ben       | Ja     | Huhn     | 1           |
| Carla     | Nein   | -        | (null)      |
| David     | Ja     | Fisch    | 2           |
| Emma      | (null) | (null)   | 4           |

Hier behalten wir alle aus beiden Tabellen – niemand bleibt außen vor. Dies ist die vollständigste, aber auch die komplexeste Ansicht.

**Kreuzverknüpfung (jede mögliche Kombination)**

Eine Kreuzverknüpfung kombiniert *jede* Zeile aus Tabelle A mit *jeder* Zeile aus Tabelle B. Sie verwendet keine gemeinsame Spalte – sie verbindet einfach alles mit allem.

In unserem Hochzeitsbeispiel würde dies bedeuten, dass jeder Gast mit jedem möglichen Tisch angezeigt wird, auch wenn sie nicht übereinstimmen:

| Gästename (A) | RSVP | Menüwahl | Gästename (B) | Tischnummer |
| ------------- | ---- | -------- | ------------- | ----------- |
| Anna          | Ja   | Vegan    | Anna          | 3           |
| Anna          | Ja   | Vegan    | Ben           | 1           |
| Anna          | Ja   | Vegan    | David         | 2           |
| Anna          | Ja   | Vegan    | Emma          | 4           |
| Ben           | Ja   | Huhn     | Anna          | 3           |
| Ben           | Ja   | Huhn     | Ben           | 1           |
| Ben           | Ja   | Huhn     | David         | 2           |
| Ben           | Ja   | Huhn     | Emma          | 4           |
| Carla         | Nein | -        | Anna          | 3           |
| ...           | ...  | ...      | ...           | ...         |

Dies führt zu vielen Zeilen – jede mögliche Kombination. Es ist selten nützlich, es sei denn, Sie *möchten* alle Kombinationen testen (z. B. Kompatibilität prüfen oder Szenarien abgleichen).

***

### Die technische Seite

Sie verstehen Verknüpfungen jetzt anhand eines praktischen Beispiels, aber lassen Sie uns das darauf übertragen, wie Datenbanken tatsächlich funktionieren.

In Datenbanken enthält jede **Tabelle** Datenzeilen, und jede Zeile enthält Spalten. Wenn wir über Verknüpfungen sprechen, verwenden wir SQL (Structured Query Language), um Tabellen basierend auf **Schlüsseln** – gemeinsamen Spalten – zu kombinieren.

Hier ist eine vereinfachte Übersicht, wie es funktioniert:

* **Verknüpfungsschlüssel**: Die gemeinsame Spalte, die zum Verknüpfen der Tabellen verwendet wird. In unserem Beispiel ist es **Gästename**
* **Verknüpfungstyp**: Dies teilt dem System mit, was beibehalten werden soll:

| Verknüpfungstyp          | Beschreibung                                                                                                               |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| Linke Verknüpfung        | Behält alle Zeilen aus der linken (ersten) Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle                |
| Rechte Verknüpfung       | Behält alle Zeilen aus der rechten (zweiten) Tabelle und die übereinstimmenden Zeilen aus der linken Tabelle               |
| Innere Verknüpfung       | Behält nur die Zeilen, die übereinstimmende Werte in beiden Tabellen haben                                                 |
| Vollständige Verknüpfung | Behält alle Zeilen aus beiden Tabellen. Fehlende Werte werden als **null** angezeigt                                       |
| Kreuzverknüpfung         | Kombinieren Sie jede Zeile aus der ersten Tabelle mit jeder Zeile aus der zweiten. Kein Verknüpfungsschlüssel erforderlich |

Diese Logik gilt für jeden Datensatz, mit dem Sie in der Polyteia-Plattform arbeiten werden. Ob es darum geht, Programmeinschreibungen mit Stadtdaten zu kombinieren oder Statistiken mit Geografien zu verschmelzen – Verknüpfungen helfen Ihnen, Bedeutung über Datensätze hinweg zu schaffen.

### Verknüpfungen in Polyteia

In der Polyteia-Plattform sind Ihre Tabellen in der Regel Datensätze. Eine könnte Registrierungen enthalten, eine andere demografische Daten, eine andere Leistungszahlen. Durch das Verknüpfen können Sie Fragen beantworten wie:

* Wie viele Personen haben sich für ein Programm nach Stadt registriert?
* Welche Städte haben ein niedriges Einkommen und einen hohen Bedarf?

Sie lernen, wie Sie dies im nächsten Artikel tun: Datensätze in Polyteia verknüpfen.

Aber jetzt, da Sie die Idee verstehen, sind Sie schon auf halbem Weg!


# Verknüpfen in Auswertungen

Datensätze im Auswertungs-Editor der Polyteia-Plattform miteinander verknüpfen.

Das Kombinieren oder "Verknüpfen" von Datensätzen verbindet Informationen aus zwei Datensätzen basierend auf einer gemeinsamen Spalte - dem sogenannten Verknüpfungsschlüssel. In der Polyteia-Plattform ist dies typischerweise eine Spalte wie ein Name, eine ID oder ein Ortscode.

Wenn Sie mit dem Konzept des Verknüpfens von Tabellen noch nicht vertraut sind, empfehlen wir Ihnen, unsere Einführung zu lesen: [Grundlagen: Verschneiden](/auswertungen/verknuepfungen/grundlagen).

### Wie die Polyteia-Plattform Verknüpfungen handhabt

Standardmäßig verwendet die Polyteia-Plattform **natürliche Verknüpfungen ("Natural Joins")**. Das bedeutet:

* Es erkennt automatisch Spalten, die in beiden Datensätzen den gleichen Namen haben
* Es verwendet diese Spalten als Verknüpfungsschlüssel
* Wenn mehrere übereinstimmende Spaltennamen gefunden werden, werden alle zusammen als Schlüssel verwendet

Sie können zwischen [vier Verknüpfungstypen](/auswertungen/verknuepfungen/grundlagen#die-technische-seite) wählen:

* **Innere Verknüpfung** – behält nur die Zeilen, die übereinstimmende Werte in beiden Tabellen haben
* **Linke Verknüpfung** – behält alle Zeilen aus der linken Tabelle und die übereinstimmenden Zeilen aus der rechten Tabelle
* **Rechte Verknüpfung** – behält alle Zeilen aus der rechten Tabelle und die übereinstimmenden Zeilen aus der linken Tabelle
* **Vollständige Verknüpfung** – behält alle Zeilen aus beiden Tabellen

Sie können den Verknüpfungstyp direkt im Editor ändern.

### Bewährte Praktiken für die Vorbereitung von Datensätzen

Für beste Ergebnisse:

* Stellen Sie sicher, dass die Spalten, die Sie verknüpfen möchten, **exakt denselben Namen haben**
* Vermeiden Sie Tippfehler oder Variationen wie **Name** vs. **Vollständiger Name** – Natürliche Verknüpfungen werden diese nicht abgleichen

Wenn Ihre Spaltennamen **nicht übereinstimmen**, können Sie die Option **manuelle Schlüsselzuordnung** in der Polyteia-Plattform verwenden. Dies ermöglicht Ihnen:

* Eine Verknüpfungsbedingung manuell hinzuzufügen
* Auszuwählen, welche Spalte aus jedem Datensatz abgeglichen werden soll

Die Polyteia-Plattform wird dann die Datensätze mit der angegebenen Bedingung verbinden.

{% hint style="info" %}
Derzeit müssen Sie den Datensatz erneut hochladen, um die Systemspaltennamen zu überschreiben. Bald werden Sie die bearbeiteten Spaltennamen verwenden können.
{% endhint %}

### Schritt für Schritt: Zwei Datensätze in der Polyteia-Plattform verknüpfen

Kehren wir zu unserem Hochzeitsbeispiel zurück.

Sie möchten die **Gästeliste** und den **Sitzplan** kombinieren, um eine vollständige Tabelle mit Namen, RSVP, Mahlzeit und Tischnummer zu erstellen.

{% hint style="info" %}
Sie benötigen mindestens Bearbeiter-Berechtigungen für alle Datensätze, die Sie verknüpfen möchten.
{% endhint %}

{% stepper %}
{% step %}
**Wählen Sie Ihren Basisdatensatz aus**

Beginnen Sie mit der Auswahl der **Gästeliste** als Hauptdatensatz. In der Verknüpfungslogik wird dieser Datensatz der "linke" Datensatz sein.
{% endstep %}

{% step %}
**Klicken Sie auf "Datensatz verknüpfen"**

Verwenden Sie die Schaltfläche **+ Datensatz verknüpfen**.
{% endstep %}

{% step %}
**Wählen Sie den zweiten Datensatz**

In diesem Fall wählen Sie den **Sitzplan**. Dieser Datensatz wird in der Verknüpfungslogik der "rechte" Datensatz sein.
{% endstep %}

{% step %}
**Legen Sie den Verknüpfungstyp fest**

Wählen Sie den gewünschten Verknüpfungstyp. Der Standard-Verknüpfungstyp ist **Innere Verknüpfung**. Wählen Sie **Linke Verknüpfung**, um alle eingeladenen Gäste aus dem linken Datensatz (**Gästeliste**) beizubehalten und nur nach Übereinstimmungen im rechten Datensatz (**Sitzplan**) zu suchen.
{% endstep %}

{% step %}
**Überprüfen Sie den Verknüpfungsschlüssel**

Wenn beide Datensätze eine Spalte namens **Gästename** haben, wird die Polyteia-Plattform sie automatisch abgleichen.

Wenn sie unterschiedlich benannt sind (z. B. **Gästename** und **Name des Gastes**), klicken Sie auf die Schaltfläche **···** neben dem Namen des zweiten Datensatzes, dann auf **Bedingung hinzufügen** und ordnen Sie sie manuell zu.
{% endstep %}

{% step %}
**Vorschau des Ergebnisses anzeigen**

Sie sehen eine verbundene Tabelle, in der jeder Gast außer Carla seine RSVP, Mahlzeit und Tischnummer hat. Da Carla nicht im Datensatz **Sitzplan** enthalten war, enthält das Ergebnis nur die Informationen aus dem Datensatz **Gästeliste**.
{% endstep %}

{% step %}
**Setzen Sie Ihre Auswertung fort**

Jetzt können Sie Ihre Auswertung der verbundenen Datensätze fortsetzen, z. B. Zahlen addieren, einzelne Gäste zählen usw.
{% endstep %}
{% endstepper %}

### Tipps und Fallstricke

* **Spaltennamen müssen übereinstimmen**, damit natürliche Verknüpfungen funktionieren
* **Kreuzverknüpfungen** können schnell in der Größe explodieren – vermeiden Sie sie, wenn nicht erforderlich
* **Nullwerte** im Ergebnis bedeuten, dass es keine Übereinstimmung im anderen Datensatz gab
* Sie können mehrere Datensätze verbinden, nicht nur zwei

Mit nur wenigen Klicks macht die Polyteia-Plattform es einfach, einen Datensatz mit Daten aus einem anderen anzureichern – ohne SQL-Kenntnisse.


# SQL-Editor

Schreiben Sie benutzerdefinierte SQL-Abfragen, um Ihre Daten in der Polyteia-Plattform zu erkunden.

Es ist nützlich, wenn Sie mehr Kontrolle möchten, als der visuelle Builder bietet. Sie können Spalten auswählen, Filter hinzufügen und Ergebnisse genau so gruppieren oder sortieren, wie Sie es möchten. Der Editor verwendet die [DuckDB SQL-Syntax](https://duckdb.org/docs/stable/sql/introduction.html).

Um eine Abfrage auszuführen, müssen Sie zuerst einen Datensatz auswählen und Ihre Abfrage immer mit einem `LIMIT` beenden. Die maximale Zeilenzahl für Abfragen ist 1000.

## Den SQL-Editor öffnen

Sie können von jeder Auswertung zum SQL-Modus wechseln:

* Gehen Sie zum **Daten**-Reiter.
* Klicken Sie die **SQL**-Schaltfläche neben **Baukasten**.

Dies öffnet einen Texteditor, in dem Sie Ihre SQL-Abfrage schreiben können.

## Einen Datensatz auswählen

Sie müssen immer definieren, auf welchem Datensatz die Abfrage ausgeführt werden soll.

* Klicken Sie das Menü mit der Bezeichnung **Datensätze**.
* Fügen Sie den Datensatz in Ihren SQL-Code ein.

Beispiel:

```sql
select *
from '{{ds_abc123xy456}}' as "Beispiel-Datensatz"
limit 1000
```

**Wichtig:** Fügen Sie immer `LIMIT` am Ende Ihrer Abfrage hinzu. Die Abfrage wird ohne es nicht ausgeführt. 1000 ist die maximale Anzahl von Zeilen für die Abfrage.

## Eine benutzerdefinierte Abfrage schreiben

Sobald der Datensatz ausgewählt ist, können Sie jedes gültige DuckDB SQL schreiben.

#### Beispiel: Auswählen und zählen

```sql
select abteilung, count(*) as gesamt
from '{{ds_abc123xy456}}'
group by abteilung
order by gesamt desc
limit 10000
```

Dieses Beispiel zählt, wie viele Zeilen für jede Abteilung existieren und sortiert sie von hoch zu niedrig.

## Das Datensatz-Schema erkunden

Unter dem Editor sehen Sie eine Liste der Spalten für den ausgewählten Datensatz. Jede zeigt:

* Den Spaltennamen
* Den Datentyp (wie `VARCHAR`, `DATE`, `DOUBLE`, etc.)

Verwenden Sie diese, um gültige Abfragen zu schreiben, ohne Spaltennamen zu erraten.

Beispieltypen:

| Spaltenname        | Typ     | Bedeutung         |
| ------------------ | ------- | ----------------- |
| Name               | VARCHAR | Textwerte         |
| Startdatum         | DATE    | Datum zum Filtern |
| Alter              | BIGINT  | Ganze Zahl        |
| Vollzeitäquivalent | DOUBLE  | Dezimalzahl       |

## Häufige SQL-Klauseln

Sie können alle Standard-DuckDB-Klauseln verwenden. Hier ist eine Übersicht:

| Klausel    | Was sie tut                                      |
| ---------- | ------------------------------------------------ |
| `select`   | Auswählen, welche Spalten angezeigt werden       |
| `from`     | Den Datensatz definieren                         |
| `where`    | Zeilen filtern (z.B. `where alter > 30`)         |
| `group by` | Daten zusammenfassen (z.B. Summen pro Kategorie) |
| `order by` | Zeilen sortieren (z.B. `order by name asc`)      |
| `limit`    | Immer erforderlich, begrenzt Anzahl der Zeilen   |

## Verfügbare SQL-Funktionen

Für eine vollständige Referenz aller verfügbaren SQL-Funktionen, einschließlich mathematischer Operationen, String-Manipulation, Datumsfunktionen und mehr, siehe die [**SQL-Befehle**](/auswertungen/sql-editor/sql-befehle)-Dokumentation.

Diese Referenz umfasst:

* Mathematische Funktionen (ABS, ROUND, SQRT, etc.)
* Aggregatfunktionen (COUNT, SUM, AVG, etc.)
* String-Funktionen (SUBSTR, REPLACE, etc.)
* Datums- und Zeitfunktionen (DATE\_FORMAT, STRPTIME, etc.)
* Array- und räumliche Funktionen
* Alle unterstützten Operatoren und Klauseln

Alle dort aufgelisteten Funktionen wurden getestet und für die Verwendung in der Polyteia-Plattform freigegeben.

## Abfrage-Validierung

Alle SQL-Abfragen werden vor der Ausführung validiert. Das System überprüft Ihre Abfrage, um sicherzustellen, dass sie sicher ist und den Plattformregeln folgt.

Operationen, die Daten ändern, löschen oder schädigen könnten — wie `DROP`, `DELETE`, `UPDATE` oder das Erstellen neuer Tabellen — sind nicht erlaubt. Wenn das System etwas Ungültiges oder Unsicheres erkennt, wird die Abfrage nicht ausgeführt.

Dies stellt sicher, dass nur sichere und schreibgeschützte Operationen im Editor möglich sind.

## Die Abfrage ausführen

Klicken Sie die **Ausführen**-Schaltfläche, um Ihre Abfrage auszuführen. Ergebnisse erscheinen in der Tabelle auf der linken Seite.

Wenn nichts angezeigt wird:

* Überprüfen Sie auf Tippfehler in Spaltennamen.
* Stellen Sie sicher, dass die Datensatz-ID korrekt ist.
* Bestätigen Sie, dass Sie `limit 1000` hinzugefügt haben.

Wenn immer noch leer, könnte Ihre Abfrage basierend auf den Filtern keine Zeilen zurückgeben.

## SQL-Variablen

Möchten Sie Ihre Abfragen flexibel und wiederverwendbar machen? Sie können Variablen mit der `$variablenname`-Syntax hinzufügen:

```sql
SELECT * 
FROM '{{ds_abc123xy456}}'
WHERE abteilung = $abteilung
  AND erstellungsdatum >= $startdatum
LIMIT 1000
```

Variablen erscheinen als interaktive Steuerelemente unter dem SQL-Editor und ermöglichen es Ihnen, verschiedene Werte zu testen, ohne Ihre Abfrage umzuschreiben. Sie sind besonders mächtig, wenn Sie Auswertungen in Berichten verwenden - Variablen werden zu benutzerfreundlichen Filtern.

Für vollständige Details zur Verwendung von Variablen siehe [**SQL-Variablen**](/auswertungen/sql-editor/sql-variablen).

## SQL-Vorschau im Baukasten

Wenn Sie mit dem visuellen Baukasten arbeiten, zeigt Ihnen die Plattform automatisch die zugehörige SQL-Abfrage an. So sehen Sie jederzeit, welche Abfrage im Hintergrund erzeugt wird.

* Klicken Sie auf **SQL-Abfrage**, um die Vorschau auf- oder zuzuklappen.
* Sie können die angezeigte SQL-Abfrage in die Zwischenablage kopieren.

{% hint style="info" %}
Die SQL-Vorschau ist praktisch, um SQL zu lernen oder um eine Abfrage aus dem Baukasten als Ausgangspunkt für den SQL-Editor zu verwenden.
{% endhint %}

## Zurück zum visuellen Modus wechseln

Möchten Sie den Builder wieder verwenden?

* Klicken Sie **Baukasten** neben **SQL**.
* Dies setzt Ihre Abfrage zurück und kehrt zur Baukasten-Benutzeroberfläche zurück.

{% hint style="danger" %}
**Hinweis**: Sie verlieren Ihre aktuelle SQL-Abfrage, wenn Sie wechseln.
{% endhint %}


# SQL-Befehle

Aus Sicherheits- und Stabilitätsgründen erlauben wir nur eine sorgfältig ausgewählte Sammlung von SQL-Funktionen. Dies stellt sicher, dass Abfragen keine Daten ändern, auf Systemressourcen zugreifen oder die Daten anderer Benutzer beeinträchtigen können. Die unten aufgeführten Funktionen wurden getestet und für die Verwendung in der Polyteia-Plattform freigegeben.

Falls Sie zusätzliche SQL-Funktionen für Ihren Anwendungsfall benötigen, wenden Sie sich gerne über unsere [Hilfe- und Support-Seite](https://github.com/polyteia-de/docs/blob/prod/help-center/hilfe-und-support.md) an uns und wir prüfen Ihre Anfrage gerne.

## Mathematische Funktionen

<details>

<summary>ABS - Absoluter Wert</summary>

Gibt den absoluten (positiven) Wert einer Zahl zurück.

**Syntax:** `ABS(zahl)`

**Beispiel:**

```sql
SELECT ABS(-25) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 25
```

</details>

<details>

<summary>CEIL - Auf nächste ganze Zahl aufrunden</summary>

Rundet eine Zahl auf die nächste ganze Zahl auf.

**Syntax:** `CEIL(zahl)`

**Beispiel:**

```sql
SELECT CEIL(4.3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 5
```

</details>

<details>

<summary>FLOOR - Auf nächste ganze Zahl abrunden</summary>

Rundet eine Zahl auf die nächste ganze Zahl ab.

**Syntax:** `FLOOR(zahl)`

**Beispiel:**

```sql
SELECT FLOOR(4.8) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4
```

</details>

<details>

<summary>ROUND - Auf ganze Zahl oder Dezimalstellen runden</summary>

Rundet eine Zahl auf die nächste ganze Zahl oder bestimmte Dezimalstellen.

**Syntax:** `ROUND(zahl, [dezimalstellen])`

**Beispiel:**

```sql
SELECT ROUND(4.567, 2) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4.57
```

</details>

<details>

<summary>SQRT - Quadratwurzel</summary>

Gibt die Quadratwurzel einer Zahl zurück.

**Syntax:** `SQRT(zahl)`

**Beispiel:**

```sql
SELECT SQRT(16) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 4
```

</details>

<details>

<summary>EXP - Exponentialfunktion</summary>

Gibt e hoch der angegebenen Zahl zurück.

**Syntax:** `EXP(zahl)`

**Beispiel:**

```sql
SELECT EXP(1) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2.718281828459045
```

</details>

<details>

<summary>LN - Natürlicher Logarithmus</summary>

Gibt den natürlichen Logarithmus einer Zahl zurück.

**Syntax:** `LN(zahl)`

**Beispiel:**

```sql
SELECT LN(2.718281828459045) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 1
```

</details>

<details>

<summary>LOG - Logarithmus</summary>

Gibt den Logarithmus einer Zahl zu einer bestimmten Basis zurück.

**Syntax:** `LOG(basis, zahl)`

**Beispiel:**

```sql
SELECT LOG(10, 100) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2
```

</details>

<details>

<summary>POWER - Potenzieren</summary>

Gibt eine Zahl hoch einer anderen Zahl zurück.

**Syntax:** `POWER(basis, exponent)`

**Beispiel:**

```sql
SELECT POWER(2, 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 8
```

</details>

<details>

<summary>MOD - Modulo-Operation</summary>

Gibt den Rest einer Division zurück.

**Syntax:** `MOD(dividend, divisor)`

**Beispiel:**

```sql
SELECT MOD(10, 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 1
```

</details>

## Aggregatfunktionen

<details>

<summary>COUNT - Zeilen zählen</summary>

Zählt die Anzahl der Zeilen oder Nicht-NULL-Werte.

**Syntax:** `COUNT(*)` oder `COUNT(spalte)`

**Beispiel:**

```sql
SELECT COUNT(*) AS gesamtzeilen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>COUNT_DISTINCT - Eindeutige Werte zählen</summary>

Zählt die Anzahl der eindeutigen (verschiedenen) Werte in einer Spalte.

**Syntax:** `COUNT_DISTINCT(spalte)`

**Beispiel:**

```sql
SELECT COUNT_DISTINCT(abteilung) AS eindeutige_abteilungen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>COUNT_IF - Bedingte Anzahl</summary>

Zählt Zeilen, die eine bestimmte Bedingung erfüllen.

**Syntax:** `COUNT_IF(bedingung)`

**Beispiel:**

```sql
SELECT COUNT_IF(alter > 30) AS erwachsene_ueber_30
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>SUM - Werte summieren</summary>

Berechnet die Summe numerischer Werte.

**Syntax:** `SUM(spalte)`

**Beispiel:**

```sql
SELECT SUM(gehalt) AS gesamtgehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>AVG - Durchschnittswert</summary>

Berechnet den Durchschnitt numerischer Werte.

**Syntax:** `AVG(spalte)`

**Beispiel:**

```sql
SELECT AVG(alter) AS durchschnittsalter
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>MIN - Minimalwert</summary>

Gibt den kleinsten Wert in einer Spalte zurück.

**Syntax:** `MIN(spalte)`

**Beispiel:**

```sql
SELECT MIN(gehalt) AS niedrigstes_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>MAX - Maximalwert</summary>

Gibt den größten Wert in einer Spalte zurück.

**Syntax:** `MAX(spalte)`

**Beispiel:**

```sql
SELECT MAX(gehalt) AS hoechstes_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>STRING_AGG - Strings verketten</summary>

Verkettet String-Werte mit einem bestimmten Trennzeichen.

**Syntax:** `STRING_AGG(spalte, trennzeichen)`

**Beispiel:**

```sql
SELECT STRING_AGG(name, ', ') AS alle_namen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hans, Maria, Peter"
```

</details>

<details>

<summary>ANY_VALUE - Beliebigen Wert erhalten</summary>

Gibt einen beliebigen Wert aus einer Gruppe zurück (nützlich mit GROUP BY).

**Syntax:** `ANY_VALUE(spalte)`

**Beispiel:**

```sql
SELECT abteilung, ANY_VALUE(leiter) AS beispiel_leiter
FROM '{{ds_ihr_datensatz}}' 
GROUP BY abteilung
LIMIT 10
```

</details>

## Typkonvertierungsfunktionen

<details>

<summary>CAST - Datentypen konvertieren</summary>

Konvertiert einen Wert von einem Datentyp zu einem anderen.

**Syntax:** `CAST(wert AS datentyp)`

**Beispiel:**

```sql
SELECT CAST('123' AS INTEGER) AS zahl
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 123
```

</details>

## String-Funktionen

<details>

<summary>SUBSTR - Teiltext aus String extrahieren</summary>

Extrahiert einen Teil eines Strings ab einer bestimmten Position.

**Syntax:** `SUBSTR(string, start, länge)`

**Beispiel:**

```sql
SELECT SUBSTR("Hallo Welt", 1, 5) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo"
```

</details>

<details>

<summary>LEFT - Zeichen von links erhalten</summary>

Gibt die linkesten Zeichen eines Strings zurück.

**Syntax:** `LEFT(string, länge)`

**Beispiel:**

```sql
SELECT LEFT("Hallo Welt", 5) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo"
```

</details>

<details>

<summary>RIGHT - Zeichen von rechts erhalten</summary>

Gibt die rechtesten Zeichen eines Strings zurück.

**Syntax:** `RIGHT(string, länge)`

**Beispiel:**

```sql
SELECT RIGHT("Hallo Welt", 4) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Welt"
```

</details>

<details>

<summary>REPLACE - Text in String ersetzen</summary>

Ersetzt alle Vorkommen eines Teilstrings durch einen anderen Teilstring.

**Syntax:** `REPLACE(string, alter_text, neuer_text)`

**Beispiel:**

```sql
SELECT REPLACE("Hallo Welt", "Welt", "DuckDB") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo DuckDB"
```

</details>

<details>

<summary>REGEXP_REPLACE - Ersetzen mit regulären Ausdrücken</summary>

Ersetzt Text mithilfe von regulären Ausdrücken für erweiterte Textmanipulation.

**Syntax:** `REGEXP_REPLACE(string, muster, ersetzung)`

**Beispiel:**

```sql
-- Konvertiere TT.MM.JJJJ zu JJJJ-MM-TT Format
SELECT REGEXP_REPLACE("19.02.2025", '(\d{2})\.(\d{2})\.(\d{4})', '\3-\2-\1') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "2025-02-19"
```

</details>

<details>

<summary>SUBSTRING - Alternative zu SUBSTR</summary>

Extrahiert einen Teil eines Strings ab einer bestimmten Position (identisch mit SUBSTR).

**Syntax:** `SUBSTRING(string, start, länge)`

**Beispiel:**

```sql
SELECT SUBSTRING("Hallo Welt", 1, 5) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo"
```

</details>

<details>

<summary>TRIM - Leerzeichen entfernen</summary>

Entfernt Leerzeichen am Anfang und Ende eines Strings.

**Syntax:** `TRIM(string)` oder `TRIM(zeichen FROM string)`

**Beispiel:**

```sql
SELECT TRIM("  Hallo Welt  ") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
```

</details>

<details>

<summary>RTRIM - Leerzeichen rechts entfernen</summary>

Entfernt Leerzeichen am Ende (rechts) eines Strings.

**Syntax:** `RTRIM(string)`

**Beispiel:**

```sql
SELECT RTRIM("Hallo Welt   ") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
```

</details>

<details>

<summary>LTRIM - Leerzeichen links entfernen</summary>

Entfernt Leerzeichen am Anfang (links) eines Strings.

**Syntax:** `LTRIM(string)`

**Beispiel:**

```sql
SELECT LTRIM("   Hallo Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
```

</details>

<details>

<summary>UPPER - In Großbuchstaben konvertieren</summary>

Konvertiert alle Buchstaben eines Strings in Großbuchstaben.

**Syntax:** `UPPER(string)`

**Beispiel:**

```sql
SELECT UPPER("Hallo Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "HALLO WELT"
```

</details>

<details>

<summary>LOWER - In Kleinbuchstaben konvertieren</summary>

Konvertiert alle Buchstaben eines Strings in Kleinbuchstaben.

**Syntax:** `LOWER(string)`

**Beispiel:**

```sql
SELECT LOWER("HALLO WELT") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "hallo welt"
```

</details>

<details>

<summary>CHAR_LENGTH - Anzahl Zeichen ermitteln</summary>

Gibt die Anzahl der Zeichen in einem String zurück.

**Syntax:** `CHAR_LENGTH(string)`

**Beispiel:**

```sql
SELECT CHAR_LENGTH("Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 5
```

</details>

<details>

<summary>LENGTH - Länge des Strings ermitteln</summary>

Gibt die Länge eines Strings zurück (identisch mit CHAR\_LENGTH).

**Syntax:** `LENGTH(string)`

**Beispiel:**

```sql
SELECT LENGTH("Hallo Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 10
```

</details>

<details>

<summary>CONCAT - Strings verketten</summary>

Verkettet mehrere Strings zu einem String.

**Syntax:** `CONCAT(string1, string2, ...)`

**Beispiel:**

```sql
SELECT CONCAT("Hallo", " ", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Hallo Welt"
```

</details>

<details>

<summary>REVERSE - String umkehren</summary>

Kehrt die Reihenfolge der Zeichen in einem String um.

**Syntax:** `REVERSE(string)`

**Beispiel:**

```sql
SELECT REVERSE("Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "ollaH"
```

</details>

<details>

<summary>REPEAT - String wiederholen</summary>

Wiederholt einen String eine bestimmte Anzahl von Malen.

**Syntax:** `REPEAT(string, anzahl)`

**Beispiel:**

```sql
SELECT REPEAT("Ha", 3) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "HaHaHa"
```

</details>

<details>

<summary>LPAD - String links auffüllen</summary>

Füllt einen String links mit Zeichen auf eine bestimmte Länge auf.

**Syntax:** `LPAD(string, länge, füllzeichen)`

**Beispiel:**

```sql
SELECT LPAD("42", 5, "0") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "00042"
```

</details>

<details>

<summary>RPAD - String rechts auffüllen</summary>

Füllt einen String rechts mit Zeichen auf eine bestimmte Länge auf.

**Syntax:** `RPAD(string, länge, füllzeichen)`

**Beispiel:**

```sql
SELECT RPAD("Test", 8, "-") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Test----"
```

</details>

<details>

<summary>STARTS_WITH - Prüfen ob String mit Text beginnt</summary>

Prüft, ob ein String mit einem bestimmten Text beginnt.

**Syntax:** `STARTS_WITH(string, präfix)`

**Beispiel:**

```sql
SELECT STARTS_WITH("Hallo Welt", "Hallo") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true
```

</details>

<details>

<summary>ENDS_WITH - Prüfen ob String mit Text endet</summary>

Prüft, ob ein String mit einem bestimmten Text endet.

**Syntax:** `ENDS_WITH(string, suffix)`

**Beispiel:**

```sql
SELECT ENDS_WITH("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true
```

</details>

<details>

<summary>POSITION - Position eines Teilstrings finden</summary>

Gibt die Position des ersten Vorkommens eines Teilstrings zurück.

**Syntax:** `POSITION(teilstring IN string)`

**Beispiel:**

```sql
SELECT POSITION('Welt' IN 'Hallo Welt') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
```

</details>

<details>

<summary>STRPOS - Alternative Position-Funktion</summary>

Gibt die Position des ersten Vorkommens eines Teilstrings zurück (alternative Syntax).

**Syntax:** `STRPOS(string, teilstring)`

**Beispiel:**

```sql
SELECT STRPOS("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
```

</details>

<details>

<summary>INSTR - Position eines Teilstrings finden</summary>

Gibt die Position des ersten Vorkommens eines Teilstrings zurück (weitere alternative Syntax).

**Syntax:** `INSTR(string, teilstring)`

**Beispiel:**

```sql
SELECT INSTR("Hallo Welt", "Welt") AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 7
```

</details>

<details>

<summary>SPLIT_PART - Teil aus aufgeteiltem String extrahieren</summary>

Teilt einen String auf und gibt das Element an der angegebenen Position zurück.

**Syntax:** `SPLIT_PART(string, trennzeichen, position)`

**Beispiel:**

```sql
SELECT SPLIT_PART("Apfel,Banane,Kirsche", ",", 2) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "Banane"
```

</details>

## Datum- und Zeit-Funktionen

<details>

<summary>DATE_FORMAT - Datum als String formatieren</summary>

Formatiert einen Datumswert als String mit bestimmtem Format.

**Syntax:** `DATE_FORMAT(datum, format)`

**Beispiel:**

```sql
SELECT DATE_FORMAT(CURRENT_DATE, '%d/%m/%Y') AS formatiertes_datum
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>DATE_PART - Teil des Datums extrahieren</summary>

Extrahiert einen bestimmten Teil aus einem Datum (Jahr, Monat, Tag, etc.).

**Syntax:** `DATE_PART(teil, datum)`

**Beispiel:**

```sql
SELECT DATE_PART('year', CURRENT_DATE) AS aktuelles_jahr
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>DATE_TRUNC - Datum auf bestimmte Genauigkeit kürzen</summary>

Kürzt ein Datum auf eine bestimmte Genauigkeitsstufe (Jahr, Monat, Tag, Stunde, etc.).

**Syntax:** `DATE_TRUNC(genauigkeit, datum)`

**Beispiel:**

```sql
SELECT DATE_TRUNC('day', STRPTIME("2025-02-19 14:30:00", '%Y-%m-%d %H:%M:%S')) AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: "2025-02-19 00:00:00"
```

</details>

<details>

<summary>STRPTIME - String zu Datum/Zeit konvertieren</summary>

Konvertiert einen String zu einem Datum/Zeit-Wert unter Verwendung eines bestimmten Formatmusters.

**Syntax:** `STRPTIME(string, format)`

**Häufige Formatcodes:**

* `%Y` - 4-stelliges Jahr
* `%m` - Monat (01-12)
* `%d` - Tag (01-31)
* `%H` - Stunde (00-23)
* `%M` - Minute (00-59)

**Beispiel:**

```sql
-- Deutsche Datumsformat parsen
SELECT STRPTIME("19.02.2025 10:44", '%d.%m.%Y %H:%M') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 2025-02-19 10:44:00
```

</details>

<details>

<summary>STRFTIME - Datum/Zeit zu String formatieren</summary>

Konvertiert ein Datum/Zeit-Wert zu einem String unter Verwendung eines bestimmten Formatmusters.

**Syntax:** `STRFTIME(datum, format)`

**Beispiel:**

```sql
SELECT STRFTIME(CURRENT_DATE, '%d.%m.%Y') AS ergebnis
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt aktuelles Datum im TT.MM.JJJJ Format zurück
```

</details>

<details>

<summary>SPLIT - String in Array aufteilen</summary>

Teilt einen String in ein Array mit einem Trennzeichen auf.

**Syntax:** `SPLIT(string, trennzeichen)`

**Beispiel:**

```sql
SELECT SPLIT('Apfel,Banane,Kirsche', ',') AS frucht_array
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: ['Apfel', 'Banane', 'Kirsche']
```

</details>

<details>

<summary>YEAR - Jahr aus Datum extrahieren</summary>

Extrahiert das Jahr aus einem Datumswert.

**Syntax:** `YEAR(datum)`

**Beispiel:**

```sql
SELECT YEAR(CURRENT_DATE) AS aktuelles_jahr
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

## Array-Funktionen

<details>

<summary>UNNEST - Array in Zeilen erweitern</summary>

Konvertiert ein Array in einzelne Zeilen, mit einer Zeile pro Array-Element.

**Syntax:** `UNNEST(array)`

**Beispiel:**

```sql
SELECT UNNEST(['Apfel', 'Banane', 'Kirsche']) AS frucht
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt drei Zeilen zurück: "Apfel", "Banane", "Kirsche"
```

</details>

<details>

<summary>ARRAY_LENGTH - Array-Größe ermitteln</summary>

Gibt die Anzahl der Elemente in einem Array zurück.

**Syntax:** `ARRAY_LENGTH(array)`

**Beispiel:**

```sql
SELECT ARRAY_LENGTH(['Apfel', 'Banane', 'Kirsche']) AS array_groesse
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: 3
```

</details>

<details>

<summary>CONTAINS - Prüfen ob Array Wert enthält</summary>

Prüft, ob ein Array einen bestimmten Wert enthält.

**Syntax:** `CONTAINS(array, wert)`

**Beispiel:**

```sql
SELECT CONTAINS(['Apfel', 'Banane', 'Kirsche'], 'Banane') AS hat_banane
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt zurück: true
```

</details>

## Hilfsfunktionen

<details>

<summary>NULLIF - NULL zurückgeben wenn Werte gleich sind</summary>

Gibt NULL zurück, wenn zwei Werte gleich sind, ansonsten den ersten Wert.

**Syntax:** `NULLIF(wert1, wert2)`

**Beispiel:**

```sql
SELECT NULLIF(gehalt, 0) AS nicht_null_gehalt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
-- Gibt NULL zurück wenn Gehalt 0 ist, ansonsten das Gehalt
```

</details>

## Operatoren

<details>

<summary>|| - String-Verkettung</summary>

Verkettet zwei oder mehr Strings miteinander.

**Syntax:** `string1 || string2`

**Beispiel:**

```sql
SELECT vorname || ' ' || nachname AS vollname
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>IN - Prüfen ob Wert in Liste existiert</summary>

Prüft, ob ein Wert in einer Liste von Werten existiert.

**Syntax:** `spalte IN (wert1, wert2, wert3)`

**Beispiel:**

```sql
SELECT * 
FROM '{{ds_ihr_datensatz}}' 
WHERE abteilung IN ('Vertrieb', 'Marketing', 'IT')
LIMIT 10
```

</details>

## Räumliche Funktionen (Geospatial)

*Hinweis: Diese Funktionen sind für die Arbeit mit geografischen Daten und räumlichen Operationen verfügbar.*

<details>

<summary>ST_AREA - Fläche einer Geometrie berechnen</summary>

Berechnet die Fläche eines Polygons oder einer anderen 2D-Geometrie.

**Syntax:** `ST_AREA(geometrie)`

**Beispiel:**

```sql
SELECT ST_AREA(polygon_spalte) AS flaeche_qm
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>ST_DISTANCE - Entfernung zwischen Geometrien berechnen</summary>

Berechnet die Entfernung zwischen zwei Geometrien.

**Syntax:** `ST_DISTANCE(geometrie1, geometrie2)`

**Beispiel:**

```sql
SELECT ST_DISTANCE(punkt1, punkt2) AS entfernung_m
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>ST_CONTAINS - Prüfen ob Geometrie eine andere enthält</summary>

Prüft, ob eine Geometrie eine andere Geometrie vollständig enthält.

**Syntax:** `ST_CONTAINS(geometrie1, geometrie2)`

**Beispiel:**

```sql
SELECT ST_CONTAINS(polygon, punkt) AS punkt_im_polygon
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>ST_INTERSECTS - Prüfen ob Geometrien sich überschneiden</summary>

Prüft, ob sich zwei Geometrien überschneiden (überlappen oder Raum teilen).

**Syntax:** `ST_INTERSECTS(geometrie1, geometrie2)`

**Beispiel:**

```sql
SELECT ST_INTERSECTS(polygon1, polygon2) AS polygone_ueberlappen
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

<details>

<summary>ST_POINT - Punkt-Geometrie erstellen</summary>

Erstellt eine Punkt-Geometrie aus X- und Y-Koordinaten.

**Syntax:** `ST_POINT(x, y)`

**Beispiel:**

```sql
SELECT ST_POINT(laengengrad, breitengrad) AS standort_punkt
FROM '{{ds_ihr_datensatz}}' 
LIMIT 10
```

</details>

*Für eine vollständige Liste der räumlichen Funktionen siehe die* [*DuckDB Spatial Extension Dokumentation*](https://duckdb.org/docs/stable/extensions/spatial/functions.html)*.*


# SQL-Variablen

Fügen Sie interaktive Parameter zu Ihren SQL-Abfragen hinzu, die in Auswertungen getestet und als Filter in Berichten verwendet werden können.

Denken Sie an Lücken in einem Serienbrief - Sie schreiben den Brief einmal mit Platzhaltern für "Name" und "Abteilung", dann können Sie jedes Mal, wenn Sie ihn verwenden, verschiedene Werte einsetzen. SQL-Variablen ermöglichen es Ihnen, eine Abfrage zu schreiben, die verschiedene Ergebnisse basierend auf den Werten zeigt, die Sie bereitstellen.

## Was SQL-Variablen sind

SQL-Variablen sind Platzhalter in Ihren SQL-Abfragen, die es Ihnen ermöglichen:

* **Flexible Abfragen zu erstellen** - Einmal schreiben, mit verschiedenen Werten verwenden
* **Verschiedene Szenarien zu testen** - Verschiedene Werte ausprobieren, ohne SQL umzuschreiben
* **Dynamische Berichte zu erstellen** - Dieselbe Abfrage zeigt verschiedene Daten basierend auf der Benutzerauswahl
* **Mit Berichtsfiltern zu verbinden** - Variablen werden zu benutzerfreundlichen Filtern in Berichten

**Beispiel aus der Praxis**: Anstatt separate Abfragen für jede Abteilung zu schreiben, schreiben Sie eine Abfrage mit `$abteilung` und testen sie dann mit "Öffentliche Sicherheit", "Gesundheitsdienste" oder jedem anderen Abteilungsnamen.

## Variablen-Syntax

Variablen verwenden eine einfache Dollar-Zeichen-Syntax in Ihren SQL-Abfragen.

```sql
SELECT abteilung, status, budget, erstellungsdatum
FROM projekte 
WHERE abteilung = $abteilungsfilter
  AND status = $projektstatus
  AND budget >= $mindestbudget
  AND erstellungsdatum >= $startdatum
```

{% hint style="info" %}
**Hinweis:** Derzeit können Variablen nur in WHERE-Klauseln verwendet werden.
{% endhint %}

**Regeln für Variablennamen:**

* **Muss mit Buchstabe oder Unterstrich beginnen**: `$abteilung` ✅, `$_filter` ✅
* **Kann Buchstaben, Zahlen, Unterstriche enthalten**: `$region_2024` ✅, `$statusfilter` ✅
* **Kann nicht mit Zahlen beginnen**: `$2024_daten` ❌
* **Kann keine Leerzeichen oder Sonderzeichen enthalten**: `$mein-filter` ❌, `$mein filter` ❌

**Aktuelle Einschränkungen:**

* **Nur WHERE-Klausel**: Variablen können nur in WHERE-Bedingungen verwendet werden
* **Keine Spaltennamen**: Variablen können nicht für SELECT-Spalten wie `SELECT $spaltenname FROM tabelle` verwendet werden
* **Kein GROUP BY/ORDER BY**: Variablen können nicht in `GROUP BY $gruppenfeld` oder `ORDER BY $sortierfeld` verwendet werden

Für vollständige technische Details siehe [DuckDBs Dokumentation zu benannten Parametern](https://duckdb.org/docs/stable/sql/query_syntax/prepared_statements.html#named-parameters-parameter).

{% hint style="info" %}
Verwenden Sie beschreibende Namen wie `$abteilungsfilter` oder `$startdatum` anstatt generische Namen wie `$var1` oder `$x`. Dies macht Ihre Abfragen später leichter verständlich.
{% endhint %}

## Wie Variablen in der Benutzeroberfläche funktionieren

Wenn Sie eine SQL-Abfrage mit Variablen schreiben, erkennt das System sie automatisch und erstellt interaktive Steuerelemente über der Tabellenvorschau oder Diagrammvorschau auf der linken Seite der Benutzeroberfläche.

### Variablen steuern

Jede Variable bekommt ihre eigene kleine Steuerung, in der Ihnen folgende Funktionen zur Verfügung stehen:

{% stepper %}
{% step %}
**Mit verschiedenen Variablentypen testen**

Sie können Ihre Variablen mit verschiedenen Datentypen testen:

* **Text** - Für Namen, Kategorien, Beschreibungen
* **Zahl** - Für Beträge, Anzahlen, IDs
* **Datum** - Für zeitbasierte Filterung (YYYY-MM-DD-Format)

Die Benutzeroberfläche ermöglicht es Ihnen zu testen, wie sich Ihre Abfrage mit verschiedenen Arten von Werten verhält.
{% endstep %}

{% step %}
**Einzelne oder mehrere Werte wählen**

**Einzelwert-Modus:**

* Geben Sie einen Wert ein, der die Variable ersetzt
* Beispiel: `$abteilung` wird zu `"Öffentliche Sicherheit"`

**Mehrwert-Modus:**

* Geben Sie mehrere Werte getrennt durch Semikolons ein
* Beispiel: `$statusliste` wird zu `"Aktiv; Ausstehend; Überprüfung"`
* Verwenden Sie mit `IN`-Klausel: `WHERE status IN ($statusliste)`
  {% endstep %}

{% step %}
**Ihre Testwerte eingeben**

**Für Textwerte:**

* Direkt tippen: `Öffentliche Sicherheit`
* Mehrere Werte: `Aktiv; Ausstehend; Abgeschlossen`
* Semikolons wörtlich einschließen: `Text mit \; Semikolon`

**Für Zahlen:**

* Einzeln: `1000`
* Mehrere: `100; 500; 1000`

**Für Daten:**

* Immer YYYY-MM-DD-Format verwenden: `2024-01-15`
* Nur einzelnes Datum (keine mehreren Datumswerte)
  {% endstep %}

{% step %}
**Ihre Abfrage testen**

Klicken Sie **"Anwenden"** auf der Variablen-Pill, um mit diesen Werten zu testen, dann führen Sie Ihre Abfrage aus, um die Ergebnisse zu sehen.
{% endstep %}
{% endstepper %}

## Häufige Variablenmuster

### Einzelwert-Filterung

```sql
SELECT abteilung, COUNT(*) as mitarbeiteranzahl
FROM mitarbeiter 
WHERE abteilung = $abteilung
GROUP BY abteilung
ORDER BY mitarbeiteranzahl DESC
```

**Variablen-Setup:**

* Name: `abteilung`
* Testen mit: Textwerten wie `Öffentliche Sicherheit`
* Modus: Einzelwert

### Mehrwert-Filterung

```sql
SELECT * 
FROM projekte
WHERE status IN $statusliste
  AND prioritaet IN $prioritaetsliste
ORDER BY erstellungsdatum DESC
```

**Variablen-Setup:**

* Name: `statusliste`
* Testen mit: Mehreren Textwerten wie `Aktiv; Überprüfung; Planung`
* Modus: Mehrere Werte

### Datumsbereichs-Filterung

```sql
SELECT * 
FROM budgetposten
WHERE erstellungsdatum >= $startdatum 
  AND erstellungsdatum <= $enddatum
  AND betrag >= $mindestbetrag
ORDER BY erstellungsdatum
```

**Variablen-Setup:**

* `startdatum`: Testen mit Datumswerten wie `2024-01-01`
* `enddatum`: Testen mit Datumswerten wie `2024-12-31`
* `mindestbetrag`: Testen mit Zahlenwerten wie `1000`

### Umgang mit leeren Variablen

Wenn kein Filter angewendet werden soll, verwenden Sie dieses Muster, um alle Daten zu zeigen:

```sql
SELECT * 
FROM projekte
WHERE (abteilung = $abteilung OR $abteilung IS NULL)
  AND (status IN $statusliste OR array_length($statusliste) = 0)
```

Dies gewährleistet:

* Wenn Sie `$abteilung` auf "Öffentliche Sicherheit" setzen, zeigen nur diese Projekte
* Wenn Sie `$abteilung` leer lassen, zeigen ALLE Abteilungen
* Dieselbe Logik funktioniert für die Statusliste

**Wichtiger Unterschied für Mehrfachauswahl-Variablen:**

* **Einzelwert-Variablen** verwenden `OR $variable IS NULL` wenn leer
* **Mehrfachauswahl-Variablen** verwenden `OR array_length($variable) = 0` wenn keine Optionen ausgewählt sind

Mehrfachauswahl-Filter senden leere Arrays (nicht Null-Werte) wenn keine Auswahl im Filter getroffen wurde (leere Auswahl). Die `array_length()`-Funktion gibt 0 für leere Arrays zurück, wodurch Ihre Abfrage alle Daten anzeigen kann, wenn keine Filteroptionen ausgewählt sind.

{% hint style="success" %}
**Profi-Tipp**: Schließen Sie immer das richtige Muster für leere Filter ein:

* Einzelwert-Variablen: `OR $variable IS NULL`
* Mehrfachauswahl-Variablen: `OR array_length($variable) = 0`

Dies macht Ihre Abfragen funktionsfähig, egal ob Filter gesetzt sind oder nicht, was besonders wichtig ist, wenn Sie Variablen in Berichten verwenden.
{% endhint %}

## Variablen in Auswertungen testen

Variablen sind perfekt zum Testen verschiedener Szenarien beim Erstellen von Auswertungen:

### Entwicklungsworkflow

{% stepper %}
{% step %}
**Schreiben Sie Ihre Basis-Abfrage**

Beginnen Sie mit einer Abfrage, die ohne Variablen funktioniert:

```sql
SELECT abteilung, AVG(budget) as durchschnittsbudget
FROM projekte 
WHERE status = 'Aktiv'
GROUP BY abteilung
```

{% endstep %}

{% step %}
**Fügen Sie Variablen für Flexibilität hinzu**

Ersetzen Sie feste Werte durch Variablen:

```sql
SELECT abteilung, AVG(budget) as durchschnittsbudget
FROM projekte 
WHERE (status IN $statusfilter OR array_length($statusfilter) = 0)
  AND (abteilung = $abteilungsfilter OR $abteilungsfilter IS NULL)
GROUP BY abteilung
```

{% endstep %}

{% step %}
**Verschiedene Szenarien testen**

Verwenden Sie die Variablen-Pills zum Testen:

* Alle aktiven Projekte: `statusfilter` = `Aktiv`
* Aktiv und ausstehend: `statusfilter` = `Aktiv; Ausstehend`
* Spezifische Abteilung: `abteilungsfilter` = `Gesundheitsdienste`
* Alle Abteilungen: `abteilungsfilter` leer lassen
  {% endstep %}

{% step %}
**Verifizieren Sie, dass Ergebnisse Sinn machen**

Überprüfen Sie, dass Ihre Abfrage erwartete Ergebnisse für jeden Testfall zurückgibt, bevor Sie sie in Berichten verwenden.
{% endstep %}
{% endstepper %}

## Von Variablen in Auswertungen zu Berichtsfiltern

Die wahre Macht von Variablen zeigt sich, wenn Sie Auswertungen mit Variablen in Berichten verwenden:

### Die Verbindung

1. **In Auswertungen**: Variablen ermöglichen es Ihnen, verschiedene Abfrageparameter zu testen
2. **In Berichten**: Dieselben Variablen können zu benutzerfreundlichen Filtern werden
3. **Für Endnutzer des Berichts**: Sie sehen Menüs und Datumsauswähler, nicht rohen SQL-Code

### Beispiel-Transformation

**Ihre SQL-Auswertung mit Variablen:**

```sql
SELECT abteilung, COUNT(*) as projektanzahl
FROM projekte
WHERE (status IN $projektstatus OR array_length($projektstatus) = 0)
  AND (erstellungsdatum >= $startdatum OR $startdatum IS NULL)
```

**Wird zu diesem für Berichtsbenutzer:**

* **Projektstatus**-Filter mit Auswahl: "Aktiv", "Ausstehend", "Abgeschlossen"
* **Startdatum**-Filter für die Auswahl des frühesten einzuschließenden Datums

### Warum das wichtig ist

* **Entwickler** arbeiten mit flexiblen SQL-Abfragen mit Variablen
* **Berichts-Ersteller** verbinden Variablen mit benutzerfreundlichen Filter-Benutzeroberflächen
* **Endnutzer** bekommen intuitive Steuerelemente, ohne SQL-Code zu sehen oder zu bearbeiten

Für vollständige Details zur Verbindung von Variablen mit Berichtsfiltern siehe [**Berichtsfilter**](/berichte/filter).

## Tipps

### Variablennamen

* **Seien Sie beschreibend**: `$abteilungsfilter` nicht `$a`
* **Seien Sie konsistent**: Wenn Sie das `_filter`-Suffix verwenden, verwenden Sie es überall
* **Passen Sie zu Ihren Daten**: Verwenden Sie Namen, die zu Ihren Spaltennamen passen, wenn möglich

### Abfrage-Design

* **Behandeln Sie Nulls ordnungsgemäß**: Schließen Sie immer `OR $variable IS NULL` für optionale Filter ein
* **Testen Sie gründlich**: Probieren Sie leere Werte, Einzelwerte und mehrere Werte
* **Verwenden Sie angemessene SQL-Klauseln**: `=` für Einzelwerte, `IN` für Listen

### Variablentypen

* **Text**: Für Kategorien, Namen, Beschreibungen
* **Zahl**: Für Beträge, Anzahlen, IDs
* **Datum**: Nur für Datumswerte, immer YYYY-MM-DD-Format

### Test-Ablauf

1. **Beginnen Sie einfach**: Testen Sie zuerst mit Einzelwerten
2. **Fügen Sie Komplexität hinzu**: Probieren Sie mehrere Werte und Kombinationen
3. **Testen Sie Grenzfälle**: Leere Werte, alle Werte, keine Treffer
4. **Verifizieren Sie Logik**: Stellen Sie sicher, dass NULL-Behandlung korrekt funktioniert

{% hint style="warning" %}
**Denken Sie daran**: Variablen sind abhängig von Groß- und Kleinschreibung. `$Abteilung` und `$abteilung` sind verschiedene Variablen. Bleiben Sie bei Kleinschreibung mit Unterstrichen für Konsistenz.
{% endhint %}

## Häufige Problembehandlung

### Variable nicht erkannt

**Problem**: Sie haben `$abteilung` getippt, aber sehen keine Variable wird erkannt

**Lösung**: Überprüfen Sie die Rechtschreibung und stellen Sie sicher, dass der Variablenname den Namensregeln folgt

### Abfrage schlägt mit Variablen fehl

**Problem**: Abfrage funktioniert ohne Variablen, aber schlägt fehl, wenn Sie sie hinzufügen

**Lösung**: Überprüfen Sie Ihre NULL-Behandlung - fügen Sie `OR $variable IS NULL`-Bedingungen hinzu

### Falscher Datentyp

**Problem**: Ihre Datumsvariable zeigt Textwerte oder Zahlen werden als Text angezeigt

**Lösung**: Testen Sie mit dem korrekten Datentyp in der Variablen-Benutzeroberfläche - probieren Sie Datumsformat YYYY-MM-DD für Daten

### Mehrere Werte funktionieren nicht

**Problem**: Mehrere Werte in einer Variable filtern nicht korrekt

**Lösung**: Stellen Sie sicher, dass Sie `IN ($variable)` und nicht `= $variable` für Listen verwenden

## Erweiterte Muster

### Komplexe Filterung

```sql
SELECT * 
FROM projekte
WHERE 
  -- Datumsbereichs-Filterung
  (erstellungsdatum BETWEEN $startdatum AND $enddatum 
   OR ($startdatum IS NULL AND $enddatum IS NULL))
  
  -- Multi-Kriterien-Filterung  
  AND (
    (abteilung IN $abteilungsliste OR array_length($abteilungsliste) = 0)
    AND (status IN $statusliste OR array_length($statusliste) = 0)
    AND (budget >= $mindestbudget OR $mindestbudget IS NULL)
  )
```

{% hint style="info" %}
**Denken Sie daran**: Variablen können nur in WHERE-Klauseln verwendet werden. Komplexe Logik mit CASE-Anweisungen, dynamische Spaltenauswahl oder variable GROUP BY/ORDER BY-Klauseln werden derzeit nicht unterstützt.
{% endhint %}

Bereit, Variablen in Berichten zu verwenden? Erfahren Sie, wie Sie Ihre SQL-Auswertungen mit benutzerfreundlichen Berichtsfiltern in der [**Berichtsfilter-Dokumentation**](/berichte/filter) verbinden.


# SQL-Editor

Der SQL-Editor ermöglicht es Ihnen, eigene Abfragen in der Polyteia-Plattform zu schreiben, um Datensätze zu erkunden.

Er ist nützlich, wenn Sie mehr Kontrolle benötigen, als der visuelle Builder bietet. Sie können Spalten auswählen, Filter hinzufügen und Ergebnisse genau nach Ihren Wünschen gruppieren oder sortieren. Der Editor verwendet [DuckDB SQL-Syntax](https://duckdb.org/docs/stable/sql/introduction.html).

Um eine Abfrage auszuführen, müssen Sie zuerst einen Datensatz auswählen und Ihre Abfrage immer mit einem **LIMIT** beenden. Die maximale Zeilenanzahl für Abfragen beträgt 10.000.

## SQL-Editor öffnen

Sie können in den SQL-Modus von jeder Auswertung aus wechseln:

* Gehen Sie zum Reiter **Daten**
* Klicken Sie auf die Schaltfläche **SQL** neben **No-code**

Dies öffnet einen Texteditor, in dem Sie Ihre SQL-Abfrage schreiben können.

## Datensatz auswählen

Sie müssen immer definieren, auf welchem Datensatz die Abfrage ausgeführt werden soll.

* Klicken Sie auf das Dropdown-Menü mit der Bezeichnung **Verfügbare Datensätze**
* Kopieren Sie die Datensatz-ID mit der Schaltfläche **Kopieren**
* Fügen Sie sie in Ihren SQL-Code ein

Beispiel:

```sql
select *
from '{{ds_abc123xy456}}' as "Beispiel-Datensatz"
limit 1000
```

**Wichtig:** Fügen Sie immer **LIMIT** am Ende Ihrer Abfrage hinzu. Die Abfrage wird ohne diesen Befehl nicht ausgeführt. 1000 ist die maximale Anzahl der Zeilen für die Abfrage.

## Eigene Abfrage schreiben

Sobald der Datensatz ausgewählt ist, können Sie jede gültige DuckDB SQL-Abfrage schreiben.

#### Beispiel: Auswählen und zählen

```sql
select department, count(*) as total
from '{{ds_abc123xy456}}'
group by department
order by total desc
limit 1000
```

Dieses Beispiel zählt, wie viele Zeilen für jede Abteilung existieren und sortiert sie von hoch nach niedrig.

## Datensatz-Schema erkunden

Unterhalb des Editors sehen Sie eine Liste der Spalten für den ausgewählten Datensatz. Jede zeigt:

* Den Spaltennamen
* Den Datentyp (wie **VARCHAR**, **DATE**, **DOUBLE**, etc.)

Nutzen Sie diese, um gültige Abfragen zu schreiben, ohne Spaltennamen erraten zu müssen.

Beispieltypen:

| Spaltenname        | Typ     | Bedeutung           |
| ------------------ | ------- | ------------------- |
| Name               | VARCHAR | Textwerte           |
| Startdatum         | DATE    | Datum für Filterung |
| Alter              | BIGINT  | Ganze Zahl          |
| Vollzeitäquivalent | DOUBLE  | Dezimalzahl         |

## Häufige SQL-Klauseln

Sie können alle standardmäßigen DuckDB-Klauseln verwenden. Hier ist eine kurze Übersicht:

| Klausel      | Funktion                                           |
| ------------ | -------------------------------------------------- |
| **select**   | Wählen Sie anzuzeigende Spalten                    |
| **from**     | Definieren Sie den Datensatz                       |
| **where**    | Zeilen filtern (z. B. `where age > 30`)            |
| **group by** | Daten zusammenfassen (z. B. Summen pro Kategorie)  |
| **order by** | Zeilen sortieren (z. B. `order by name asc`)       |
| **limit**    | Immer erforderlich, begrenzt die Anzahl der Zeilen |

## Abfragevalidierung

Alle SQL-Abfragen werden vor der Ausführung validiert. Das System überprüft Ihre Abfrage, um sicherzustellen, dass sie sicher ist und den Plattformregeln entspricht.

Operationen, die Daten ändern, löschen oder beschädigen könnten - wie **DROP**, **DELETE**, **UPDATE** oder das Erstellen neuer Tabellen - sind nicht erlaubt. Wenn das System etwas Ungültiges oder Unsicheres erkennt, wird die Abfrage nicht ausgeführt.

Dies stellt sicher, dass im Editor nur sichere und schreibgeschützte Operationen möglich sind.

Eine vollständige Liste der verfügbaren SQL-Funktionen mit Beispielen finden Sie in unserer [SQL-Befehle Referenz](/auswertungen/sql-editor/sql-befehle).

## Abfrage ausführen

Klicken Sie auf die Schaltfläche **Ausführen**, um Ihre Abfrage zu starten. Die Ergebnisse werden in der Tabelle links angezeigt.

Wenn nichts angezeigt wird:

* Überprüfen Sie Tippfehler in den Spaltennamen
* Stellen Sie sicher, dass die Datensatz-ID korrekt ist
* Bestätigen Sie, dass Sie **limit 1000** hinzugefügt haben

Wenn die Tabelle immer noch leer ist, könnte Ihre Abfrage basierend auf den Filtern keine Zeilen zurückgeben.

## Zurück zum visuellen Modus wechseln

Möchten Sie den Builder wieder verwenden?

* Klicken Sie auf **No-code** neben **SQL**
* Dies setzt Ihre Abfrage zurück und kehrt zur Drag-and-Drop-Oberfläche zurück

Hinweis: Sie verlieren Ihre aktuelle SQL-Abfrage, wenn Sie wechseln.


# Auswertungsvorlagen

Erstellen und teilen Sie Auswertungsvorlagen, damit andere Nutzer Ihre Auswertung auf eigene Daten anwenden können.

{% hint style="info" %}
Auswertungsvorlagen sind eine kostenpflichtige Zusatzfunktion. Wenn Sie Interesse haben, kontaktieren Sie uns unter **<support@polyteia.de>**.
{% endhint %}

Stellen Sie sich vor, Sie haben eine Auswertung erstellt, die genau zeigt, was Sie brauchen. Jetzt möchten Sie, dass andere Teams oder Organisationen dieselbe Auswertung mit ihren eigenen Daten nutzen können. Genau dafür gibt es Auswertungsvorlagen.

### Was ist eine Auswertungsvorlage?

Eine Vorlage ist wie ein Rezept. Sie enthält die Anleitung (die Abfrage und die Visualisierung), aber nicht die Zutaten (Ihre Daten). Andere Nutzer können das Rezept nehmen und mit ihren eigenen Zutaten nachkochen.

### Was wird in der Vorlage gespeichert?

Eine Vorlage enthält:

* **SQL- oder Baukasten-Abfrage**
* **Datensatz-Systemnamen und Spaltennamen** der verwendeten Datensätze
* **Visualisierungseinstellungen** (Diagrammtyp, Farben usw.)

{% hint style="info" %}
Es werden **keine Daten** geteilt. Datensätze und deren Inhalte bleiben privat – nur Referenzen zu Datensätzen und die Konfiguration der Auswertung kommen in die Vorlage.
{% endhint %}

### Wann ist das nützlich?

* Mehrere Organisationen sollen dieselbe Auswertung nutzen, aber mit eigenen Daten
* Sie möchten eine bewährte Auswertung als Vorlage für andere bereitstellen
* Teams sollen eine einheitliche Auswertungsstruktur verwenden

***

## Vorlage erstellen

{% stepper %}
{% step %}
**Auswertung öffnen**

Öffnen Sie die Auswertung, aus der Sie eine Vorlage erstellen möchten. Die Auswertung muss eine gespeicherte Abfrage haben.
{% endstep %}

{% step %}
**Vorlage erstellen wählen**

Klicken Sie auf das Drei-Punkte-Menü **...** in der oberen rechten Ecke. Wählen Sie **Vorlage erstellen**.

{% hint style="info" %}
Diese Option erscheint nur, wenn Sie die Auswertung bearbeiten dürfen und Zugriff auf alle darin verwendeten Datensätze haben.
{% endhint %}
{% endstep %}

{% step %}
**Sicherheitshinweis bestätigen**

Sie sehen einen Hinweis, welche Informationen in der Vorlage enthalten sind. Lesen Sie diesen durch und klicken Sie auf **Speichern & Vorlage erstellen**.

{% hint style="info" %}
Mögliche ungespeicherte Änderungen werden vor dem Erstellen der Vorlage automatisch gespeichert. Während dieses Vorgangs lässt sich der Dialog nicht abbrechen.
{% endhint %}

{% hint style="warning" %}
Falls in der Auswertung mehrere Datensätze denselben **Systemnamen** haben, erhalten Sie die Meldung **Doppelter Systemname**. Benennen Sie den betroffenen Datensatz um, sodass jeder Systemname eindeutig ist, und versuchen Sie es erneut.
{% endhint %}
{% endstep %}

{% step %}
**Link kopieren und speichern**

Nach der Erstellung erscheint ein Link zur Auswertungsvorlage. Kopieren Sie diesen Link und geben Sie ihn an andere Nutzer weiter.

Hinweise zum Link:

* Notieren Sie den Link jetzt – er wird nur hier angezeigt.
* Jeder Polyteia-Nutzer mit dem Link kann die Vorlage anwenden.
* Erstellen Sie jederzeit eine weitere Vorlage, um einen neuen Link zu erzeugen.
  {% endstep %}
  {% endstepper %}

***

## Vorlage anwenden

Wenn Sie einen Vorlagen-Link erhalten haben, können Sie daraus eine neue Auswertung mit Ihren eigenen Daten erstellen.

{% stepper %}
{% step %}
**Link öffnen**

Öffnen Sie den Vorlagen-Link in Ihrem Browser. Sie werden automatisch zur Vorlagen-Anwendung weitergeleitet.
{% endstep %}

{% step %}
**Lösung auswählen**

Wählen Sie, wo die neue Auswertung erstellt werden soll:

1. **Organisation** wählen (wenn Sie Zugang zu mehreren haben)
2. **Arbeitsbereich** auswählen
3. **Lösung** auswählen
4. Klicken Sie auf **Weiter**

{% hint style="info" %}
Sie können auch nach Lösungen suchen, um schneller die richtige zu finden.
{% endhint %}
{% endstep %}

{% step %}
**Name und Beschreibung anpassen**

Passen Sie den Namen und die Beschreibung der neuen Auswertung an. Die Vorschau auf der rechten Seite zeigt Ihnen, wie die Auswertung mit Ihren Daten aussehen wird.
{% endstep %}

{% step %}
**Datensätze zuordnen (optional)**

Das System versucht automatisch, passende Datensätze in Ihrer Lösung zu finden. In den meisten Fällen müssen Sie hier nichts ändern.

Wenn die automatische Zuordnung nicht klappt oder Sie sie überschreiben möchten, klicken Sie auf **Erweiterte Einstellungen**:

* In der linken Spalte sehen Sie den **Datensatz aus der Vorlage**
* In der rechten Spalte wählen Sie Ihren **eigenen Datensatz** aus der Ziellösung

{% hint style="info" %}
Der Bereich **Erweiterte Einstellungen** öffnet sich automatisch, wenn das System einem Datensatz aus der Vorlage keinen passenden Datensatz in Ihrer Lösung zuordnen konnte.
{% endhint %}

{% hint style="warning" %}
Wenn ein Warnsymbol erscheint, stimmen die Spalten oder Datentypen Ihres Datensatzes nicht mit der Vorlage überein. Die Auswertung funktioniert dann möglicherweise nicht wie erwartet.
{% endhint %}
{% endstep %}

{% step %}
**Anwenden**

Klicken Sie auf **Anwenden**. Die neue Auswertung wird in Ihrer gewählten Lösung erstellt. Sie werden automatisch zur neuen Auswertung weitergeleitet.
{% endstep %}
{% endstepper %}

***

## Systemname (Slug) für Datensätze

Damit die Vorlage Datensätze automatisch zuordnen kann, hat jeder Datensatz einen **Systemnamen**. Das ist eine kurze Kennung aus Kleinbuchstaben, Zahlen und Unterstrichen.

Der Systemname muss innerhalb einer Lösung eindeutig sein. Wenn die Ziellösung einen Datensatz mit dem gleichen Systemnamen hat, wird er automatisch vorgeschlagen.

{% hint style="info" %}
Sie können den Systemnamen eines Datensatzes in den **Datensatzdetails bearbeiten** ändern.
{% endhint %}

***

## Tipps

* **Gleiche Systemnamen verwenden**: Wenn Sie Vorlagen zwischen Organisationen teilen, verwenden Sie in allen Lösungen die gleichen Systemnamen für ähnliche Datensätze. So werden die Datensätze automatisch zugeordnet.
* **Spaltennamen beibehalten**: Damit die Vorlage korrekt funktioniert, sollten die Spaltennamen in Ihren Datensätzen mit denen aus der Vorlage übereinstimmen.
* **Vorschau prüfen**: Prüfen Sie vor dem Anwenden die Vorschau auf der rechten Seite. So sehen Sie sofort, ob die Daten richtig zugeordnet sind.
* **Erst testen, dann teilen**: Wenn Sie die Vorlage an viele Personen weitergeben möchten, testen Sie sie zuerst mit einer Person. So können Sie prüfen, ob alles wie erwartet funktioniert, bevor Sie den Link breit verteilen.


# Auswertungen verwalten

Verwalten Sie Ihre Auswertungen in der Polyteia-Plattform.

Sobald eine Auswertung erstellt wurde, kann sie über das Speichern-Dropdown-Menü in der oberen rechten Ecke des Editors verwaltet werden. Dies umfasst das Speichern, Bearbeiten, Exportieren, Duplizieren und Löschen der Auswertung.

### Wo Auswertungsaktionen zu finden sind

Klicken Sie auf die Schaltfläche **Speichern** oder das Drei-Punkte-Menü **...** in der oberen rechten Ecke einer Auswertung, um das Optionsmenü zu öffnen.

### Verfügbare Optionen

| Option                      | Beschreibung                                                                                                                                                                                    |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Bearbeiten**              | Öffnet die Auswertung im Editor, um Änderungen vorzunehmen                                                                                                                                      |
| **Daten exportieren**       | Ermöglicht den Export der Tabellendaten der Auswertung als **CSV**, **Excel**, **Parquet** oder **JSON**                                                                                        |
| **In Datensatz speichern**  | Speichert die *Ergebnisse* der Auswertung (gefilterte und aggregierte Daten) in einen neuen Datensatz. Sie können Namen und Ort des Datensatzes wählen                                          |
| **Auswertungs-ID kopieren** | Kopiert die eindeutige Auswertungs-ID (nützlich für Referenzierung in Code oder Integrationen)                                                                                                  |
| **Auswertung duplizieren**  | Erstellt eine bearbeitbare Kopie der Auswertung in derselben Lösung. Ein Pop-up fordert Sie auf, einen Namen und eine Beschreibung für die neue Auswertung zu wählen                            |
| **Vorlage erstellen**       | Erstellt eine [Auswertungsvorlage](/auswertungen/auswertungsvorlagen), die andere Nutzer auf eigene Daten anwenden können. Nur sichtbar, wenn Sie Zugriff auf alle verwendeten Datensätze haben |
| **Auswertung löschen**      | Löscht die Auswertung dauerhaft (nur verfügbar, wenn Sie der Eigentümer sind)                                                                                                                   |

### Speicherverhalten

* **Speichern**: Dies speichert die aktuelle Auswertung. Nur der **Auswertungs-Eigentümer** sieht diese Schaltfläche
* **Als neue Auswertung speichern**: Diese Schaltfläche erscheint für Benutzer, die **nicht der Auswertungs-Eigentümer** sind. Sie erstellt ein Duplikat der aktuellen Auswertung unter Ihrem eigenen Besitz

### Was beim Duplizieren einer Auswertung geschieht

Durch Klicken auf **Auswertung duplizieren** öffnet sich ein Modal, in dem Sie:

* Einen neuen Namen für die duplizierte Auswertung festlegen können
* Optional eine neue Beschreibung hinzufügen können
* Die duplizierte Auswertung erscheint in derselben Lösung wie das Original und öffnet sich im Editor

Dies ist nützlich, wenn Sie eine bestehende Auswertung anpassen möchten, ohne das Original zu beeinflussen.

### Was beim Speichern in einen Datensatz geschieht

Durch Klicken auf **In Datensatz speichern** können Sie die **Datenausgabe** einer Auswertung – nach Filtern, Verknüpfungen und Aggregationen – in einem neuen Datensatz speichern.

Sie werden aufgefordert:

* Den Arbeitsbereich, die Lösung und den Datensatzort zu wählen
* Den Datensatznamen zu bestätigen oder zu ändern
* Der neue Datensatz wird die Ergebnistabelle genau so enthalten, wie sie im Editor angezeigt wird

Dies ist nützlich, wenn Sie mit dem bereinigten oder aggregierten Ergebnis als neuer Basisdatensatz weiterarbeiten möchten.

## Hinweise zu Berechtigungen

* Nur Auswertungs-Eigentümer können Änderungen an einer bestehenden Auswertung speichern
* Nicht-Eigentümer können immer **Auswertung duplizieren** verwenden, um eine Kopie zu erstellen, die ihnen gehört
* Jeder Benutzer kann Daten exportieren oder die Auswertungs-ID kopieren


# Berichte

Erstellen und verwalten Sie Berichte in der Polyteia-Plattform.

Mit der Berichtsfunktion lassen sich unterschiedliche Auswertungen in einem einfach teilbaren Dokument zusammenführen und durch erläuternde Texte ergänzen. Die Berichtsfunktion eignet sich zum Erstellen von Dashboards, zur Erfüllung von Berichtspflichten und als flexible Ad-hoc-Zusammenfassung wichtiger Datenpunkte für Entscheidungsträger.

### Berichte nutzen

Mit der Berichtsfunktion können Sie:

* mehrere Auswertungen in einer Ansicht kombinieren
* schriftlichen Kontext zu Ihren Visualisierungen, einschließlich Karten, erstellen
* Fragestellungen über mehrere Themen oder Datensätze hinweg beantworten
* strukturierte Berichte mit anderen Nutzenden teilen

Berichte können Titel, Abschnitte, Kommentare, Auswertungen und Datenseiten enthalten.

### Berichte strukturieren

Berichte sind wie ein Word-Dokumente strukturiert. Sie können:

* [Textblöcke](/berichte/bericht-erstellen) mit Formatierung hinzufügen (fett, kursiv, Listen, Links usw.)
* [Variablen](/berichte/textvariablen) in Texten einfügen für dynamische Werte ($variable\_name)
* [Diagramme und Tabellen](/berichte/bericht-erstellen) über Ihre gespeicherten Auswertungen einfügen
* [Datenseiten](/berichte/datenseite) hinzufügen, um Datensätze direkt anzuzeigen
* Inhalte in [Spalten](/berichte/bericht-erstellen) durch ein flexibles Layout anordnen
* [Blöcke](/berichte/bericht-erstellen) per Drag & Drop neu anordnen

### Berichte erstellen

1. Öffnen Sie eine Lösung: **Startseite** → **Arbeitsbereich aufklappen** → **Lösung**
2. Klicken Sie in der Seitenleiste auf **Berichte**
3. Im Fenster klicken Sie auf das **+** Symbol
4. Legen Sie einen Titel und eine Beschreibung (optional) fest
5. Beginnen Sie mit dem Hinzufügen von Blöcken:
   * Verwenden Sie die **+**-Schaltfläche, um Text, Auswertung oder Spalten hinzuzufügen
   * Innerhalb von Spalten können Sie andere Blöcke hinzufügen (z. B. eine Auswertung neben Kommentaren platzieren)

Es gibt keine Begrenzung für die Anzahl der Blöcke oder Abschnitte. Sie können diese jederzeit verschieben, entfernen oder duplizieren.

Hier geht es zur detaillierten Anleitung: [Bericht erstellen](/berichte/bericht-erstellen).

### Berichte speichern, teilen und exportieren

Sie können:

* Berichte speichern, um später daran weiterzuarbeiten
* Berichte über Links mit anderen Benutzern in Ihrer Organisation teilen
* [Berichtsansichten](/berichte/ansichten) erstellen und per öffentlichem Link mit Personen außerhalb der Plattform teilen
* Berichte als PDF-Datei exportieren, um sie außerhalb der Plattform zu teilen oder zu drucken

Nur Berichtsersteller (Eigentümer) und Berichtseditoren können Änderungen vornehmen. Betrachter können den Bericht nur ansehen.

Weitere Details finden Sie unter [Hinweise zu Berechtigungen](/berichte/berichte-verwalten#hinweise-zu-sichtbarkeit-und-berechtigungen).

### Berechtigungen

<table><thead><tr><th width="288.74609375">Berechtigung</th><th align="center">Eigentümer</th><th align="center">Bearbeiter</th><th align="center">Betrachter</th></tr></thead><tbody><tr><td>Bericht-Metadaten bearbeiten (z. B. Name, Beschreibung)</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Bericht teilen und Eigentümerschaft übertragen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Bericht löschen</td><td align="center">✓</td><td align="center">✕</td><td align="center">✕</td></tr><tr><td>Berichtsansichten erstellen und teilen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✕</td></tr><tr><td>Berichtsinhalte einsehen</td><td align="center">✓</td><td align="center">✓</td><td align="center">✓</td></tr></tbody></table>


# Bericht erstellen

Erstellen Sie Berichte in der Polyteia-Plattform.

### Schritt-für-Schritt-Anleitung

{% stepper %}
{% step %}
**Navigation**

1. Navigieren Sie zu einer Lösung
2. Klicken Sie in der Seitenleiste auf **Berichte**
3. Im Fenster klicken Sie auf das **+** Symbol
4. Geben Sie einen passenden Namen und eine Beschreibung für den Bericht ein
5. Der Bericht-Editor wird geöffnet
   {% endstep %}

{% step %}
**Inhaltsblöcke hinzufügen**

Berichte werden mithilfe von Blöcken strukturiert, die Sie frei hinzufügen, neu anordnen oder in Spalten gruppieren können. Klicken Sie auf die **+**-Schaltfläche im Editor, um einen Block an der Position Ihres Mauszeigers einzufügen.

{% hint style="info" %}
**Textblöcke einfügen:** Wenn Sie mit der Maus über einen Block fahren, erscheint eine Werkzeugleiste. Dort können Sie mit einem Klick einen Textblock **unterhalb** einfügen. Halten Sie **Alt** gedrückt und klicken Sie, um einen Textblock **oberhalb** einzufügen. Über das Papierkorb-Symbol können Sie den Block löschen.
{% endhint %}

Hier ist eine Übersicht aller verfügbaren Blocktypen:

<table data-full-width="false"><thead><tr><th>Blocktyp</th><th>Beschreibung</th><th>Blocktyp</th><th>Beschreibung</th></tr></thead><tbody><tr><td><strong>Text</strong></td><td>Text mit vollständiger Formatierung (fett, Listen, Links usw.)</td><td><p><strong>Überschrift</strong></p><p><strong>Größe 1–3</strong></p></td><td>Große Abschnittstitel mit Hierarchie</td></tr><tr><td><strong>Aufzählungsliste</strong></td><td>Aufzählungspunkte für die Auflistung von Elementen</td><td><strong>Nummerierte Liste</strong></td><td>Schrittweise Liste mit automatischer Nummerierung</td></tr><tr><td><strong>Todo-Liste</strong></td><td>Checklistenelemente mit Umschaltern</td><td><strong>Umschalter</strong></td><td>Einklappbarer Textblock für versteckte Details</td></tr><tr><td><strong>Zitat</strong></td><td>Hervorgehobenes Zitat</td><td><strong>Code</strong></td><td>Block für Code oder Rohwerte</td></tr><tr><td><strong>Trennlinie</strong></td><td>Horizontale Linie zur Trennung von Abschnitten</td><td><strong>Drei Spalten</strong></td><td>Layout-Block zum Hinzufügen von zwei bis drei nebeneinanderliegenden Spalten</td></tr><tr><td><strong>Auswertung</strong></td><td>Eine Auswertung einfügen</td><td><strong>Link</strong></td><td>Einen Hyperlink innerhalb eines Textblocks erstellen</td></tr><tr><td><strong>Datum</strong></td><td>Statische Datumsanzeige</td><td><strong>Inline</strong> (bald verfügbar)</td><td>Leichtgewichtige Inline-Formatierung innerhalb von Texten</td></tr></tbody></table>
{% endstep %}

{% step %}
**Spalten für das Layout verwenden**

Um Inhalte nebeneinander zu platzieren - wie eine Auswertung neben Text - können Sie einen **Spaltenblock** einfügen.

**So fügen Sie Spalten ein**

1. Klicken Sie auf die **+**-Schaltfläche und wählen Sie **Drei Spalten**
2. Ein neuer Layout-Block mit leeren Bereichen zum Einfügen von Blöcken erscheint
3. Innerhalb jeder Spalte können Sie beliebige Blöcke hinzufügen - wie Text, Auswertungen oder Überschriften

**Layout anpassen**

Wenn Sie mit der Maus über den Spaltenblock fahren, erscheint eine Layout-Symbolleiste. Mit dieser können Sie schnell zwischen verschiedenen Spaltenanordnungen wechseln (z. B. gleiche Breite, breiter links/rechts oder drei Spalten). Klicken Sie einfach, um das Layout anzuwenden, das am besten funktioniert.

Um den gesamten Spaltenblock zu löschen, verwenden Sie das Papierkorb-Symbol auf der rechten Seite der Symbolleiste.
{% endstep %}

{% step %}
**Auswertungen aus der Auswertungsbibliothek einfügen**

Beim Hinzufügen eines Auswertungsblocks werden Sie aufgefordert, **eine bestehende Auswertung** aus Ihrem Arbeitsbereich auszuwählen. Nach der Auswahl wird die Auswertung zum Bericht hinzugefügt.

{% hint style="warning" %}
Die hinzugefügte Auswertungen stellt eine Verbindung zum Bericht her, das heißt Änderungen an der Auswertung werden auch in Echtzeit im Bericht angezeigt.
{% endhint %}
{% endstep %}

{% step %}
**Variablen in Textblöcken verwenden**

Sie können dynamische Werte direkt in Ihre Textblöcke einfügen:

1. Klicken Sie in einen Textblock (Text, Überschrift, Liste, etc.)
2. Tippen Sie **$** (Dollar-Zeichen)
3. Wählen Sie eine bestehende Variable oder erstellen Sie eine neue
4. Die Variable zeigt ihren aktuellen Wert im Text

**Anwendungsfälle:**

* Zeiträume: "Bericht für $monat $jahr"
* Metriken: "Gesamt: $gesamtzahl Fälle"
* Berechnete Werte aus SQL-Abfragen

→ Mehr Details: [Variablen in Berichten](/berichte/textvariablen)
{% endstep %}

{% step %}
**Filter hinzufügen**

Sofern Sie Variablen in Ihren Auswertungen verwenden können Sie Filter auf jeder Berichtsseite für Ihre Auswertungen hinzufügen. Mehr Informationen hierzu finden Sie unter [Berichtsfilter](/berichte/filter).
{% endstep %}

{% step %}
**Bericht speichern und verwalten**

1. Klicken Sie oben rechts auf **Speichern**, um Ihren Bericht zu speichern. **Achtung, es wird nicht automatisch gespeichert!**
2. Sie können nach dem Speichern jederzeit zurückkehren und den Bericht bearbeiten
3. Um den Bericht als PDF-Datei herunterzuladen, klicken Sie auf das **...**-Menü und wählen Sie **Exportieren**
4. Nur **Berichtseigentümer und -editoren** können den Bericht bearbeiten
5. Lösungsmitglieder können den Bericht und seine Inhalte **ansehen**, wenn Sie Zugriff auf die Datensätze der im Bericht enthaltenen Auswertungen haben
   {% endstep %}
   {% endstepper %}

### Aktuell unterstützt

* Block-basierte Bearbeitung mit Drag & Drop
* Vollständig formatierter Text (Überschriften, Listen, Links usw.)
* Hinzufügen von Auswertungen aus jeder Lösung, auf die Sie Zugriff haben
* Layout mit Spalten und flexibler Struktur
* PDF-Export: Berichte als PDF-Datei herunterladen

### Bald verfügbar

<table><thead><tr><th width="204.1171875">Funktion</th><th>Beschreibung</th></tr></thead><tbody><tr><td>Verfeinerte Berechtigungen</td><td>Das Teilen von Berichten wird einfacher</td></tr><tr><td>Versionsverlauf</td><td>Änderungen können nach dem Speichern rückgängig gemacht werden</td></tr><tr><td>Zeitplanung</td><td>Automatisierten Berichtsversand planen</td></tr></tbody></table>

### Gut zu wissen

* **Auswertungen in Berichten werden referenziert.** Um die Auswertung zu bearbeiten, müssen Sie die Auswertung öffnen und dort Ihre Änderungen vornehmen. Alle Berichte, die diese Auswertung enthalten, werden aktualisiert.
* **Berichte** sind für alle Mitglieder der Lösung sichtbar. Nur der Berichtseigentümer oder -editor kann sie bearbeiten. Um die Auswertungen sehen zu können, benötigen Sie die Berechtigung, die einzelne Auswertung zu sehen (Eigentümer oder Editor der zugrundeliegenden Datensätze).
* **Es gibt keine technischen Grenzen** für die Anzahl der Blöcke oder Auswertungen.


# Variablen in Textblöcken

Erstellen und verwenden Sie Variablen in Berichten für dynamische, wiederverwendbare Werte.

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) 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)

***

### 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) – Grundlagen für Berichte

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

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


# Seiten, Gruppen, Abschnitte und Datenseiten

Erstellen Sie gut strukturierte Berichte mit Hilfe von Seiten, Gruppen, Abschnitten und Datenseiten

Stellen Sie sich die Organisation eines Berichts vor wie die Planung einer Gemeinderatssitzung. Sie benötigen verschiedene Bereiche für unterschiedliche Themen. Außerdem brauchen Sie eine klare Navigation, damit die Teilnehmer finden können, was sie benötigen. Und schließlich einen logischen Ablauf, der für alle Anwesenden verständlich ist.

## Die vier Strukturelemente

Die Berichtsstruktur verwendet vier Arten von Elementen. Diese arbeiten zusammen, um klare und navigierbare Dokumente zu erstellen:

{% tabs %}
{% tab title="Seiten (Inhaltsbereiche)" %}
**Seiten sind der Ort, an dem Ihr tatsächlicher Inhalt lebt** - wie einzelne Räume in einem Gebäude:

* **Zusammenfassung** - Überblick auf hoher Ebene mit wichtigen Kennzahlen
* **Haushaltsanalyse** - Detaillierte finanzielle Aufschlüsselung und Diagramme
* **Behördenleistung** - Einzelne Berichte der Behörden
* **Empfehlungen** - Maßnahmenpunkte und nächste Schritte

**Seiten enthalten:**

* Text-Blöcke
* Datenvisualisierungen (Auswertungen)
* Bilder und Fotos
* Spaltenlayouts
  {% endtab %}

{% tab title="Gruppen (Behälter)" %}
**Gruppen organisieren verwandte Seiten zusammen** - wie Abteilungen in einem Gebäude:

* **Übersichtsgruppe** - Enthält Zusammenfassungs- und Einführungsseiten
* **Finanzgruppe** - Enthält alle Haushalts- und Finanzanalyseseiten
* **Behördengruppe** - Enthält einzelne Behördenleistungsseiten
* **Anhanggruppe** - Enthält unterstützende Dokumentation und detaillierte Daten

**Gruppen enthalten:**

* Mehrere verwandte Seiten
* Logische Organisation
* Einklappbare Navigation
* Hierarchische Struktur
  {% endtab %}

{% tab title="Abschnitte (Überschriften)" %}
**Abschnitte sind einfache Trenner** - wie Schilder in einem Gebäude:

* **Einführung** - Überschrift vor einleitendem Inhalt
* **Methodik** - Überschrift zur Erklärung Ihres Ansatzes
* **Datenquellen** - Überschrift für technische Informationen
* **Danksagungen** - Überschrift für Würdigungen

**Abschnitte enthalten:**

* Nur einen Titel/eine Überschrift
* Keinen untergeordneten Inhalt
* Visuelle Trennung
* Themenkennzeichnungen
  {% endtab %}

{% tab title="Datenseiten (Rohdaten)" %}
**Datenseiten zeigen Daten direkt an** - wie eine eingebettete Tabelle:

* **Schulverzeichnis** - Liste aller Schulen mit Details
* **Antragsliste** - Übersicht aller Anträge mit Status
* **Projektübersicht** - Alle Projekte mit Budget und Zeitplan

**Datenseiten bieten:**

* Direkte Anzeige von Datensätzen
* Filter und Sortierung für Leser
* Mehrere Reiter für verschiedene Ansichten
* Zusammenfassungen (Summe, Anzahl, Durchschnitt)

Mehr dazu: [Datenseiten](/berichte/datenseite)
{% endtab %}
{% endtabs %}

## Wann Sie jeden Typ verwenden sollten

### Verwenden Sie Seiten, wenn:

* Sie umfangreichen Inhalt zu präsentieren haben
* Themen separate Aufmerksamkeit und Raum benötigen
* Verschiedene Zielgruppen möglicherweise auf verschiedene Inhalte zugreifen
* Sie umfangreiche Formatierung und mehrere Inhaltsblöcke wünschen

**Beispiele:**

* Umfassende Haushaltsanalyse mit Diagrammen und Erklärungen
* Behördenleistungsüberprüfung mit Kennzahlen und Kommentaren
* Zusammenfassung mit wichtigen Highlights und Empfehlungen

### Verwenden Sie Gruppen, wenn:

* Sie mehrere verwandte Seiten haben
* Inhalt logische Organisation benötigt
* Benutzer von hierarchischer Navigation profitieren
* Sie einklappbare Abschnitte für eine bessere Übersicht wünschen

**Beispiele:**

* Alle Finanzseiten unter "Haushalt & Finanzen" gruppiert
* Mehrere Behördenberichte unter "Behördenleistung" gruppiert
* Verschiedene Anhänge unter "Unterstützende Dokumentation" gruppiert

### Verwenden Sie Abschnitte, wenn:

* Sie einfache Thementrennung benötigen
* Überschriften keine untergeordneten Inhalte erfordern
* Visuelle Pausen die Lesbarkeit verbessern
* Einfache Organisation ausreichend ist

**Beispiele:**

* "Methodik" - erklärt nur den Ansatz, keine Unterseiten erforderlich
* "Zusammenfassung" - einzelnes Thema, nicht mehrere Seiten
* "Danksagungen" - einfache Überschrift für Würdigungen

### Verwenden Sie Datenseiten, wenn:

* Leser den Datensatz direkt durchsuchen sollen
* Einzelne Datensätze wichtiger sind als Zusammenfassungen
* Verschiedene Filteransichten auf die gleichen Daten benötigt werden
* Leser selbst filtern und sortieren können sollen

**Beispiele:**

* Verzeichnis aller Einrichtungen mit Kontaktdaten
* Liste aller Anträge mit Status und Bearbeitungsstand
* Übersicht aller Projekte mit Budget und Zeitplan

Mehr dazu: [Datenseiten](/berichte/datenseite)

## Erstellung Ihrer Berichtsstruktur

{% stepper %}
{% step %}
**Planen Sie Ihre Inhaltshierarchie**

Bevor Sie Strukturelemente erstellen, skizzieren Sie, was Sie benötigen:

{% tabs %}
{% tab title="Einfacher Bericht" %}
**Grundstruktur für fokussierte Berichte:**

```
• Zusammenfassung (Seite)
Methodik (Abschnitt)
• Analyseergebnisse (Seite)
• Empfehlungen (Seite)
Datenquellen (Abschnitt)
```

**Gut geeignet für:** Einthema-Berichte, kurze Analysen, fokussierte Präsentationen
{% endtab %}

{% tab title="Behördenbericht" %}
**Struktur für Mehrbehörden-Analyse:**

```
• Übersicht (Gruppe)
  ├─ Zusammenfassung (Seite)
  └─ Wichtige Erkenntnisse (Seite)
• Behördenanalyse (Gruppe)
  ├─ Öffentliche Sicherheit (Seite)
  ├─ Gesundheitsdienste (Seite)
  └─ Öffentliche Arbeiten (Seite)
• Empfehlungen (Seite)
```

**Gut geeignet für:** Mehrbehörden-Überprüfungen, vergleichende Analysen
{% endtab %}

{% tab title="Umfassender Bericht" %}
**Struktur für komplexe Berichte mit mehreren Zielgruppen:**

```
• Führungsübersicht (Gruppe)
  ├─ Wichtige Highlights (Seite)
  └─ Strategische Empfehlungen (Seite)
• Finanzanalyse (Gruppe)
  ├─ Haushaltszusammenfassung (Seite)
  ├─ Einnahmenanalyse (Seite)
  └─ Ausgabendetails (Seite)
• Betrieb (Gruppe)
  ├─ Dienstleistungserbringung (Seite)
  └─ Leistungskennzahlen (Seite)
Methodik (Abschnitt)
• Anhänge (Gruppe)
  ├─ Detaillierte Daten (Seite)
  └─ Technische Hinweise (Seite)
```

**Gut geeignet für:** Jahresberichte, umfassende Überprüfungen, Präsentationen für mehrere Interessengruppen
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Erstellen Sie Ihre Strukturelemente**

Bauen Sie Ihre Organisation schrittweise auf:

1. **Hauptelemente hinzufügen:**
   * Klicken Sie auf **"Neu erstellen"** und wählen Sie den gewünschten Typ: Seite, Gruppe, Abschnitt oder Datenseite
   * Geben Sie jedem Element einen klaren, beschreibenden Namen, indem Sie doppelt auf den Namen klicken
   * Denken Sie an den logischen Ablauf und die Reihenfolge
2. **Hierarchisch organisieren:**
   * **Ziehen Sie Seiten in Gruppen**, um verschachtelte Struktur zu erstellen
   * **Ordnen Sie Elemente neu** durch Ziehen nach oben oder unten
   * **Benennen Sie Elemente um**, indem Sie auf ihre Namen klicken
3. **Navigation testen:**
   * Klicken Sie sich durch Ihre Struktur
   * Stellen Sie sicher, dass der logische Ablauf für Ihre Zielgruppe funktioniert
   * Überprüfen Sie, ob die Gruppierungen Sinn ergeben

{% hint style="info" %}
Beginnen Sie einfach und erweitern Sie nach Bedarf. Sie können später jederzeit neu organisieren, indem Sie Elemente herumziehen.
{% endhint %}
{% endstep %}

{% step %}
**Inhalt zu Seiten hinzufügen**

Sobald die Struktur bereit ist, füllen Sie Ihre Seiten:

1. **Klicken Sie auf eine Seite**, um sie zur Bearbeitung zu öffnen
2. **Inhaltsblöcke hinzufügen** mit der "+" Schaltfläche:
   * Text für Erklärungen und Analysen
   * Auswertungen für Datenvisualisierungen
   * Bilder für unterstützende Grafiken
   * Spalten für professionelle Layouts
3. **Inhalt fokussiert halten:**
   * Jede Seite sollte einen klaren Zweck haben
   * Verwenden Sie Überschriften, um langen Inhalt aufzuteilen
   * Fügen Sie Kontext und Erklärungen für Daten hinzu

{% hint style="success" %}
**Profi-Tipp**: Schreiben Sie eine kurze Zusammenfassung oben auf jede Seite, die erklärt, was Leser finden werden. Dies hilft bei der Navigation und setzt Erwartungen.
{% endhint %}
{% endstep %}

{% step %}
**Für verschiedene Zielgruppen optimieren**

Berücksichtigen Sie, wie verschiedene Personen Ihren Bericht nutzen werden:

{% tabs %}
{% tab title="Führungskräfte" %}
**Führungsfreundliche Struktur erstellen:**

* Setzen Sie wichtige Erkenntnisse an den Anfang
* Gruppieren Sie detaillierte Analysen am Ende
* Verwenden Sie klare, beschreibende Benennung
* Fügen Sie Navigationshilfen hinzu

**Beispielstruktur:**

```
• Zusammenfassung (Seite) ← Hier beginnen
• Wichtige Empfehlungen (Seite)
• Detaillierte Analyse (Gruppe) ← Optionale Lektüre
  └─ Verschiedene Analyseseiten
```

{% endtab %}

{% tab title="Behördennutzer" %}
**Behördenspezifische Inhalte leicht auffindbar machen:**

* Nach Behörde oder Funktion gruppieren
* Vertraute Terminologie verwenden
* Behördenspezifische Auswertungen einbeziehen
* Kontext für behördenübergreifende Daten bereitstellen

**Beispielstruktur:**

```
• Übersicht (Seite)
• Nach Behörden (Gruppe)
  ├─ Ihre Behörde (Seite) ← Hervorgehoben
  ├─ Verwandte Behörden (Seite)
  └─ Alle Behörden Zusammenfassung (Seite)
```

{% endtab %}

{% tab title="Öffentliche Zielgruppen" %}
**Zugängliche Struktur für externe Leser erstellen:**

* Mit Hintergrund und Kontext beginnen
* Einfache Sprache in der Navigation verwenden
* Technische Details separat gruppieren
* Erklärende Inhalte einbeziehen

**Beispielstruktur:**

```
• Was dieser Bericht zeigt (Seite)
• Wichtige Erkenntnisse (Seite)
Hintergrund (Abschnitt)
• Detaillierte Daten (Gruppe) ← Optionaler technischer Inhalt
```

{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}

## Tipps

### Benennungskonventionen

* **Verwenden Sie klare, beschreibende Namen**, die den Inhalt anzeigen
* **Vermeiden Sie interne Fachsprache**, besonders für öffentlich zugängliche Berichte
* **Seien Sie konsistent** mit Benennungsmustern bei ähnlichen Elementen
* **Berücksichtigen Sie Ihre Zielgruppe** - verwenden Sie Terminologie, die sie verstehen

### Strukturtiefe

* **Begrenzen Sie Verschachtelung** auf 2-3 Ebenen für Klarheit
* **Gruppieren Sie verwandte Inhalte**, aber vermeiden Sie Über-Kategorisierung
* **Testen Sie die Navigation** mit echten Benutzern, wenn möglich
* **Halten Sie ähnliche Inhalte zusammen** für einfachen Vergleich

### Inhaltsverteilung

* **Gleichen Sie Seitenlängen aus** - vermeiden Sie übermäßig lange oder sehr kurze Seiten
* **Gruppieren Sie ergänzende Informationen** im selben Abschnitt
* **Verwenden Sie Abschnitte sparsam** - nur wenn einfache Überschriften ausreichen
* **Berücksichtigen Sie den Lesefluss** und logische Progression

{% hint style="success" %}
**Denken Sie daran**: Gute Struktur dient Ihren Lesern, nicht nur Ihrer Organisation. Testen Sie Ihre Struktur mit Personen aus Ihrer Zielgruppe, um sicherzustellen, dass sie aus deren Perspektive Sinn ergibt.
{% endhint %}


# Datenseiten

Zeigen Sie Daten aus einem Datensatz direkt in Ihrem Bericht an.

Manchmal möchten Sie nicht nur Diagramme zeigen, sondern die Daten selbst. Eine Datenseite zeigt Daten aus einem Datensatz direkt in Ihrem Bericht an. So können Leser die Rohdaten durchsuchen, filtern und sortieren.

## Was ist eine Datenseite?

Stellen Sie sich vor, Sie haben eine Excel-Tabelle mit allen Schulen in Ihrer Stadt. In einem normalen Bericht würden Sie vielleicht ein Diagramm zeigen: "Anzahl Schüler pro Stadtteil". Aber manchmal wollen Leser mehr wissen: Welche Schulen gibt es genau? Wie viele Schüler hat jede einzelne Schule?

Eine Datenseite zeigt genau das: Die Daten selbst, in einer Tabelle. Leser können:

* Die Tabelle durchsuchen
* Nach bestimmten Werten filtern
* Die Sortierung ändern
* Zusammenfassungen sehen (z.B. Gesamtzahl, Durchschnitt)

## Wann verwenden?

{% tabs %}
{% tab title="Datenseite verwenden" %}
**Verwenden Sie eine Datenseite, wenn:**

* Leser einzelne Datensätze sehen sollen (z.B. Liste aller Schulen)
* Leser selbst filtern und suchen wollen
* Sie verschiedene Ansichten der gleichen Daten zeigen möchten
* Die genauen Werte wichtiger sind als Trends

**Beispiele:**

* Liste aller Einrichtungen mit Adressen und Kontaktdaten
* Übersicht aller Anträge mit Status und Bearbeitungsstand
* Verzeichnis aller Projekte mit Budget und Zeitplan
  {% endtab %}

{% tab title="Auswertung verwenden" %}
**Verwenden Sie eine Auswertung (Diagramm), wenn:**

* Sie Trends und Muster zeigen wollen
* Vergleiche zwischen Gruppen wichtig sind
* Eine visuelle Zusammenfassung ausreicht
* Leser keine Einzeldaten durchsuchen müssen

**Beispiele:**

* Entwicklung der Schülerzahlen über 10 Jahre
* Vergleich der Budgets zwischen Abteilungen
* Verteilung der Anträge nach Kategorie
  {% endtab %}
  {% endtabs %}

## Datenseite erstellen

{% stepper %}
{% step %}
**Neue Datenseite hinzufügen**

1. Öffnen Sie Ihren Bericht im Bearbeitungsmodus
2. Klicken Sie in der Seitenleiste auf **Element hinzufügen**
3. Wählen Sie **Datenseite**
4. Die neue Datenseite erscheint in der Seitenleiste.
5. Klicken Sie doppelt auf den Namen der neuen Datenseite und geben Sie einen Namen ein (z.B. "Schulverzeichnis")
   {% endstep %}

{% step %}
**Datensatz verbinden**

Jetzt müssen Sie festlegen, welche Daten angezeigt werden sollen:

1. Klicken Sie in der Mitte des Bildschirms auf **Datensatz auswählen**
2. Wählen Sie einen Datensatz aus Ihrer Lösung
3. Die Daten werden in einer Tabelle angezeigt

{% hint style="info" %}
Sie sehen nur Datensätze, auf die Sie Zugriff haben. Wenn ein Datensatz fehlt, prüfen Sie Ihre Berechtigungen.
{% endhint %}
{% endstep %}

{% step %}
**Spalten konfigurieren**

Nicht alle Spalten sind für Leser relevant. Wählen Sie aus, was angezeigt wird:

1. Klicken Sie auf die Spaltenüberschrift
2. Um die Spalte auszublenden, wählen Sie **Spalte ausblenden**
3. Um die Spalte wieder anzuzeigen, scrollen Sie in der Tabelle ganz nach rechts und klicken **Spalte hinzufügen**

{% hint style="success" %}
**Tipp:** Zeigen Sie nur die wichtigsten Spalten. Zu viele Spalten machen die Tabelle unübersichtlich.
{% endhint %}
{% endstep %}
{% endstepper %}

## Reiter erstellen

Ein besondere Funktion von Datenseiten: Sie können über Reiter mehrere **Filteransichten der Daten** erstellen. Jede Filteransicht zeigt die gleichen Daten, aber mit unterschiedlichen Einstellungen.

### Wozu Filteransichten?

Stellen Sie sich vor, Sie haben eine Liste aller Anträge. Verschiedene Leser interessieren sich für verschiedene Dinge:

* Der Abteilungsleiter will nur **offene Anträge** sehen
* Die Sachbearbeiter wollen **ihre eigenen Anträge** sehen
* Die Geschäftsführung will eine **Zusammenfassung nach Kategorie**

Mit Filteransichten können Sie all diese verschiedenen Ansichten in einer Datenseite anbieten.

### Filteransicht hinzufügen

{% stepper %}
{% step %}
**Neue Filteransicht erstellen**

1. Klicken Sie rechts unter **Filteransichten** auf **+ Filteransicht hinzufügen**
2. Geben Sie einen Namen ein (z.B. "Offene Anträge")
3. Die Filteransicht wird als neuer Reiter erstellt
4. Sie können die Reihenfolge der Reiter ebenfalls rechts bestimmen, indem Sie links neben der Filteransicht auf die Punkte klicken und die Filteransicht nach oben oder unten schieben

Sie können beliebig viele Reiter erstellen.
{% endstep %}

{% step %}
**Filteransicht konfigurieren**

Jede Filteransicht kann eigene Einstellungen haben:

**Filter setzen:**

1. Klicken Sie auf **Filtern**
2. Wählen Sie eine Spalte (z.B. "Status")
3. Wählen Sie eine Bedingung (z.B. "ist gleich")
4. Geben Sie einen Wert ein (z.B. "Offen")
5. Um weitere Filter hinzuzufügen, klicken Sie auf **+**

**Sortierung festlegen:**

1. Klicken Sie auf **Sortieren**
2. Wählen Sie die Spalte (z.B. "Eingangsdatum")
3. Wählen Sie die Richtung (Aufsteigend oder Absteigend)

**Spalten anpassen:** Jeder Reiter kann andere Spalten anzeigen. Konfigurieren Sie die Spalten wie oben beschrieben.
{% endstep %}
{% endstepper %}

## Zusammenfassungen

Unterhalb der Tabelle werden Zusammenfassungen anzeigen. Das sind automatische Berechnungen über alle (gefilterten) Daten.

### Zusammenfassung hinzufügen

1. Finden Sie die letzte Zeile der Tabelle, welche farblich hervorgehoben ist
2. In der ersten Spalte sehen Sie die Anzahl der Zeilen
3. Klicken Sie auf eine Zelle in der Zusammenfassungszeile
4. Wählen Sie die gewünschte Berechnung:

| Berechnung       | Beschreibung               | Beispiel                           |
| ---------------- | -------------------------- | ---------------------------------- |
| **Summe**        | Alle Werte zusammenzählen  | Gesamtbudget aller Projekte        |
| **Anzahl**       | Wie viele Einträge gibt es | Anzahl der Schulen                 |
| **Durchschnitt** | Mittelwert berechnen       | Durchschnittliche Bearbeitungszeit |
| **Minimum**      | Kleinster Wert             | Niedrigstes Budget                 |
| **Maximum**      | Größter Wert               | Höchstes Budget                    |

5. Um die gewählte Zusammenfassung zu speichern klicken Sie oben rechts auf **Änderungen speichern**.

{% hint style="info" %}
Zusammenfassungen werden automatisch aktualisiert, wenn Leser Filter anwenden. So sehen sie immer die Zusammenfassung der aktuell sichtbaren Daten.
{% endhint %}

## Tipps

* **Weniger ist mehr:** Zeigen Sie nur die Spalten, die wirklich wichtig sind
* **Sinnvolle Filteransichten:** Überlegen Sie, welche Filteransichten Ihre Leser brauchen
* **Klare Namen:** Benennen Sie Filteransichten so, dass sofort klar ist, was sie zeigen
* **Filter vorbelegen:** Setzen Sie Filter, damit Leser nicht selbst suchen müssen
* **Zusammenfassungen nutzen:** Sie geben schnell einen Überblick über die Daten


# Berichtsansichten

Erstellen und teilen Sie angepasste Versionen Ihrer Berichte — intern oder öffentlich über einen Link.

Stellen Sie sich Berichtsansichten wie verschiedene Wege vor, ein und dasselbe Fotoalbum zu betrachten. Sie haben ein Hauptalbum (den Bericht), aber Sie können verschiedene Ansichten erstellen, die nur bestimmte Fotos zeigen — und diese sogar öffentlich teilen.

## Was Berichtsansichten sind

Berichtsansichten ermöglichen es Ihnen, angepasste Versionen Ihrer Berichte zu erstellen mit:

* **Verschiedenen Seitenauswahlen** — Zeigen Sie nur bestimmte Teile Ihres Berichts
* **Vereinfachtem Teilen** — Geben Sie Personen Zugriff ohne vollständige Berichtsberechtigung
* **Öffentlichen Links** — Teilen Sie eine Ansicht per Link mit Personen außerhalb Ihrer Organisation
* **Mehreren Perspektiven** — Derselbe Bericht, verschiedene Schwerpunkte für verschiedene Zielgruppen

**Praxisbeispiel**: Der Haushaltsplan Ihrer Gemeinde könnte eine interne Ansicht für Abteilungsleiter haben und eine öffentliche Ansicht mit Zusammenfassungen für Bürger.

## Ansichten vs. Berichte

{% tabs %}
{% tab title="Berichte (Vollzugriff)" %}
**Berichte sind das Hauptdokument:**

* Können von Eigentümern und Bearbeitern bearbeitet werden
* Zeigen alle Daten und alle Seiten
* Vollständige Funktionalität verfügbar

**Wer nutzt Berichte:**

* Berichtersteller und Mitarbeiter
* Teammitglieder, die Inhalte bearbeiten müssen
  {% endtab %}

{% tab title="Ansichten (Angepasster Zugriff)" %}
**Ansichten sind angepasste Versionen:**

* Nur schreibgeschützter Zugriff
* Können bestimmte Seiten oder Gruppen ausblenden
* Intern oder öffentlich teilbar
* Separates Berechtigungssystem

**Wer nutzt Ansichten:**

* Externe Interessengruppen und Bürger
* Personen, die nur bestimmte Informationen benötigen
* Verschiedene interne Zielgruppen
  {% endtab %}
  {% endtabs %}

## Öffentliche Ansichten

Mit öffentlichen Ansichten können Sie einen Bericht per Link mit Personen teilen, die keinen Zugang zur Plattform haben. Die Empfänger brauchen kein Konto und keine Anmeldung.

**So funktioniert es:**

1. Sie erstellen eine Ansicht und wählen die gewünschten Inhalte aus
2. Sie aktivieren den **öffentlichen Zugang** im Teilen-Dialog
3. Sie kopieren den **öffentlichen Link** und geben ihn weiter
4. Jeder mit dem Link kann die Ansicht im Browser öffnen

{% hint style="warning" %}
Öffentliche Links sind für jeden zugänglich. Stellen Sie sicher, dass die Ansicht keine sensiblen Daten enthält, bevor Sie sie öffentlich machen.
{% endhint %}

## Synchronisierung

Änderungen am Bericht gehen nicht sofort live. Wenn Sie den Bericht bearbeiten, sehen Betrachter der Ansicht weiterhin den bisherigen Stand. So können Sie in Ruhe Anpassungen vornehmen, prüfen und erst dann veröffentlichen.

Sobald der Bericht geändert wurde, wird die Ansicht als **nicht synchron** markiert. Um die Änderungen zu übernehmen, klicken Sie auf **Ansicht synchronisieren**.

{% hint style="info" %}
Betrachter sehen immer den letzten synchronisierten Stand. Erst wenn Sie die Ansicht synchronisieren, werden Ihre Änderungen sichtbar.
{% endhint %}

## Wann Berichtsansichten verwenden

* **Interne Interessengruppen** — Stadtverwaltung teilt Haushaltszusammenfassungen mit Abteilungsleitern
* **Öffentliche Berichte** — Gemeinde veröffentlicht Haushaltszahlen oder Statistiken für Bürger
* **Abteilungsspezifische Sichten** — Jede Abteilung sieht nur ihre Daten
* **Vereinfachte Präsentationen** — Zusammenfassungen ohne Details für Entscheidungsträger

## Berechtigungen

| Aktion                           | Bericht-Eigentümer | Bericht-Bearbeiter |
| -------------------------------- | :----------------: | :----------------: |
| Ansicht erstellen und bearbeiten |          ✓         |          ✓         |
| Ansicht intern teilen            |          ✓         |          ✓         |
| Öffentlichen Zugang aktivieren   |          ✓         |          ✕         |
| Ansicht synchronisieren          |          ✓         |          ✕         |
| Ansicht löschen                  |          ✓         |          ✓         |

{% hint style="info" %}
Für das Aktivieren des öffentlichen Zugangs und das Synchronisieren von Ansichten benötigen Sie **Verwaltungsberechtigungen** für die Ansicht.
{% endhint %}

{% hint style="info" %}
Es gibt keine automatische Ansicht für den gesamten Bericht. Wenn Sie den kompletten Bericht als Ansicht teilen möchten, erstellen Sie eine neue Ansicht und wählen Sie alle Seiten, Gruppen und Abschnitte aus. Teilen Sie diese Ansicht dann mit den gewünschten Personen.
{% endhint %}

## Erste Schritte

* [**Ansicht erstellen**](/berichte/ansichten/ansicht-erstellen) — Seitenauswahl einrichten und teilen
* [**Ansichten verwalten**](/berichte/ansichten/ansichten-verwalten) — Bearbeiten, synchronisieren und öffentlich machen


# Ansicht erstellen

Schritt-für-Schritt-Anleitung zur Erstellung von Berichtsansichten — intern oder öffentlich.

Eine Berichtsansicht zu erstellen ist wie ein Auszug aus einem Verwaltungsbericht. Der vollständige Bericht enthält alle Details — aber für den Gemeinderat erstellen Sie eine Zusammenfassung mit nur den relevanten Seiten, und für die Bürger eine öffentliche Version ohne interne Zahlen.

## Bevor Sie anfangen

Sie benötigen:

* **Einen Bericht** mit [Seiten-, Gruppen- und Abschnitts](/berichte/seiten-gruppen-abschnitte)-Struktur
* **Eigentümer- oder Bearbeiterberechtigungen** für den Bericht
* **Eine klare Vorstellung** davon, welche Inhalte Sie zeigen möchten

## Ansicht erstellen

{% stepper %}
{% step %}
**Ansichtsoptionen öffnen**

1. Öffnen Sie Ihren Bericht
2. Klicken Sie auf **Ansichten** in der oberen Navigationsleiste
3. Klicken Sie auf **Neue Ansicht erstellen**
4. Das linke Seitenpanel wird zu einer klickbaren Auswahl für die Konfiguration
   {% endstep %}

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

Wählen Sie aus, welche Teile Ihres Berichts in die Ansicht aufgenommen werden sollen:

* **Einzelne Seiten** — Bestimmte Inhaltsseiten
* **Ganze Gruppen** — Alle Seiten innerhalb einer Gruppe
* **Abschnitte** — Kopfzeilen-Abschnitte für die Gliederung
* **Jede Kombination** — Mischen Sie nach Bedarf

Im linken Panel sehen Sie die Struktur Ihres Berichts. Klicken Sie, um Elemente auszuwählen oder abzuwählen.

{% hint style="info" %}
Datentabellen können nicht zu Berichtsansichten hinzugefügt werden.
{% endhint %}
{% endstep %}

{% step %}
**Ansicht speichern**

1. Überprüfen Sie Ihre Auswahl
2. Klicken Sie auf **Ansicht speichern**
3. Geben Sie einen klaren Namen ein (z. B. „Zusammenfassung für Gemeinderat" oder „Öffentlicher Haushaltsbericht")
4. Die Ansicht öffnet sich automatisch

{% hint style="warning" %}
Wählen Sie einen aussagekräftigen Namen. Der Name ist die einzige Möglichkeit, die Ansicht zu identifizieren.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Ansicht öffentlich teilen

{% hint style="info" %}
Öffentliche Ansichten sind eine kostenpflichtige Zusatzfunktion. Wenn Sie Interesse haben, kontaktieren Sie uns unter **<support@polyteia.de>**.
{% endhint %}

Wenn Sie die Ansicht per Link mit Personen außerhalb der Plattform teilen möchten, aktivieren Sie den öffentlichen Zugang. Es gibt drei Wege:

{% tabs %}
{% tab title="Über Teilen" %}

1. Klicken Sie auf **...** neben dem Ansichtsnamen
2. Wählen Sie **Teilen**
3. Im Bereich **Öffentlicher Zugang** unten klicken Sie auf **Auf öffentlich setzen**
4. Bestätigen Sie im Dialog
   {% endtab %}

{% tab title="Über das Menü" %}

1. Klicken Sie auf **...** neben dem Ansichtsnamen
2. Wählen Sie direkt **Auf öffentlich setzen**
3. Bestätigen Sie im Dialog
   {% endtab %}

{% tab title="Aus der Ansicht" %}

1. Öffnen Sie die Ansicht
2. Klicken Sie oben rechts auf **Auf öffentlich setzen**
3. Bestätigen Sie im Dialog
   {% endtab %}
   {% endtabs %}

{% hint style="warning" %}
Jeder mit dem Link kann die Ansicht ohne Anmeldung sehen. Stellen Sie sicher, dass keine sensiblen Daten enthalten sind.
{% endhint %}

Nach der Aktivierung erscheint der öffentliche Link. Klicken Sie auf **Öffentlichen Link kopieren** und geben Sie den Link weiter — per E-Mail, auf einer Webseite oder in einer Nachricht.

***

## Ansicht intern teilen

{% hint style="info" %}
Sie können Ansichten auch mit **Gästen** teilen. Gäste sind nicht Teil der Lösung und sehen nur Ressourcen, die direkt mit ihnen geteilt wurden. Mehr dazu unter [Rollen](/rollen-und-berechtigungen/rollen).
{% endhint %}

Sie können Ansichten intern teilen — entweder mit der gesamten Lösung oder mit einzelnen Personen und Gruppen.

1. Klicken Sie auf **...** neben dem Ansichtsnamen
2. Wählen Sie **Teilen**
3. Im Bereich **Zugriff anderer Personen in dieser Lösung** legen Sie fest, ob alle Mitglieder der Lösung die Ansicht sehen dürfen:
   * **Kein Zugriff** — Nur explizit eingeladene Personen können die Ansicht sehen
   * **Lesezugriff** — Alle Mitglieder der Lösung können die Ansicht ansehen
   * **Vollzugriff** — Alle Mitglieder der Lösung können die Ansicht ansehen und bearbeiten
4. Im Bereich **Individueller Zugriff** fügen Sie bei Bedarf einzelne Personen oder Gruppen hinzu

***

## Tipps

* **Fangen Sie breit an, dann verengen Sie**: Schließen Sie zuerst ganze Gruppen ein, dann entfernen Sie einzelne Seiten
* **Testen Sie die Ansicht**: Schauen Sie sich die Ansicht selbst an, bevor Sie sie teilen
* **Öffentlich = für alle sichtbar**: Prüfen Sie den Inhalt sorgfältig, bevor Sie den öffentlichen Zugang aktivieren
* **Beschreibende Namen**: „Q4 Haushalt — Gemeinderat" ist besser als „Ansicht 2"


# Ansichten verwalten

Bearbeiten, synchronisieren und verwalten Sie Ihre Berichtsansichten.

## Ansichten finden

{% tabs %}
{% tab title="Als Bearbeiter" %}

1. Öffnen Sie Ihren Bericht im Editor
2. Klicken Sie auf **Ansichten** in der oberen Navigation
3. Sie sehen alle Ansichten dieses Berichts

Sie können die Liste filtern nach:

* **Alle** — Alle Ansichten
* **Öffentliche Ansichten** — Nur Ansichten mit öffentlichem Link
  {% endtab %}

{% tab title="Als Betrachter" %}

1. Gehen Sie zu **Berichte** in der Seitenleiste
2. Ansichten, auf die Sie Zugriff haben, erscheinen in der Berichtsliste
3. Klicken Sie auf eine Ansicht, um sie zu öffnen
   {% endtab %}
   {% endtabs %}

***

## Ansicht bearbeiten

Um die Seitenauswahl einer Ansicht zu ändern:

1. Öffnen Sie den Bericht im Editor
2. Klicken Sie auf **Ansichten**
3. Klicken Sie auf **...** neben der Ansicht und wählen Sie **Bearbeiten**
4. Passen Sie die Seiten-, Gruppen- und Abschnittsauswahl an
5. Ändern Sie bei Bedarf den Namen
6. Klicken Sie auf **Ansicht speichern**

***

## Ansichten synchronisieren

Wenn Sie den Bericht ändern, nachdem eine Ansicht erstellt wurde, wird die Ansicht als **nicht synchron** markiert. Das erkennen Sie am Synchronisierungs-Symbol neben dem Ansichtsnamen.

{% stepper %}
{% step %}
**Änderungen erkennen**

Nach Änderungen am Bericht (Inhalte, Auswertungen oder Filter) erscheint ein Hinweis bei der betroffenen Ansicht.
{% endstep %}

{% step %}
**Ansicht synchronisieren**

Klicken Sie auf **Ansicht synchronisieren**. Dadurch wird die Ansicht mit dem aktuellen Stand des Berichts abgeglichen.

{% hint style="info" %}
Ansichten zeigen immer den letzten synchronisierten Stand. Änderungen am Bericht werden erst nach der Synchronisierung für Betrachter sichtbar — egal ob intern oder öffentlich.
{% endhint %}
{% endstep %}
{% endstepper %}

***

## Öffentlichen Zugang verwalten

### Auf öffentlich setzen

1. Klicken Sie auf **...** neben der Ansicht
2. Wählen Sie **Ansicht teilen**
3. Aktivieren Sie den **öffentlichen Zugang**
4. Bestätigen Sie im Dialog
5. Kopieren Sie den öffentlichen Link

### Auf privat setzen

1. Klicken Sie auf **...** neben der Ansicht
2. Wählen Sie **Ansicht teilen**
3. Klicken Sie auf **Auf privat setzen**
4. Bestätigen Sie im Dialog

Der öffentliche Link funktioniert danach nicht mehr. Personen, die den Link gespeichert haben, können die Ansicht nicht mehr öffnen.

{% hint style="info" %}
Sie können den öffentlichen Zugang jederzeit wieder aktivieren.
{% endhint %}

***

## Ansicht löschen

1. Klicken Sie auf **...** neben der Ansicht
2. Wählen Sie **Löschen**
3. Bestätigen Sie die Löschung

Die Ansicht wird sofort entfernt. Wenn die Ansicht öffentlich war, funktioniert der Link nicht mehr.

**Vor dem Löschen prüfen:**

* Ist die Ansicht öffentlich verlinkt? Externe Empfänger verlieren den Zugriff
* Nutzt jemand die Ansicht aktiv?
* Gibt es ähnliche Ansichten, die zusammengeführt werden könnten?

***

## Berechtigungen

Zum Erstellen, Bearbeiten und Löschen von Ansichten benötigen Sie **Eigentümer-** oder **Bearbeiter-Berechtigungen** für den Bericht.

Für das Aktivieren des öffentlichen Zugangs und das Synchronisieren von Ansichten benötigen Sie **Verwaltungsberechtigungen** für die Ansicht.


# Berichtsfilter

Kontrollieren Sie, welche Daten in Ihren Berichten angezeigt werden, mit Filteroptionen

Stellen Sie sich Berichtsfilter wie einen intelligenten Assistenten vor, der Ihnen nur die Informationen zeigt, die Sie interessieren. Anstatt einen riesigen Stapel Papiere durchzusehen, überreicht Ihnen Ihr Assistent nur die Seiten, die für Ihre aktuelle Frage relevant sind.

## Zweck von Berichtsfiltern

Berichtsfilter ermöglichen es Ihnen, zu kontrollieren, welche Daten in Ihren Berichten erscheinen, indem sie sich mit SQL-Auswertungen mit Variablen verbinden:

* **Spezifische Auswertungen filtern** - Nur Auswertungen mit Variablen können gefiltert werden
* **Seitenübergreifende Steuerung** - Einen Filter mit Diagrammen auf mehreren Seiten verbinden
* **Interaktive Steuerelemente** - Bequeme Eingabefelder für Endbenutzer
* **SQL-gesteuerte Logik** - Filterlogik wird durch Ihr SQL-Abfrage-Design bestimmt
* **Verschiedene Szenarien testen** - Filterwerte ändern, um verschiedene Datenuntergruppen zu sehen
* **Filterleisten-Sichtbarkeit kontrollieren** - bestimmen Sie, welche Filter für Endbenutzer sichtbar sind
* **Dynamische Filteroptionen** - Filteroptionen automatisch aus Ihren Daten mit SQL-Abfragen generieren

**Beispiel aus der Praxis**: Ihr Budgetbericht hat eine SQL-Auswertung mit der Variable `$abteilung`. Sie fügen einen Abteilungsfilter zur Seite hinzu, der Benutzern ermöglicht, "Öffentliche Sicherheit" oder "Gesundheitsdienste" auszuwählen, um nur Daten für diese Abteilung zu sehen.

## Globale Filter und lokale Überschreibungen

{% tabs %}
{% tab title="Globale Filter" %}
**Globale Filter funktionieren über mehrere Auswertungen hinweg – auch seitenübergreifend:**

* Werden im Filter-Panel erstellt und anschließend mit beliebigen Auswertungen verbunden
* Können sich auf mehrere Seiten erstrecken – Filterwerte wirken überall dort, wo die Auswertung angebunden ist
* Benutzer sehen eine Filteroberfläche in der globalen Filterleiste oder als platzierte Komponente im Bericht
* Einmal einrichten, mit mehreren Auswertungen verbinden
* Werden von Berichtsbearbeitenden kontrolliert

**Beispielverwendungen:**

* Abteilungsfilter, der Auswertungen auf der Startseite und in einem Detailkapitel steuert
* Datumsfilter, der mehrere zeitbasierte Auswertungen beeinflusst und in PDF-Exports konsistent bleiben soll
* Statusfilter, der über mehrere projektbezogene Auswertungen hinweg funktioniert
  {% endtab %}

{% tab title="Auswertungsfilter" %}
**Auswertungsfilter funktionieren auf einzelnen Auswertungen:**

* Überschreiben globale Filterwerte für spezifische Auswertungen
* Temporäre Änderungen zum Testen (können nicht gespeichert werden)
* Gut für einmalige Anpassungen
* Betreffen nur die einzelne Auswertung, auf die sie angewendet werden

**Beispielverwendungen:**

* Abteilungsfilter für ein Zusammenfassungsdiagramm auf "Alle Abteilungen" ändern
* Anderen Datumsbereich für eine spezifische Trendanalyse verwenden
* Verschiedene Statuswerte für einzelne Auswertungen testen

> ℹ️ Aktivieren Sie **Lokales Filter-Überschreiben verhindern**, wenn Auswertungsfilter keine lokalen Änderungen erlauben sollen. Details finden Sie in den [Erweiterten Einstellungen](/berichte/filter/erweiterte-einstellungen#lokales-filter-ueberschreiben-verhindern).
> {% endtab %}
> {% endtabs %}

## Wie Berichtsfilter funktionieren

1. **SQL-Auswertungen mit Variablen erstellen** - Verwenden Sie die Syntax `$variablenname` in Ihren SQL-Abfragen (siehe [SQL-Variablen](https://github.com/polyteia-de/docs/blob/prod/help-center/de/berichte/auswertungen/sql-editor/sql-variablen.md) für die vollständige Anleitung)
2. **Auswertungen zu Ihrem Bericht hinzufügen** - Platzieren Sie Auswertungen mit Variablen auf den gewünschten Seiten
3. **Filter einrichten** - Verbinden Sie Filter mit den Auswertungsvariablen (auch auf anderen Seiten)
4. **Filteroptionen konfigurieren** - Definieren Sie die verfügbaren Werte, aus denen Benutzer auswählen können
5. **Benutzer interagieren mit Filtern** - Dropdown-Menüs und Eingaben ändern die angezeigten Daten

## Filter über mehrere Seiten hinweg einsetzen

In der Filterkonfiguration sehen Sie, welche Auswertungen mit dem aktuellen Filter verbunden sind. Die Ansicht ist in zwei Bereiche aufgeteilt:

* **Diese Seite** – Auswertungen, die sich auf der aktuellen Seite befinden
* **Andere Seiten** – Auswertungen auf weiteren Seiten oder in anderen Berichtsabschnitten

Zu jeder Auswertung werden Seiten-Badges angezeigt, damit Sie schnell erkennen, wo der Filter wirkt. So können Sie denselben Filter auf mehreren Seiten einsetzen, ohne ihn doppelt pflegen zu müssen.

Wenn Sie sicherstellen möchten, dass überall derselbe Wert verwendet wird (z. B. für Soll-Ist-Reports oder Exporte), aktivieren Sie in den [Erweiterten Einstellungen](/berichte/filter/erweiterte-einstellungen#lokales-filter-ueberschreiben-verhindern) den Schalter **Lokales Filter-Überschreiben verhindern**.

## Filter direkt im Bericht platzieren

Filter müssen nicht in der globalen Filterleiste bleiben. Über die Werkzeugleiste **+ Block → Filter** platzieren Sie eine Filter-Komponente genau dort, wo Nutzer:innen sie benötigen – beispielsweise neben KPI-Kacheln oder unter einem erklärenden Abschnitt. Details finden Sie im Leitfaden [Filter-Komponenten platzieren](/berichte/filter/filter-komponenten).

## Arten von Berichtsfiltern

### Textfilter

Filtern basierend auf Textwerten:

* **Einzelauswahl**: Eine Abteilung aus einer Dropdown-Liste auswählen
* **Mehrfachauswahl**: Mehrere Projektstatus aus Checkboxen auswählen
* **Texteingabe**: Einen spezifischen Namen oder Identifikator eingeben
* **Kategoriefilterung**: Aus vordefinierter Liste von Regionen oder Typen auswählen

### Zahlenfilter

Filtern basierend auf numerischen Werten:

* **Einzelzahl**: Einen minimalen Budgetbetrag eingeben
* **Zahlenauswahl**: Aus einer Liste von Prioritätsstufen auswählen (1, 2, 3)
* **Schwellenwertfilterung**: Mindest- oder Höchstwerte festlegen

### Datumsfilter

Filtern basierend auf spezifischen Daten:

* **Einzeldatumsauswahl**: Ein spezifisches Berichtsdatum auswählen
* **Datumsvergleich**: Nach Datensätzen vor oder nach einem bestimmten Datum filtern
* **Datumsabgleich**: Daten für einen spezifischen Tag oder ein Datum anzeigen

{% hint style="warning" %}
**Aktuelle Einschränkungen**: Datumsfilter können nur nach spezifischen Daten filtern, nicht nach Datumsbereichen. Erweiterte zeitbasierte Filterung wie Zeitraum-über-Zeitraum-Vergleiche sind noch nicht verfügbar.
{% endhint %}

## Filterleiste ein- und ausblenden

Sie können die Filterleiste im Bericht ein- oder ausblenden. Das ist praktisch, wenn Sie mehr Platz für den Berichtsinhalt brauchen.

* Klicken Sie auf **Filter anzeigen**, um die Filterleiste einzublenden.
* Klicken Sie auf **Filter ausblenden**, um die Filterleiste auszublenden.

Die Filterleiste haftet oben am Bericht. So bleiben die Filter immer erreichbar, auch wenn Sie im Bericht nach unten scrollen.

## Wie Benutzer mit Filtern interagieren

Sobald Filter eingerichtet sind, sehen Benutzer sie als interaktive Filter im oberen Bereich des Berichts.

### Filteroberfläche

Jeder Filter erscheint wie folgt:

* **Filtername** (das von Ihnen konfigurierte Etikett)
* **Aktueller Wert** (falls ein Wert ausgewählt ist)
* **Klicken** zum Öffnen der Filteroptionen

### Filterinteraktionen

{% tabs %}
{% tab title="Eingabefeld-Filter" %}
**Für Text-, Zahlen- und Datumseingabe-Filter:**

1. **Filter anklicken**, um die Eingabeoberfläche zu öffnen
2. **Wert eingeben oder eintippen**:
   * Text: Beliebigen Textwert eingeben
   * Zahl: Numerische Werte eingeben
   * Datum: YYYY-MM-DD Format eingeben oder Datumsauswahl verwenden
3. **"Anwenden" klicken**, um verbundene Auswertungen zu aktualisieren
4. **Filter zeigt Ihren eingegebenen Wert**

**Zurücksetzen**: Filter anklicken → "Zurücksetzen", um den Wert zu löschen oder auf den Standardwert zurückzusetzen
{% endtab %}

{% tab title="Dropdown-Filter" %}
**Für Einzelauswahl- und Mehrfachauswahlfilter:**

1. **Filter anklicken**, um Auswahlmenü zu öffnen
2. **Optionen auswählen**:
   * **Einzelauswahl**: Eine Option anklicken
   * **Mehrfachauswahl**: Mehrere Optionen anklicken
3. **Suchen**: Tippen, um durch verfügbare Optionen zu suchen (bei vielen Optionen)
4. **"Anwenden" klicken**, um verbundene Auswertungen zu aktualisieren
5. **Filter zeigt ausgewählte Werte**

**Zurücksetzen**: Filter → "Zurücksetzen", um den Wert zu löschen oder auf den Standardwert zurückzusetzen
{% endtab %}

{% tab title="Kalender-Filter" %}
**Für Datumsfilter mit Kalenderoberfläche:**

1. **Filter anklicken**, um Kalender zu öffnen
2. **Datum aus der Kalenderoberfläche auswählen**
3. **"Anwenden" klicken**, um verbundene Auswertungen zu aktualisieren
4. **Filter zeigt ausgewähltes Datum**

**Zurücksetzen**: Filter → "Zurücksetzen", um den Wert zu löschen oder auf den Standardwert zurückzusetzen
{% endtab %}
{% endtabs %}

### Globale Filter und Auswertungsfilter

{% tabs %}
{% tab title="Globale Filter" %}
**Standardverhalten für globale Filter:**

* **Beeinflusst alle verbundenen Auswertungen** mit passenden Variablen – auch auf anderen Seiten
* **Konsistente Filterung** über mehrere Diagramme und Tabellen hinweg
* **Zurücksetzen wirkt global für den gesamten Bericht** – löscht Filterwerte für alle verbundenen Auswertungen
* **Benutzer sehen denselben Filterwert** über alle verbundenen Visualisierungen hinweg

**Beispiel**: Abteilungsfilter auf "Öffentliche Sicherheit" gesetzt beeinflusst alle Auswertungen, die mit der Variable `$abteilung` verbunden sind
{% endtab %}

{% tab title="Auswertungsfilter" %}
**Benutzer können globale Filter temporär überschreiben:**

1. **Filter werden angezeigt** auf verbundenen Auswertungen
2. **Jedes Anklicken eines Filters** bei einer Auswertung ändert den Wert des Filters nur lokal für die aktuelle Auswertung
3. **Lokale Änderungen sind temporär** - werden nicht gespeichert, wenn die Seite aktualisiert wird
4. **Lokal zurücksetzen** kehrt zum Wert des Seitenfilters zurück
5. **Andere Auswertungen behalten Seitenfilterwert bei**

**Anwendungsfall**: "Öffentliche Sicherheit" global vergleichen, aber temporär "Alle Abteilungen" in einem Zusammenfassungsdiagramm anzeigen

{% hint style="info" %}
Überschreiben des Seitenfilters ist temporär und kann nicht gespeichert werden. Dies ist nützlich für schnelle Vergleiche oder temporäre Analysen.
{% endhint %}
{% endtab %}
{% endtabs %}

## Erste Schritte mit Filtern

Bereit, mit der Filterung Ihrer Berichte zu beginnen?

* [**Filter erstellen**](/berichte/filter/filter-erstellen) - Richten Sie Ihre ersten Berichtsfilter Schritt für Schritt ein, einschließlich Sichtbarkeit und Mehrseiten-Verknüpfung
* [**Erweiterte Einstellungen**](/berichte/filter/erweiterte-einstellungen) - Steuern Sie Standardwerte, Sichtbarkeit und das lokale Überschreiben
* [**Filter-Komponenten platzieren**](/berichte/filter/filter-komponenten) - Binden Sie Filter direkt in das Berichtslayout ein
* [**Dynamische Filteroptionen**](/berichte/filter/dynamische-filteroptionen) - Automatische Filteroptionen aus Ihren Daten mit SQL-Abfragen
* [**Filtertypen**](/berichte/filter/filtertypen) - Verstehen Sie alle verfügbaren Filteroptionen und wann Sie jede verwenden sollten

{% hint style="success" %}
**Profi-Tipp**: Beginnen Sie zuerst mit einfachen Einzelwert-Filtern. Testen Sie Ihre SQL-Variablen-Logik gründlich in der Auswertung, bevor Sie sie mit Berichtsfiltern verbinden. Stellen Sie sicher, dass Ihre NULL-Behandlung korrekt funktioniert, wenn kein Filterwert ausgewählt ist.
{% endhint %}

## Anforderungen für die Verwendung von Berichtsfiltern

**Sie müssen benutzerdefinierte SQL-Auswertungen mit Variablen verwenden**, um Berichtsfilterung zu aktivieren. Was Sie benötigen:

### SQL-Auswertungen mit Variablen

1. **SQL-Auswertungen erstellen**: Verwenden Sie den SQL-Editor, um benutzerdefinierte Abfragen zu schreiben
2. **Variablen hinzufügen**: Schließen Sie die Syntax `$variablenname` in Ihre SQL-Abfragen ein
3. **NULL-Werte behandeln**: Verwenden Sie ordnungsgemäße SQL-Logik für den Fall, dass kein Filter angewendet wird
4. **Gründlich testen**: Überprüfen Sie, dass Ihre Variablen-Logik in der Auswertung funktioniert, bevor Sie sie zu Berichten hinzufügen

**Beispiel-SQL-Muster:**

```sql
SELECT department, COUNT(*) as count
FROM projects 
WHERE (department = $department OR $department IS NULL)
    AND (status IN $status_list OR array_length($status_list) = 0)
GROUP BY department
```

### Manuelle Filterkonfiguration

* **Filterwerte bereitstellen**: Sie müssen die Liste der verfügbaren Optionen für jeden Filter manuell eingeben
* **Keine automatische Erkennung**: Das System erkennt nicht automatisch verfügbare Werte aus Ihren Daten
* **Filtertypen konfigurieren**: Richten Sie Text-, Zahlen- oder Datumsfilter basierend auf Ihren Variablentypen ein
* **Filtersichtbarkeit konfigurieren**: Entscheiden Sie für jeden Filter, ob er in der oberen Leiste angezeigt werden soll oder nur auf der Auswertung

### Mehr über Variablen erfahren

Für vollständige Details über das Erstellen von SQL-Auswertungen mit Variablen, siehe [**SQL-Variablen**](/auswertungen/sql-editor/sql-variablen).

Für eine schrittweise Filtereinrichtung, siehe die [**Anleitung Filter erstellen**](/berichte/filter/filter-erstellen).


# Filter erstellen

Schritt-für-Schritt-Anleitung zur Einrichtung globaler Berichtsfilter, die sich mit SQL-Auswertungen mit Variablen verbinden.

Filter für Berichte zu erstellen ist wie das Verbinden eines Bedienfelds mit bestimmten Maschinen – Sie bauen benutzerfreundliche Steuerelemente auf, die sich mit SQL-Auswertungen mit Variablen verbinden und Nutzer:innen ermöglichen, zu bestimmen, welche Daten sie sehen. Ein einziger Filter kann dabei mehrere Widgets auf unterschiedlichen Seiten steuern.

## Bevor Sie beginnen

Sie benötigen:

* **SQL-Auswertungen mit Variablen** – Auswertungen, die die Syntax `$variablenname` in benutzerdefinierten SQL-Abfragen verwenden
* **Bericht mit SQL-Auswertungen** – Platzieren Sie die Auswertungen auf den Seiten, auf denen der Filter wirken soll (auch mehrere Seiten möglich)
* **Manuelle Filterwerte** – Sie müssen die Liste der verfügbaren Optionen für jeden Filter bereitstellen
* **Verständnis der Variablen-Logik** – Wie Ihr SQL NULL-Werte behandelt, wenn kein Filter angewendet wird

## Filtererstellung Schritt-für-Schritt

{% stepper %}
{% step %}
**Zugriff auf Filtereinstellungen**

1. Öffnen Sie Ihren Bericht im **Bearbeitungsmodus**
2. Suchen Sie nach der Schaltfläche **"Filter hinzufügen"** im oberen rechten Bereich der Berichtsseite
3. Klicken Sie auf **"Filter hinzufügen"**, um die Filtereinstellungen zu öffnen
4. Die Einstellungen öffnet sich mit der Überschrift "Filter erstellen" und zwei Reitern: **Einstellungen** und **Auswertungen**

{% hint style="info" %}
Die Schaltfläche "Filter hinzufügen" wird deaktiviert, wenn keine Auswertungen verfügbar sind, mit denen Filter verbunden werden können. Stellen Sie sicher, dass auf mindestens einer Seite SQL-Auswertungen mit Variablen vorhanden sind.
{% endhint %}
{% endstep %}

{% step %}
**Filter-Grundlagen konfigurieren**

In der Reiter **Einstellungen** richten Sie Ihren Filter ein:

1. **Bezeichnung**: Geben Sie einen klaren, beschreibenden Namen ein (maximal 50 Zeichen)
   * Beispiel: "Abteilungsauswahl" oder "Berichtsdatum"
   * Dies erscheint Benutzern als Filtername
2. **Slug**: Automatisch aus der Bezeichnung generiert (kann bearbeitet werden)
   * Wird intern für die Filteridentifikation verwendet
   * Muss über alle Filter hinweg eindeutig sein
3. **Typ**: Wählen Sie den Datentyp:
   * **Text** - für Abteilungen, Status, Kategorien
   * **Zahl** - für Beträge, Zählungen, Schwellenwerte
   * **Datum** - für zeitbasierte Filterung

{% hint style="info" %}
Der Slug wird automatisch aus Ihrer Bezeichnung generiert, kann aber bei Bedarf angepasst werden. Sowohl Bezeichnung als auch Slug müssen eindeutig sein.
{% endhint %}
{% endstep %}

{% step %}
**Eingabeoptionen konfigurieren**

Wählen Sie aus, wie Benutzer mit dem Filter interagieren werden:

{% tabs %}
{% tab title="Eingabefeld" %}
**Freie Text-/Zahlen-/Datumseingabe:**

* **Text**: Benutzer geben beliebige Textwerte ein
* **Zahl**: Benutzer geben numerische Werte ein (Dezimalzahlen und negative Zahlen erlaubt)
* **Datum**: Benutzer geben Daten im Format JJJJ-MM-TT ein

**Am besten für:** Wenn Sie nicht alle möglichen Werte vorhersagen können oder maximale Flexibilität wünschen
{% endtab %}

{% tab title="Auswahlliste" %}
**Vordefinierte Optionen aus benutzerdefinierten Werten:**

1. Wählen Sie **"Auswahlliste"** als Eingabeoption
2. **Benutzerdefinierte Werte eingeben** in das Textfeld:
   * Mit Semikolons (`;`) ODER Zeilenumbrüchen trennen
   * Mischen Sie keine Trennzeichen im selben Filter
   * Beispiel: `Öffentliche Sicherheit; Gesundheitsdienste; Öffentliche Arbeiten`
3. **Auswahlmodus wählen:**
   * **Einzelauswahl**: Benutzer wählen eine Option
   * **Mehrfachauswahl**: Benutzer können mehrere Optionen auswählen

**Am besten für:** Wenn Sie eine bekannte Menge gültiger Optionen haben
{% endtab %}

{% tab title="Kalender (nur Datum)" %}
**Interaktive Datumsauswahl:**

* Nur verfügbar für Filter vom Typ **Datum**
* Benutzer sehen eine Kalenderoberfläche
* Nur Einzeldatumsauswahl

**Am besten für:** Datumsauswahl mit benutzerfreundlicher Kalenderoberfläche
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Optionale Konfigurationen setzen**

Zusätzliches Filterverhalten konfigurieren:

{% tabs %}
{% tab title="Standardwert" %}
**Startwert festlegen:**

Wählen Sie im Dropdown **Standardwert** aus, welcher Wert beim Öffnen des Berichts vorausgewählt sein soll:

* **Keiner** – Filter startet leer
* **Statisch** – Einen festen Wert eingeben (Text, Zahl oder Datum)
* **Dynamisch** – Wert passt sich automatisch an, z. B. „Heute" oder „Monatsanfang"

Bei Datumsfiltern stehen zusätzliche Optionen zur Verfügung: Heute, Ende des heutigen Tages, Gestern, Monatsanfang, Monatsende, Jahresanfang und Jahresende. Bei Auswahllisten können Sie „Erster Wert" oder „Letzter Wert" wählen, um automatisch den ersten oder letzten Eintrag aus Ihren Filteroptionen zu verwenden.

**Benutzer sehen:** Filter beginnt mit dem gewählten Wert. Dynamische Werte aktualisieren sich automatisch.

Alle Details und eine Übersicht aller Optionen finden Sie unter [Erweiterte Einstellungen](/berichte/filter/erweiterte-einstellungen#standardwert-festlegen).
{% endtab %}

{% tab title="Wert immer erforderlich" %}
**Benutzer zur Eingabe zwingen:**

1. **"Wert immer erforderlich"** aktivieren
2. **Benutzer müssen einen Wert auswählen/eingeben**, um Daten zu sehen
3. **Erfordert Standardwert**, wenn aktiviert

**Verwenden, wenn:** Filter für sinnvolle Datenanzeige unerlässlich ist
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Filtersichtbarkeit in der oberen Filterleiste**

Bestimmen Sie, ob der Filter in der globalen Filterleiste oben im Bericht erscheinen soll, um die Benutzeroberfläche zu vereinfachen.

**Sichtbarkeitseinstellung finden:**

1. **Gehen Sie zum Ende der Filtereinstellungen**
2. **Suchen Sie den Bereich "Filter in Filterleiste anzeigen"**
3. **Verwenden Sie den Umschalter** um zu kontrollieren, ob der Filter in der oberen Leiste angezeigt wird

**Sichtbarkeitsoptionen:**

{% tabs %}
{% tab title="In oberer Leiste sichtbar (Standard)" %}
**Umschalter aktiviert (rechts):**

* Filter erscheint für alle Nutzer in der globalen Filterleiste oben im Bericht
* Benutzer können ihn direkt über der Seite verwenden
* Standard für neue Filter
* Ideal für Filter, die Benutzer häufig verwenden sollen oder die auf den meisten Auswertungen angewendet werden könnne
  {% endtab %}

{% tab title="Nur auf Auswertungen" %}
**Umschalter deaktiviert (links):**

* Filter erscheint nicht in der globalen Filterleiste für Betrachter eines Reports
* Ist weiterhin direkt auf den einzelnen Auswertungen verfügbar
* Reduziert die Anzahl der sichtbaren Filter in der oberen Leiste
* Macht die Benutzeroberfläche sauberer und fokussierter
  {% endtab %}
  {% endtabs %}

**Visuelle Indikatoren im Bearbeitungsmodus:**

Filter, die nicht in der oberen Leiste angezeigt werden, erkennen Sie an:

* Durchgestrichenes Augen-Symbol statt normalem Filtersymbol
* Reduzierte Deckkraft (erscheint ausgeblendet)
* Funktionieren weiterhin normal auf den Auswertungen

{% hint style="info" %}
**Wann Filter aus oberer Leiste ausblenden**: Verwenden Sie dies für Filter, die nur gelegentlich verwendet werden, oder um eine saubere, übersichtliche Filterleiste für die häufigsten Filter zu schaffen.
{% endhint %}

{% hint style="warning" %}
**Wichtig**: Ausgeblendete Filter funktionieren weiterhin normal. Sie sind nur nicht in der globalen Filterleiste sichtbar, können aber direkt auf den Auswertungen verwendet werden.
{% endhint %}
{% endstep %}

{% step %}
**Lokales Überschreiben verhindern**

Aktivieren Sie den Schalter **Lokales Filter-Überschreiben verhindern**, wenn alle Auswertungen immer dem globalen Filterwert folgen sollen.

* Änderungen an einer Visualisierung aktualisieren dann automatisch den globalen Wert.
* Lokale Ausnahmen (z. B. "Nur diese Visualisierung zeigt alle Abteilungen") sind nicht mehr möglich.
* Ideal für Berichte, die exportiert werden oder bei denen Kennzahlen konsistent bleiben müssen.

Ausführliche Hintergründe finden Sie im Artikel [Erweiterte Einstellungen](/berichte/filter/erweiterte-einstellungen#lokales-filter-ueberschreiben-verhindern).
{% endstep %}

{% step %}
**Mit Auswertungen verbinden**

Wechseln Sie zur Reiter **Auswertungen**, um Ihren Filter zu verbinden:

1. **Auswertungen nach Seiten prüfen** – die Liste ist in **Diese Seite** und **Andere Seiten** gegliedert und zeigt Seiten-Badges an, damit Sie erkennen, wo der Filter wirkt.
2. **Für jede Auswertung**, die Sie verbinden möchten:
   * Auswertung in der Liste finden
   * Menü daneben anklicken
   * **SQL-Variable auswählen** (z.B. `$department`, `$status`)
3. **Verbindungsstatus** zeigt, ob jede Auswertung verbunden ist – verbundenen Items werden hervorgehoben.
4. **Mehrere Verbindungen:** Ein Filter kann sich mit mehreren Auswertungen und Variablen verknüpfen, auch über mehrere Seiten hinweg.
   {% endstep %}

{% step %}
**Filter speichern**

Filtererstellung abschließen:

1. **Einstellungen überprüfen** in den Reitern Einstellungen und Auswertungen
2. **"Speichern" klicken** (oder "Mit Auswertung verbinden", wenn noch keine Auswertungen verbunden)
3. **Filter erscheint** als Feld im oberen rechten Filterbereich
4. **Verbundene Filter** zeigen sich als funktionsfähige Felder

**Nach dem Speichern:**

* **Filter** erscheint auf der Berichtsseite
* **Benutzer können mit dem Filter interagieren**
* **Verbundene Auswertungen** aktualisieren sich basierend auf Filterwerten
* **Sie können den Filter bearbeiten**, indem Sie den Filter anklicken und auf "Bearbeiten" klicken

{% hint style="success" %}
Ihr Filter ist jetzt aktiviert. Benutzer werden die von Ihnen konfigurierte Filteroberfläche sehen und können damit interagieren, um zu ändern, welche Daten in verbundenen Auswertungen erscheinen.
{% endhint %}

**Gut zu wissen:**

* **Filtersichtbarkeit** kann jederzeit geändert werden. Filter, die aus der oberen Leiste ausgeblendet sind, bleiben auf den Auswertungen funktionsfähig.
* **Ausgeblendete Filter** erscheinen mit einem Augen-durchgestrichen-Symbol und reduzierter Deckkraft während der Bearbeitung.
* **Filter-Komponenten** können Sie zusätzlich über die Werkzeugleiste im Bericht platzieren – siehe [Filter-Komponenten platzieren](/berichte/filter/filter-komponenten).
  {% endstep %}
  {% endstepper %}

## Erweiterte Filtertechniken

### Mehrere Filter auf einer Seite

Erstellen Sie mehrere Filter, die zusammenarbeiten:

* **Abteilungsfilter** beeinflusst Budget- und Leistungsauswertungen
* **Datumsfilter** beeinflusst alle zeitbasierten Auswertungen
* **Statusfilter** beeinflusst projektbezogene Auswertungen

Jeder Filter funktioniert unabhängig basierend auf seinen verbundenen Auswertungen.

### Komplexe Logik in SQL

Für erweiterte Filterlogik bauen Sie sie in Ihre SQL-Abfragen ein:

```sql
SELECT * FROM projects
WHERE (status IN $status_list OR array_length($status_list) = 0)
  AND (department = $department OR $department IS NULL)
  AND (budget >= $min_budget OR $min_budget IS NULL)
  AND (priority = 'High' OR deadline < CURRENT_DATE + INTERVAL 30 DAY)
```

Die komplexe Logik bleibt in SQL - die Filteroberfläche bleibt einfach.

### Überschreibungen

Benutzer können Filterwerte für einzelne Auswertungen temporär ändern:

* Nützlich für das Vergleichen verschiedener Szenarien
* Änderungen werden nicht gespeichert (nur temporäres Testen)
* Jede Auswertung kann unabhängig angepasst werden

## Fehlerbehebung bei Filterproblemen

**"Mein Filter zeigt keine Daten"**

* Überprüfen Sie, dass SQL-Variablennamen exakt mit Filtervariablennamen übereinstimmen
* Stellen Sie sicher, dass Ihr SQL NULL-Behandlung enthält: `(column = $variable OR $variable IS NULL)`
* Bestätigen Sie, dass Filterwerte mit tatsächlichen Datenwerten in Ihrer Datenbank übereinstimmen
* Testen Sie die SQL-Auswertung zuerst unabhängig

**"Filter hat keine Auswirkung auf Auswertungen"**

* Überprüfen Sie, dass Variablennamen exakt zwischen SQL und Filter übereinstimmen
* Stellen Sie sicher, dass Auswertungen ordnungsgemäß mit dem Filter verbunden sind
* Stellen Sie sicher, dass Auswertungen die korrekte SQL-Variablensyntax verwenden: `$variablenname`
* Bestätigen Sie, dass Auswertungen SQL-basiert sind (nicht visuelles Drag-and-Drop)

**"Einige Auswertungen reagieren nicht auf Filter"**

* Nur Auswertungen mit passenden Variablennamen werden gefiltert
* Überprüfen Sie, dass jede Auswertung die korrekte Variable in ihrer SQL-Abfrage hat

**"Filter zeigt 'keine Daten', wenn leer"**

* Ihrer SQL-Abfrage fehlt NULL-Behandlung
* Fügen Sie `OR $variable IS NULL`-Bedingungen hinzu, um alle Daten zu zeigen, wenn kein Filter angewendet wird
* Testen Sie die SQL-Logik zuerst im Auswertungseditor

## Variablen in SQL-Auswertungen verwenden

Wenn Sie Auswertungen mit benutzerdefinierten SQL-Abfragen erstellen, die in gefilterten Berichten verwendet werden, müssen Sie Fälle behandeln, in denen Filtervariablen null sein könnten (wenn kein Filter angewendet wird).

### Variablenbehandlung in SQL

{% tabs %}
{% tab title="Einzelwert-Filter" %}
**Für Einzelauswahl-Filter** (wie Abteilungs-Dropdown):

**Problem**: Wenn keine Abteilung ausgewählt ist, wird `$department` null sein und Ihre Abfrage wird alle Daten ausschließen.

**Lösung**: Verwenden Sie dieses Muster in Ihrem SQL:

```sql
SELECT * 
FROM your_table 
WHERE (department = $department OR $department IS NULL)
```

**Wie es funktioniert:**

* Wenn Filter angewendet wird: Zeigt nur die ausgewählte Abteilung
* Wenn Filter leer ist: Zeigt alle Abteilungen (weil `$department IS NULL` wahr wird)

**Reales Beispiel:**

```sql
SELECT 
    department,
    COUNT(*) as project_count,
    SUM(budget) as total_budget
FROM projects 
WHERE (department = $department OR $department IS NULL)
    AND (status = $status OR $status IS NULL)
GROUP BY department
```

{% endtab %}

{% tab title="Mehrfachauswahl-Filter" %}
**Für Mehrfachauswahl-Filter** (wie Status-Checkboxen):

**Problem**: Wenn keine Status ausgewählt sind, wird `$status_list` null sein und alle Daten ausschließen.

**Lösung**: Verwenden Sie dieses Muster in Ihrem SQL:

```sql
SELECT * 
FROM your_table 
WHERE (status IN ($status_list) OR array_length($status_list) = 0)
```

**Reales Beispiel:**

```sql
SELECT 
    project_name,
    status,
    budget,
    start_date
FROM projects 
WHERE (status IN ($status_list) OR array_length($status_list) = 0)
    AND (department = $department OR $department IS NULL)
    AND (start_date >= $start_date OR $start_date IS NULL)
ORDER BY start_date DESC
```

{% hint style="info" %}
**Hinweis**: Der `IN`-Operator ist in der SQL-Engine der Plattform bestätigt verfügbar. Mehrfachauswahl-Filtervariablen werden als durch Semikolons getrennte Listen übergeben, die mit dem `IN`-Operator funktionieren.
{% endhint %}
{% endtab %}
{% endtabs %}

### Tipps für Variablen-SQL

1. **Immer Null-Fälle behandeln** - Jede Variable sollte eine Bedingung `OR $variable IS NULL` haben
2. **Mit und ohne Filter testen** - Überprüfen Sie, dass Ihre Abfrage sowohl mit angewendeten als auch leeren Filtern funktioniert
3. **Konsistente Muster verwenden** - Wenden Sie denselben Null-Behandlungsansatz über alle Ihre SQL-Auswertungen hinweg an
4. **Ihre Variablen dokumentieren** - Fügen Sie Kommentare hinzu, die erklären, was jede Variable darstellt

### Häufige Variablenmuster

**Datumsbereich-Filterung:**

```sql
WHERE (created_date >= $start_date OR $start_date IS NULL)
    AND (created_date <= $end_date OR $end_date IS NULL)
```

**Numerische Bereich-Filterung:**

```sql
WHERE (budget >= $min_budget OR $min_budget IS NULL)
    AND (budget <= $max_budget OR $max_budget IS NULL)
```

**Text-Filterung:**

```sql
WHERE (description LIKE '%' || $search_term || '%' OR $search_term IS NULL)
```

**Mehrfeld-Filterung:**

```sql
WHERE (department = $department OR $department IS NULL)
    AND (priority IN $priority_list OR array_length($priority_list) = 0)
    AND (region = $region OR $region IS NULL)
```

{% hint style="warning" %}
**Wichtig**: Ohne ordnungsgemäße Null-Behandlung können Ihre gefilterten Berichte leere Diagramme zeigen, wenn Filter nicht angewendet werden. Testen Sie Ihre SQL-Auswertungen immer sowohl mit als auch ohne aktive Berichtsfilter.
{% endhint %}

### Ihre Variablen-Logik testen

1. **Erstellen Sie Ihre SQL-Auswertung** mit ordnungsgemäßer NULL-Behandlung
2. **Testen Sie die Auswertung unabhängig** mit verschiedenen Variablenwerten
3. **Fügen Sie Auswertung zu einer Berichtsseite hinzu**
4. **Erstellen und verbinden Sie Seitenfilter**
5. **Testen Sie Filterverhalten:**
   * **Keine Auswahl** - sollte alle Daten zeigen
   * **Einzelauswahl** - sollte gefilterte Untergruppe zeigen
   * **Mehrere Auswahlen** (wenn Mehrfachauswahl) - sollte kombinierte Ergebnisse zeigen
   * **Filter löschen** - sollte zur Anzeige aller Daten zurückkehren

{% hint style="success" %}
**Profi-Tipp**: Testen Sie Ihre SQL-Variablen-Logik immer im Auswertungseditor, bevor Sie sie zu Berichten hinzufügen. Verwenden Sie die Steuerelemente für die Variablen, um verschiedene Werte zu testen und sicherzustellen, dass die NULL-Behandlung korrekt funktioniert.
{% endhint %}


# Filtertypen

Referenzleitfaden zu den drei verfügbaren Filtertypen für die Verbindung mit SQL-Auswertungen mit Variablen.

## Textfilter

Perfekt für Abteilungsauswahl, Statusfilterung, Kategorien oder beliebige textbasierte Variablen in Ihren SQL-Abfragen.

### Einzelauswahl

**Was erstellt wird**: Menü mit einer erlaubten Auswahl\
**Verbindet sich mit**: SQL-Variablen wie `$department`, `$status`, `$region`

{% tabs %}
{% tab title="Verwendung" %}

* Abteilungsauswahl (nur eine Abteilung zur Zeit)
* Einzelstatus-Filterung
* Ortsauswahl
* Kategoriefilterung, wo nur eine Auswahl sinnvoll ist

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (department = $department OR $department IS NULL)
```

**Filter-Einrichtung:**

```
Variable: $department
Typ: Text
Modus: Einzelauswahl
Werte:
  Öffentliche Sicherheit
  Gesundheitsdienste
  Öffentliche Arbeiten
  Parks & Erholung
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Menü mit Ihren bereitgestellten Optionen\
**Nutzer wählt**: Eine Option aus der Liste\
**SQL erhält**: Den ausgewählten Textwert\
**Keine Auswahl**: `$department` ist NULL, zeigt alle Daten (wenn SQL NULL ordnungsgemäß behandelt)

**Beispielinteraktion eines Nutzers:**

1. Nutzer sieht Filter: "Abteilung"
2. Nutzer klickt auf das Menü
3. Nutzer wählt "Öffentliche Sicherheit"
4. Alle verbundenen Auswertungen filtern nach Daten der Öffentlichen Sicherheit
   {% endtab %}
   {% endtabs %}

### Mehrfachauswahl

**Was erstellt wird**: Mehrfachauswahl-Menü\
**Verbindet sich mit**: SQL-Variablen, die für Listen konzipiert sind, wie `$status_list`, `$region_list`

{% tabs %}
{% tab title="Verwendung" %}

* Mehrere Statusauswahl
* Mehrere Abteilungen gleichzeitig
* Mehrere Kategorien oder Typen
* Regionale Gruppierungen

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (status IN $status_list OR array_length($status_list) = 0)
```

**Filter-Einrichtung:**

```
Variable: $status_list
Typ: Text
Modus: Mehrfachauswahl
Werte:
  Aktiv
  Planung
  Pausiert
  Überprüfung
  Abgeschlossen
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Menü mit Ihren bereitgestellten Optionen zur Mehrfachauswahl\
**Nutzer wählt**: Mehrere Optionen aus der Liste\
**SQL erhält**: Liste: "Aktiv; Planung; Überprüfung"\
**Keine Auswahl**: `$status_list` ist NULL, zeigt alle Daten

**Beispielinteraktion eines Nutzers:**

1. Nutzer sieht Auswahlliste für jeden Status
2. Nutzer hakt "Aktiv" und "Planung" an
3. Verbundene Auswertungen zeigen Daten für beide Status
4. Benutzer kann Auswahlen dynamisch hinzufügen oder entfernen
   {% endtab %}
   {% endtabs %}

### Texteingabe

**Was erstellt wird**: Freies Texteingabefeld\
**Verbindet sich mit**: SQL-Variablen für Suchbegriffe wie `$search_term`, `$project_name`

{% tabs %}
{% tab title="Verwendung" %}

* Projektname-Suche
* Beschreibungsfilterung
* Benutzerdefinierte Textabgleichung
* Wenn Sie nicht alle möglichen Werte vorhersagen können

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (project_name LIKE '%' || $search_term || '%' OR $search_term IS NULL)
```

**Filter-Einrichtung:**

```
Variable: $search_term
Typ: Text
Modus: Freie Eingabe
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Texteingabefeld\
**Nutzer tippt**: Beliebigen Text, nach dem sie suchen möchten\
**SQL erhält**: Den exakten Text, den sie getippt haben\
**Leere Eingabe**: `$search_term` ist NULL, zeigt alle Daten

{% hint style="info" %}
**Hinweis**: Die Filterlogik (LIKE, exakte Übereinstimmung, usw.) wird durch Ihre SQL-Abfrage bestimmt, nicht durch die Filteroberfläche.
{% endhint %}
{% endtab %}
{% endtabs %}

## Zahlenfilter

Perfekt für Budgetschwellenwerte, Mengenfilterung oder beliebige numerische Variablen in Ihren SQL-Abfragen.

### Einzelauswahl

**Was erstellt wird:** Auswahlliste mit vordefinierten Zahlenoptionen\
**Verbindet sich mit**: SQL-Variablen, wo Sie Auswahlen begrenzen möchten

{% tabs %}
{% tab title="Verwendung" %}

* Häufige Budgetschwellenwerte
* Prioritätsstufen (1, 2, 3, 4, 5)
* Standard-Mengenoptionen
* Leistungspunktzahl-Klammern

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (priority_level = $priority OR $priority IS NULL)
```

**Filter-Einrichtung:**

```
Variable: $priority
Typ: Zahl
Modus: Einzelauswahl
Werte:
  1
  2
  3
  4
  5
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Auswahlliste mit Ihren vordefinierten Zahlenoptionen\
**Nutzer wählt**: Eine Zahl aus der Liste\
**SQL erhält**: Die ausgewählte Zahl\
**Keine Auswahl**: `$priority` ist NULL, zeigt alle Daten
{% endtab %}
{% endtabs %}

### Mehrfachauswahl

**Was erstellt wird:** Auswahlliste mit vordefinierten Zahlenoptionen\
**Verbindet sich mit**: SQL-Variablen, die für Listen konzipiert sind

{% tabs %}
{% tab title="Verwendung" %}

* Häufige Budgetschwellenwerte
* Prioritätsstufen (1, 2, 3, 4, 5)
* Standard-Mengenoptionen

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (priority_level IN $priority OR array_length($priority) = 0)
```

**Filter-Einrichtung:**

```
Variable: $priority
Typ: Zahl
Modus: Mehrfachauswahl
Werte:
  1
  2
  3
  4
  5
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Auswahlliste mit Ihren vordefinierten Zahlenoptionen\
**Nutzer wählt**: Eine oder mehrere Zahlen aus der Liste\
**SQL erhält**: Liste der ausgewählten Zahlen\
**Keine Auswahl**: `$priority` ist NULL, zeigt alle Daten
{% endtab %}
{% endtabs %}

### Zahleneingabe

**Was erstellt wird**: Zahleneingabefeld\
**Verbindet sich mit**: SQL-Variablen wie `$min_budget`, `$threshold`, `$quantity`

{% tabs %}
{% tab title="Verwendung" %}

* Budgetschwellenwerte
* Mindest-/Höchstwerte
* Mengenlimits
* Punktzahlschwellenwerte

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (budget >= $min_budget OR $min_budget IS NULL)
```

**Filter-Einrichtung:**

```
Variable: $min_budget
Typ: Zahl
Modus: Einzeleingabe
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Zahleneingabefeld\
**Nutzer gibt ein**: Beliebigen numerischen Wert\
**SQL erhält**: Die Zahl, die eingegeben wurde\
**Leere Eingabe**: `$min_budget` ist NULL, zeigt alle Daten

**Filterlogik** (größer als, kleiner als, gleich) wird durch Ihre SQL-Abfrage bestimmt, nicht durch die Filteroberfläche.
{% endtab %}
{% endtabs %}

## Datumsfilter

Perfekt für zeitbasierte Filterung mit SQL-Datumsvariablen.

### Einzeldatum-Auswahl

**Was erstellt wird**: Datumsauswahl-Oberfläche\
**Verbindet sich mit**: SQL-Datumsvariablen wie `$report_date`, `$start_date`, `$deadline`

{% tabs %}
{% tab title="Aktuelle Funktionalität" %}
**Momentan verfügbar**: Nur Einzeldatumsauswahl\
**Format**: YYYY-MM-DD\
**Einschränkung**: Noch keine Datumsbereiche

**Beispiel-SQL-Muster:**

```sql
SELECT * FROM projects
WHERE (report_date = $report_date OR $report_date IS NULL)
```

**Filter-Einrichtung:**

```
Variable: $report_date
Typ: Datum
Modus: Einzeldatum
```

{% endtab %}

{% tab title="Was Nutzer sehen" %}
**Nutzer sehen**: Kalenderoberfläche\
**Nutzer wählt**: Ein spezifisches Datum\
**SQL erhält**: Datum im Format YYYY-MM-DD\
**Keine Auswahl**: `$report_date` ist NULL, zeigt alle Daten

**SQL-Logik** bestimmt, wie das Datum verwendet wird (gleich, größer als, kleiner als, usw.).
{% endtab %}
{% endtabs %}

## Wichtige Einschränkungen

### Was Berichtsfilter NICHT tun

{% hint style="warning" %}
**Berichtsfilter sind nur Benutzeroberflächen**, die Werte an Ihre SQL-Variablen übergeben. Sie erstellen selbst keine Filterlogik.
{% endhint %}

**Keine automatische Logik**: Filter erstellen nicht automatisch AND/OR-Bedingungen\
**Keine Datumsbereiche**: Aktuell auf Einzeldaten beschränkt\
**Keine Felderkennung**: Sie müssen alle Filteroptionen manuell konfigurieren\
**Keine komplexen Bedingungen**: Alle Filterlogik muss in Ihre SQL-Abfragen eingebaut werden

### Was Sie in SQL behandeln müssen

**NULL-Behandlung**: Jede Variable benötigt `OR $variable IS NULL`-Logik\
**Komplexe Bedingungen**: AND/OR-Logik gehört in Ihre SQL-Abfrage\
**Datumsbereiche**: Datumsbereich-Logik in SQL mit mehreren Variablen aufbauen\
**Datenvalidierung**: SQL muss ungültige oder unerwartete Werte behandeln

{% hint style="success" %}
**Profi-Tipp**: Entwerfen Sie immer Ihre SQL-Abfrage zuerst, dann erstellen Sie die Filteroberfläche passend dazu. Das SQL bestimmt das tatsächliche Filterverhalten - die Filteroberfläche bietet nur eine benutzerfreundliche Möglichkeit, Variablenwerte zu setzen.
{% endhint %}


# Dynamische Filteroptionen

Lassen Sie Filteroptionen automatisch aus Ihren Daten generieren mit SQL-Abfragen für dynamische, datengesteuerte Filterung.

Stellen Sie sich vor, Ihre Filteroptionen aktualisieren sich automatisch basierend auf Ihren tatsächlichen Daten - wie ein intelligenter Assistent, der immer die aktuellsten und relevantesten Auswahlmöglichkeiten bereitstellt, ohne dass Sie manuell Listen pflegen müssen.

## Was sind dynamische Filteroptionen?

Dynamische Filteroptionen verwenden SQL-Abfragen, um Filter automatisch mit Werten aus Ihren Daten zu befüllen, anstatt diese manuell einzugeben:

* **Automatisch aktualisiert** - Filteroptionen spiegeln immer Ihre aktuellen Daten wider
* **SQL-gesteuert** - Schreiben Sie Abfragen, um verfügbare Werte zu ermitteln
* **Anpassung an andere Filter** - Optionen können sich basierend auf anderen Filtern ändern
* **Datengetrieben** - Keine manuellen Listen mehr pflegen
* **Intelligent gefiltert** - Zeigen Sie nur relevante, verfügbare Optionen

**Beispiel aus der Praxis**: Anstatt manuell alle Abteilungsnamen einzugeben, schreibt Ihr Filter eine SQL-Abfrage wie `SELECT DISTINCT abteilung FROM mitarbeiter WHERE aktiv = true LIMIT 10000`, um automatisch alle aktiven Abteilungen als Filteroptionen zu erhalten.

## Dynamisch vs. manuell gesteuerte Filter

{% tabs %}
{% tab title="Dynamische Filter (SQL-gesteuert)" %}
**Filteroptionen werden automatisch aus Daten generiert:**

* **Immer aktuell**: Optionen spiegeln den aktuellen Datenbestand wider
* **Wartungsfrei**: Keine manuellen Updates nötig wenn sich Daten ändern
* **Intelligent**: Können sich basierend auf anderen Filterauswahlen ändern
* **Datengenau**: Zeigen nur Werte, die tatsächlich in den Daten existieren
* **Performant**: Abfragen können optimiert und gecacht werden

**Beste Anwendung für:**

* Abteilungen, die sich häufig ändern
* Status-Listen aus aktuellen Projekten
* Zeiträume basierend auf verfügbaren Daten
* Kategorien, die dynamisch sind
* Abhängige Filteroptionen (Stadt → Postleitzahl)
  {% endtab %}

{% tab title="Manuelle Filter (Eigene Liste)" %}
**Filteroptionen werden manuell eingegeben:**

* **Statisch**: Bleiben gleich bis manuell geändert
* **Wartungsintensiv**: Müssen bei Datenänderungen aktualisiert werden
* **Vorhersagbar**: Optionen ändern sich nicht unerwartet
* **Einfach**: Keine SQL-Kenntnisse erforderlich
* **Kontrolle**: Vollständige Kontrolle über verfügbare Optionen

**Beste Anwendung für:**

* Feste Kategorien (z.B. Prioritätsstufen: Hoch, Mittel, Niedrig)
* Standardisierte Werte
* Einfache, unveränderliche Listen
* Wenn SQL-Abfragen unnötig komplex wären
  {% endtab %}
  {% endtabs %}

## Wie dynamische Filter funktionieren

**Das Grundprinzip:**

1. **SQL-Abfrage schreiben** → Die erste Spalte der Ergebnisse wird zu Ihren Filteroptionen
2. **Automatische Aktualisierung** → Filter führt die Abfrage aus und lädt die aktuellen Werte
3. **Variable Integration** → Andere Filter können als `$variablenname` in der Abfrage verwendet werden
4. **Intelligente Anpassung** → Filteroptionen ändern sich basierend auf anderen Filterauswahlen

**Beispiel-Ablauf:**

* Benutzer wählt "Öffentliche Sicherheit" im Abteilungsfilter
* Status-Filter führt SQL-Abfrage aus: `WHERE abteilung = 'Öffentliche Sicherheit'`
* Status-Optionen zeigen nur relevante Werte für diese Abteilung
* Bei Abteilungsänderung aktualisieren sich die Status-Optionen automatisch

## Dynamische Filter einrichten

{% stepper %}
{% step %}
**Filter erstellen**

1. **Filter erstellen** und **"Auswahlliste"** als Eingabeoption wählen
2. **Im Bereich "Verfügbare Werte"** finden Sie zwei Optionen:
   * **"Eigene Liste"** (manuelle Eingabe)
   * **"Abfrage"** (SQL-gesteuert)
3. **"Abfrage" auswählen** für dynamische Optionen

{% hint style="info" %}
Die "Abfrage"-Option ist nur für Filter mit Auswahllisten verfügbar, nicht für Eingabefelder oder Kalender.
{% endhint %}
{% endstep %}

{% step %}
**SQL-Abfrage schreiben und testen**

1. **"Bearbeiten" klicken** um den SQL-Editor zu öffnen
2. **SQL-Abfrage schreiben**, die Optionen in der ersten Spalte zurückgibt:

```sql
-- Einfaches Beispiel: Alle aktiven Abteilungen
SELECT DISTINCT abteilungsname
FROM abteilungen
WHERE ist_aktiv = true
ORDER BY abteilungsname
LIMIT 10000;
```

3. **"Ausführen" klicken** um die Abfrage zu testen
4. **Ergebnisse in der Vorschau überprüfen**:
   * **Erste Spalte**: Wird zu Ihren Filteroptionen
   * **Zusätzliche Spalten**: Werden ignoriert, können aber zur Orientierung helfen, hier allerdings auf Duplikate achten!
   * **Keine leeren Werte**: NULL oder leere Strings werden automatisch ausgefiltert
5. **"Speichern" klicken** wenn die Abfrage korrekt ist

**Wichtige SQL-Elemente:**

```sql
-- Eindeutige Werte (Duplikate vermeiden), idealerweise nur eine Spalte (z. B. kategorie)
SELECT DISTINCT kategorie

-- Nur relevante Daten
WHERE status = 'aktiv'

-- Sortierung für bessere UX
ORDER BY abteilungsname

-- Maximale Anzahl (immer verwenden)
LIMIT 10000
```

{% endstep %}

{% step %}
**Filter speichern und testen**

1. **Filter speichern** - die SQL-Abfrage wird automatisch mit gespeichert
2. **Filter im Bericht testen**:
   * Filter öffnen → sollte die Werte aus Ihrer SQL-Abfrage zeigen
   * Andere Filter ändern → abhängige Filter sollten sich aktualisieren
   * Daten im System ändern → Filter sollten neue Optionen zeigen

{% hint style="success" %}
Ihr dynamischer Filter ist jetzt aktiv! Die Optionen aktualisieren sich automatisch basierend auf Ihren Daten und anderen Filterauswahlen.
{% endhint %}
{% endstep %}
{% endstepper %}

## Erweiterte Techniken

### Abhängige Filter erstellen

Erstellen Sie Filter, die auf andere Filter reagieren:

```sql
-- Städte basierend auf ausgewähltem Bundesland
SELECT DISTINCT city_name
FROM locations
WHERE state = $bundesland_filter -- <- dies ist der Systemname des Filters "Bundesland"
  AND population > 1000
ORDER BY city_name;
```

**Filter-Verkettung:**

1. **Bundesland-Filter** → Benutzer wählt "Bayern"
2. **Stadt-Filter** → Zeigt nur bayerische Städte
3. **Bezirk-Filter** → Zeigt nur Bezirke der gewählten Stadt

### Optimierung

Für große Datenmengen optimieren Sie Ihre Abfragen:

```sql
-- Indizierte Spalten verwenden
SELECT DISTINCT status
FROM projects
WHERE created_date >= '2024-01-01'  -- Indexed column
  AND department_id IN (1, 2, 3)    -- Indexed values
ORDER BY status
LIMIT 50;

-- Subqueries vermeiden wenn möglich
-- Statt:
SELECT DISTINCT category
FROM products
WHERE id IN (SELECT product_id FROM sales WHERE year = 2024)

-- Besser:
SELECT DISTINCT p.category
FROM products p
JOIN sales s ON p.id = s.product_id
WHERE s.year = 2024;
```

## Praktische Beispiele

### Beispiel 1: Abteilungsfilter mit aktiven Mitarbeitern

```sql
-- Zeigt nur Abteilungen, die derzeit aktive Mitarbeiter haben
SELECT DISTINCT a.abteilungsname
FROM abteilungen a
JOIN mitarbeiter m ON a.id = m.abteilungs_id
WHERE m.status = 'aktiv'
  AND m.ende_datum IS NULL
ORDER BY a.abteilungsname
LIMIT 10000;
```

### Beispiel 2: Statusfilter basierend auf Projekt und Jahr

```sql
-- Zeigt nur Status, die für das gewählte Projekt und Jahr existieren
SELECT DISTINCT projektstatus
FROM projekt_historie
WHERE projekt_typ = $projekt_typ
  AND YEAR(erstellt_datum) = $jahr
  AND projektstatus IS NOT NULL
ORDER BY 
  CASE projektstatus
    WHEN 'Geplant' THEN 1
    WHEN 'In Bearbeitung' THEN 2
    WHEN 'Abgeschlossen' THEN 3
    ELSE 4
  END
LIMIT 10000;
```

## Fehlerbehebung

### "Keine Optionen verfügbar"

**Mögliche Ursachen:**

* SQL-Abfrage gibt keine Ergebnisse zurück
* Erste Spalte enthält nur NULL-Werte

**Lösungsansätze:**

```sql
-- Debug-Version: Zeigt auch NULL-Werte
SELECT DISTINCT 
  abteilungsname,
  COUNT(*) as anzahl_datensaetze
FROM projekte
GROUP BY abteilungsname
ORDER BY abteilungsname
LIMIT 10000;

-- Explizit NULL-Werte ausschließen
SELECT DISTINCT abteilungsname
FROM projekte
WHERE abteilungsname IS NOT NULL
  AND abteilungsname != ''
  AND TRIM(abteilungsname) != ''
LIMIT 10000;
```

### "Filter aktualisiert sich nicht"

**Häufige Probleme:**

* Variablennamen stimmen nicht mit anderen Filtern überein
* SQL-Syntax-Fehler verhindert Ausführung
* Speicher-Probleme bei sehr häufigen Änderungen

**Diagnose:**

1. **SQL-Editor öffnen** → "Ausführen" klicken → Fehlermeldungen prüfen
2. **Variable Namen überprüfen** → Müssen exakt mit Filter-Systemnamen übereinstimmen
3. **Browser-Cache leeren** → Manchmal hilft ein Neuladen der Seite

### "Leistungs-Probleme"

**Für langsame Abfragen:**

```sql
-- LIMIT ist Pflicht (maximal 10.000 Zeilen)
SELECT DISTINCT kategorie
FROM grosse_tabelle
WHERE bedingungen
ORDER BY kategorie
LIMIT 10000;

-- Indizierte Spalten in WHERE nutzen
WHERE indizierte_spalte = wert
```

{% hint style="warning" %}
**Wichtig**: Dynamische Filter führen SQL-Abfragen bei jeder Verwendung aus. Achten Sie auf die Leistung bei großen Datenmengen und häufig genutzten Filtern.
{% endhint %}

## Best Practices

### SQL-Abfragen schreiben

1. **Erste Spalte ist entscheidend** - Nur die erste Spalte wird für Optionen verwendet
2. **DISTINCT verwenden** - Vermeidet doppelte Einträge in der Dropdown-Liste
3. **ORDER BY hinzufügen** - Sortiert Optionen für bessere Benutzererfahrung
4. **NULL-Werte filtern** - Leere Optionen vermeiden
5. **Leistung beachten** - Immer LIMIT 10000 verwenden (Pflicht)

### Variablen verwenden

1. **Exakte Namen verwenden** - `$filter_systemname` muss genau mit dem Filter-Systemnamen (Slug) übereinstimmen
2. **NULL-Behandlung** - Berücksichtigen Sie leere Filter: `WHERE (status = $status OR $status IS NULL)`
3. **Typen beachten** - Text-, Zahlen- und Datumsfilter haben verschiedene Formate

### Wartung und Überwachung

1. **Regelmäßig testen** - Überprüfen Sie Filter nach Datenbank-Änderungen
2. **Leistung überwachen** - Langsame Abfragen können die Benutzererfahrung beeinträchtigen (maximal 10.000 Zeilen möglich)
3. **Dokumentation** - Kommentieren Sie komplexe SQL-Abfragen für andere Bearbeiter

{% hint style="success" %}
**Profi-Tipp**: Beginnen Sie mit einfachen DISTINCT-Abfragen und erweitern Sie diese schrittweise um Variablen und Logik. Testen Sie jede Änderung sofort im SQL-Editor, bevor Sie den Filter speichern.
{% endhint %}


# Erweiterte Einstellungen

Steuern Sie Standardwerte, Sichtbarkeit und das Verhalten globaler Filter.

Neben Typ und Eingabeoptionen bieten Berichtsfilter zusätzliche Schalter, mit denen Sie das Verhalten für Endnutzer:innen feinjustieren können. Die Einstellungen finden Sie im Reiter **Einstellungen** der Filterkonfiguration.

## Standardwert festlegen

Über das Dropdown **Standardwert** legen Sie fest, welcher Wert beim Öffnen des Berichts vorausgewählt ist. Sie können zwischen einem festen Wert und dynamischen Optionen wählen.

### Statischer Standardwert

Bei einem statischen Standardwert geben Sie einen festen Wert ein:

* Text und Zahlen: Freitextfeld
* Dropdown: Auswahl aus Ihren Optionswerten
* Datum: Kalenderauswahl

### Dynamischer Standardwert

Dynamische Standardwerte passen sich automatisch an. Statt eines festen Datums können Sie zum Beispiel „Heute" wählen. Dann zeigt der Filter beim Öffnen des Berichts immer das aktuelle Datum – ohne dass Sie den Wert manuell aktualisieren müssen.

**Verfügbare Optionen:**

| Option                      | Beschreibung                                                                                       |
| --------------------------- | -------------------------------------------------------------------------------------------------- |
| **Keiner**                  | Kein Standardwert. Der Filter startet leer.                                                        |
| **Statisch**                | Ein fester Wert, den Sie selbst eingeben.                                                          |
| **Heute**                   | Das heutige Datum.                                                                                 |
| **Ende des heutigen Tages** | Das heutige Datum (Ende des Tages). Nützlich als Endwert in Kombination mit „Heute" als Startwert. |
| **Gestern**                 | Das gestrige Datum.                                                                                |
| **Monatsanfang**            | Der erste Tag des aktuellen Monats.                                                                |
| **Monatsende**              | Der letzte Tag des aktuellen Monats.                                                               |
| **Jahresanfang**            | Der erste Tag des aktuellen Jahres (1. Januar).                                                    |
| **Jahresende**              | Der letzte Tag des aktuellen Jahres (31. Dezember).                                                |
| **Erster Wert**             | Der erste verfügbare Wert aus den Daten.                                                           |
| **Letzter Wert**            | Der letzte verfügbare Wert aus den Daten.                                                          |

{% hint style="info" %}
Nicht alle Optionen stehen bei jedem Filtertyp zur Verfügung:

* **Datumsfilter**: Keiner, Statisch, Heute, Ende des heutigen Tages, Gestern, Monatsanfang, Monatsende, Jahresanfang, Jahresende
* **Auswahllisten** (Text/Zahl): Keiner, Statisch, Erster Wert, Letzter Wert
* **Eingabefelder** (Text/Zahl): Keiner, Statisch
  {% endhint %}

> ⚠️ Wenn **Wert immer erforderlich** aktiv ist, muss auch ein Standardwert hinterlegt sein.

## Wert immer erforderlich

Der Schalter **Wert immer erforderlich** erzwingt, dass der Filter befüllt wird, bevor Daten angezeigt werden. Nutzen Sie diese Option, wenn Ihre SQL-Logik ohne Filterwert nicht aussagekräftige Ergebnisse liefert. Für Betrachter:innen erscheint der Filter mit Pflicht-Hinweis.

## Sichtbarkeit steuern

Mit **Filter in Filterleiste anzeigen** bestimmen Sie, ob der Filter in der globalen Filterleiste oben im Bericht sichtbar ist:

* **Aktiviert** – Filter erscheint in der Leiste und kann von allen Benutzer:innen bedient werden.
* **Deaktiviert** – Filter bleibt nur auf den verbundenen Visualisierungen vorhanden (praktisch für selten benötigte Steuerungen).

Im Bearbeitungsmodus erkennen Sie ausgeblendete Filter an einem durchgestrichenen Augensymbol.

## Lokales Filter-Überschreiben verhindern <a href="#lokales-filter-ueberschreiben-verhindern" id="lokales-filter-ueberschreiben-verhindern"></a>

Standardmäßig können Betrachter:innen Filterwerte auf einzelnen Visualisierungen temporär anpassen, ohne die globale Einstellung zu verändern. Aktivieren Sie den Schalter **Lokales Filter-Überschreiben verhindern**, wenn alle Widgets stets dem globalen Wert folgen sollen.

* Änderungen an einer Visualisierung aktualisieren direkt den globalen Filter.
* Lokale Überschreibungen sind nicht mehr möglich; die Schaltfläche **Zurücksetzen** entfällt.
* Ideal für Berichte, bei denen konsistente Filterwerte über alle Seiten hinweg zwingend sind (z. B. beim PDF-Export oder bei offiziellen Kennzahlen).

Weitere Informationen zur Funktionsweise der Filter finden Sie in der Übersicht [Berichtsfilter](/berichte/filter) sowie in der Anleitung [Filter erstellen](/berichte/filter/filter-erstellen).


# Filter-Komponenten platzieren

Platzieren Sie Filter direkt im Berichtslayout und machen Sie sie für Leser:innen leichter zugänglich.

Neben der globalen Filterleiste können Sie Filter jetzt als eigenständige Komponenten direkt im Bericht einfügen. Das ist besonders hilfreich, wenn Filter kontextnah neben Texten, KPIs oder Dashboard-Abschnitten erscheinen sollen.

## Filter einfügen

1. Öffnen Sie den Bericht im **Bearbeitungsmodus**.
2. Klicken Sie in der Werkzeugleiste auf **+ Block** → **Filter**.
3. Wählen Sie im Dialog den gewünschten Filter aus (nur Filter, die in der globalen Leiste sichtbar sind, stehen zur Auswahl).
4. Der Filter erscheint als Block auf der Seite und kann wie andere Elemente verschoben oder in Spalten angeordnet werden.

> 💡 Wenn kein Filter verfügbar ist, können Sie zunächst einen Filter im Filter-Panel anlegen oder dessen Sichtbarkeit aktivieren.

## Verhalten von Filter-Komponenten

* Änderungen wirken sich – genau wie bei der Filterleiste – auf alle verbundenen Visualisierungen aus.
* Die komponentenbasierte Darstellung zeigt dieselben Optionen wie im Panel (z. B. Dropdown, Mehrfachauswahl, Datumskontrolle).
* Bei Dropdown-Filtern mit SQL-Optionen werden die Werte live vom Backend geladen.

## Gestaltungstipps

* Platzieren Sie Filter-Komponenten am Anfang von Berichtskapiteln, damit Leser:innen den Kontext direkt beeinflussen können.
* Nutzen Sie Spaltengitter oder Karten, um Filter gemeinsam mit KPI-Kacheln oder erklärendem Text zu gruppieren.
* Für sehr viele Filter empfiehlt es sich, nur die wichtigsten als Komponente einzublenden und den Rest in der globalen Leiste zu lassen.

Kombinieren Sie Filter-Komponenten mit der Funktion [Lokales Überschreiben verhindern](/berichte/filter/erweiterte-einstellungen#lokales-filter-ueberschreiben-verhindern), wenn alle Visualisierungen konsistent bleiben sollen.


# Design anpassen

Passen Sie die Diagrammfarben Ihres Berichts an Ihr Corporate Design an.

## Was ist das Berichtsdesign?

Das Berichtsdesign legt fest, welche Farben Ihre Diagramme verwenden. Balken, Linien und Tortenstücke erscheinen in den Farben Ihrer Farbpalette.

**Stellen Sie sich vor:** Sie haben einen Stadtbericht. Die Farben sollen zu Ihrer Stadtverwaltung passen — zum Beispiel Blau und Grau. Mit dem Berichtsdesign können Sie genau das einstellen.

### Wann brauchen Sie das?

* Ihre Organisation hat eigene Farben (Corporate Design)
* Sie möchten verschiedene Berichte farblich unterscheiden
* Die Standardfarben passen nicht zu Ihren Präsentationen

## Design bearbeiten

{% stepper %}
{% step %}
**Bericht öffnen**

Öffnen Sie den Bericht, dessen Design Sie anpassen möchten.
{% endstep %}

{% step %}
**Design-Dialog öffnen**

Klicken Sie oben rechts auf das **...-Menü**. Wählen Sie **Design bearbeiten**.

Es öffnet sich der Dialog **Berichtsdesign bearbeiten**.
{% endstep %}

{% step %}
**Farben anpassen**

Im Dialog sehen Sie zwei Bereiche:

* **Diagrammvorschau**: Zeigt, wie Ihre Diagramme mit den aktuellen Farben aussehen
* **Diagrammfarben**: Die Liste Ihrer Farbpalette

{% hint style="info" %}
Die Farben werden der Reihe nach verwendet. Die erste Farbe kommt für die erste Datenreihe, die zweite für die zweite — und so weiter. Gibt es mehr Datenreihen als Farben, beginnt die Palette von vorne.
{% endhint %}
{% endstep %}

{% step %}
**Farben hinzufügen, ändern oder entfernen**

{% tabs %}
{% tab title="Farbe ändern" %}

1. Klicken Sie auf das farbige Quadrat neben einer Farbe
2. Geben Sie einen Hex-Farbwert ein (zum Beispiel `#3B82F6` für ein helles Blau)
3. Die Diagrammvorschau aktualisiert sich sofort
   {% endtab %}

{% tab title="Farbe hinzufügen" %}

1. Klicken Sie auf **Farbe hinzufügen**
2. Geben Sie den gewünschten Hex-Wert ein
   {% endtab %}

{% tab title="Farbe entfernen" %}

1. Klicken Sie auf das **×**-Symbol neben der Farbe, die Sie entfernen möchten

{% hint style="warning" %}
Mindestens eine Farbe muss in der Palette verbleiben.
{% endhint %}
{% endtab %}

{% tab title="Reihenfolge ändern" %}

1. Halten Sie eine Farbe gedrückt
2. Ziehen Sie sie an die gewünschte Position

Die Vorschau zeigt sofort das Ergebnis.
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Auf Standard zurücksetzen (optional)**

Möchten Sie die Original-Farben wiederherstellen? Klicken Sie auf **Auf Standard zurücksetzen**.

Dies setzt alle Farben auf die Standardpalette zurück.
{% endstep %}

{% step %}
**Design speichern**

Klicken Sie auf **Design speichern**. Das Design wird auf den gesamten Bericht angewendet.

Alle Diagramme im Bericht — auch in Berichtsansichten — verwenden ab sofort Ihre Farbpalette.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Das Design gilt für den gesamten Bericht. Einzelne Diagramme können nicht separat eingefärbt werden.
{% endhint %}


# Berichte verwalten

Verwalten Sie Berichte in der Polyteia-Plattform.

Sobald ein Bericht erstellt wurde, kann er über die **Speichern**-Schaltfläche oder das **...**-Menü in der oberen rechten Ecke des Editors verwaltet werden. Verfügbare Aktionen umfassen das Speichern von Änderungen, das Teilen mit anderen in Ihrer Lösung oder das dauerhafte Löschen des Berichts.

### Verfügbare Optionen

| Funktion            | Beschreibung                                                                                                                 |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Speichern           | Speichert Ihre neuesten Änderungen am Bericht. Diese Option ist nur für den Berichtseigentümer und Berichtseditoren sichtbar |
| Exportieren         | Lädt Ihren Bericht als PDF-Datei herunter, die Sie speichern, drucken oder außerhalb der Plattform teilen können             |
| Design bearbeiten   | Öffnet den Dialog zum Anpassen der Diagrammfarben. Legen Sie eine individuelle Farbpalette für den gesamten Bericht fest     |
| Bericht duplizieren | Erstellt eine Kopie des Berichts in derselben Lösung. Sie können dabei einen neuen Namen und eine Beschreibung vergeben      |
| Löschen             | Entfernt den Bericht dauerhaft aus der Lösung. Nur der Ersteller oder Eigentümer kann löschen                                |
| Link kopieren       | Kopiert einen Link zum Bericht in die Zwischenablage. Sie können diesen mit anderen Benutzern in Ihrer Lösung teilen         |

### Hinweise zu Sichtbarkeit und Berechtigungen

* Berichte sind für alle Benutzer in derselben Lösung sichtbar, aber Auswertungen, die zum Bericht hinzugefügt wurden, können nur angezeigt werden, wenn der aktuelle Betrachter des Berichts auch Editor- oder Eigentümerberechtigungen für die zugrundeliegenden Datensätze der Auswertungen hat
* Nur der Berichtseigentümer kann den Bericht löschen
* Berichtseditoren können den Bericht bearbeiten und die Änderungen speichern

## Bericht duplizieren

Manchmal möchten Sie einen bestehenden Bericht als Vorlage nutzen. Zum Beispiel, um einen ähnlichen Bericht für einen anderen Zeitraum oder eine andere Region zu erstellen. Anstatt alles neu aufzubauen, können Sie den Bericht einfach duplizieren.

{% stepper %}
{% step %}
**Bericht öffnen**

Öffnen Sie den Bericht, den Sie duplizieren möchten.
{% endstep %}

{% step %}
**Duplizieren wählen**

Klicken Sie auf das **...-Menü** oben rechts und wählen Sie **Bericht duplizieren**.
{% endstep %}

{% step %}
**Namen und Beschreibung anpassen**

Es öffnet sich ein Dialogfenster. Der Name wird automatisch mit „(copy)" ergänzt. Sie können den Namen und die Beschreibung nach Wunsch ändern.

Klicken Sie auf **Duplizieren**.
{% endstep %}

{% step %}
**Kopie bearbeiten**

Nach dem Duplizieren öffnet sich der neue Bericht automatisch. Alle Seiten, Abschnitte und Widgets aus dem Original werden übernommen. Sie können den duplizierten Bericht jetzt unabhängig vom Original bearbeiten.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Zum Duplizieren eines Berichts benötigen Sie die Berechtigung, neue Berichte in der Lösung zu erstellen.
{% endhint %}

## Berichte exportieren

Exportieren Sie Ihre Berichte als PDF für Präsentationen, Archivierung oder zum Teilen außerhalb der Plattform.

### Wie man einen Bericht exportiert

{% stepper %}
{% step %}
**Export-Dialog öffnen**

Klicken Sie oben rechts im Bericht auf das **...-Menü** und wählen Sie **PDF exportieren**.
{% endstep %}

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

Im Dialog sehen Sie alle Seiten des Berichts. Wählen Sie aus, welche Seiten in der PDF erscheinen sollen — oder klicken Sie auf **Alle**, um den gesamten Bericht zu exportieren.
{% endstep %}

{% step %}
**Seitenausrichtung wählen**

Unter **Orientierung** können Sie zwischen **Porträt** (hochkant) und **Landschaft** (quer) wählen. Querformat eignet sich besonders für breite Tabellen oder Diagramme.
{% endstep %}

{% step %}
**Vorschau prüfen**

Bevor Sie exportieren, zeigt der Dialog eine Vorschau der PDF. So sehen Sie genau, wie das Ergebnis aussehen wird.
{% endstep %}

{% step %}
**Exportieren**

Klicken Sie auf **PDF exportieren**. Die Datei wird vorbereitet und automatisch heruntergeladen. Optional können Sie **Schicken Sie mir eine Kopie per E-Mail** aktivieren — dann erhalten Sie die PDF zusätzlich per E-Mail.
{% endstep %}
{% endstepper %}

### Was wird exportiert?

Der PDF-Export enthält:

* **Ausgewählte Seiten** des Berichts
* **Alle Widgets und Visualisierungen** mit ihren aktuellen Daten
* **Aktuelle Filtereinstellungen** — die Daten werden genau so exportiert, wie sie im Bericht angezeigt werden
* **Titel und Beschreibungen** aller Widgets

{% hint style="info" %}
Der PDF-Export berücksichtigt die aktuellen Filtereinstellungen. Wenn Sie globale Filter gesetzt haben, werden nur die gefilterten Daten im Export angezeigt.
{% endhint %}

### Tipps für optimale Exports

* Überprüfen Sie die **Vorschau** im Dialog, bevor Sie exportieren — so vermeiden Sie unerwartete Ergebnisse.
* Breite Tabellen oder Diagramme stellen Sie am besten im **Querformat** dar.
* Bei großen Berichten kann die Vorbereitung einige Sekunden bis Minuten dauern. Sie werden benachrichtigt, sobald der Download bereit ist.

**Verwendungszwecke:**

* **Präsentationen**: Teilen Sie statische Berichte mit Stakeholdern ohne Plattformzugriff
* **Archivierung**: Speichern Sie Momentaufnahmen Ihrer Berichte für historische Vergleiche
* **Drucken**: Erstellen Sie gedruckte Kopien für Meetings oder offizielle Dokumentation
* **Berichtswesen**: Integrieren Sie Berichte in externe Dokumente oder Präsentationen

{% hint style="warning" %}
**Wichtig**: PDF-Exporte sind statische Momentaufnahmen. Wenn sich die zugrundeliegenden Daten ändern, müssen Sie einen neuen Export erstellen, um die aktuellsten Informationen zu erhalten.
{% endhint %}

## Farbpalette anpassen

Jeder Bericht kann eine eigene Farbpalette erhalten. Mehr dazu finden Sie hier: [**Design anpassen**](/berichte/design-anpassen).


# Formulare

Erstellen Sie Online-Formulare, sammeln Sie strukturierte Daten und verwalten Sie Einreichungen direkt in Ihren Datensätzen.

{% hint style="info" %}
Formulare sind eine kostenpflichtige Zusatzfunktion. Wenn Sie Interesse haben, kontaktieren Sie uns unter **<support@polyteia.de>**.
{% endhint %}

Mit Formularen sammeln Sie strukturierte Daten online – von einfachen Umfragen bis zu komplexen Anträgen mit bedingter Logik. Die eingereichten Daten fließen automatisch in Ihre Datensätze und können sofort analysiert werden.

## Funktionen

* **Daten sammeln:** Von Bürgerbefragungen über Veranstaltungsanmeldungen bis zu Förderanträgen – ohne Programmierung
* **Intelligent anpassen:** Felder erscheinen nur, wenn sie relevant sind; Pflichtfelder ändern sich je nach Kontext
* **Automatisch auswerten:** Einreichungen landen direkt im Datensatz zur sofortigen Analyse

***

## Einfach oder erweitert?

{% tabs %}
{% tab title="Einfache Formulare" %}
**Perfekt für Umfragen, Anmeldungen, Kontaktformulare:**

* Standardfelder (Text, Zahl, Datum, Auswahl)
* Mehrseitige Formulare
* Öffentlich oder mit Zugangsbeschränkung

→ [**Formular erstellen**](/formulare/erstellen/formular-editor)
{% endtab %}

{% tab title="Erweiterte Formulare" %}
**Für Anträge mit unterschiedlichen Pfaden und Abhängigkeiten:**

* Bedingte Felder
* Dynamische Pflichtfelder
* Eigene Validierungsregeln

→ [**Erweiterte Funktionen**](/formulare/erweitert)
{% endtab %}
{% endtabs %}

***

## Der Ablauf in 4 Schritten

{% stepper %}
{% step %}
**1. Formular erstellen**

Visueller Editor mit 18 Feldtypen, mehrseitigen Formularen und Echtzeitvorschau.

→ [Formular-Editor](/formulare/erstellen/formular-editor)
{% endstep %}

{% step %}
**2. Konfigurieren und Freischalten**

Zugriffsrechte festlegen (öffentlich/privat), Zeiträume konfigurieren und freischalten.

→ [Freischalten und Teilen](/formulare/erstellen/freischalten)
{% endstep %}

{% step %}
**3. Link teilen**

Link per E-Mail, Webseite oder soziale Medien verteilen.
{% endstep %}

{% step %}
**4. Daten auswerten**

Einreichungen automatisch im Datensatz analysieren, exportieren und weiterverarbeiten.

→ [Einreichungen verwalten](/formulare/erstellen/einreichungen-verwalten)
{% endstep %}
{% endstepper %}

***

## Dokumentation

{% tabs %}
{% tab title="Erste Schritte" %}

1. [**Formular-Editor**](/formulare/erstellen/formular-editor) – Mit dem Editor vertraut machen
2. [**Feldtypen**](/formulare/erstellen/feldtypen) – Verfügbare Felder kennenlernen
3. [**Erstes Formular**](https://docs.polyteia.com/pages/OlGGQwlebgEQke9PHjSV#schritt-für-schritt-ihr-erstes-formular) – Schritt-für-Schritt zum ersten Formular
4. [**Freischalten**](/formulare/erstellen/freischalten) – Formular zugänglich machen
   {% endtab %}

{% tab title="Formular erstellen" %}

* [**Formular-Editor**](/formulare/erstellen/formular-editor) – Bedienung und Funktionen
* [**Feldtypen**](/formulare/erstellen/feldtypen) – Alle 18 Feldtypen im Detail
* [**Freischalten**](/formulare/erstellen/freischalten) – Einstellungen und Veröffentlichung
* [**Einreichungen**](/formulare/erstellen/einreichungen-verwalten) – Daten verwalten und exportieren
  {% endtab %}

{% tab title="Erweiterte Funktionen" %}

* [**Bedingungen**](/formulare/erweitert/bedingungen) – Felder bedingt anzeigen/verstecken/pflicht machen
* [**Validierungsregeln**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen
* [**Visueller Editor**](/formulare/erweitert/bedingungseditor) – Bedingungen ohne Code
* [**Ausdrücke**](/formulare/erweitert/ausdruecke) – Für Fortgeschrittene
  {% endtab %}

{% tab title="Formulare ausfüllen" %}

* [**Zugang**](/formulare/ausfuellen/zugang) – Zum Formular gelangen
* [**Ausfüllen**](/formulare/ausfuellen/ausfuellen) – Tipps zum korrekten Ausfüllen
  {% endtab %}
  {% endtabs %}

***

## Wichtige Konzepte

**Freischalten:** Legt fest, wer wann ausfüllen darf und wo die Daten landen. Einige Einstellungen (öffentlich/privat) können später nicht mehr geändert werden.

**Einreichungen:** Ausgefüllte Formulare landen automatisch als neue Zeilen im verknüpften Datensatz.

**Datensatz-Verknüpfung:** Jedes Formular braucht einen Datensatz (Tabelle). Jede Einreichung = eine Zeile, jedes Feld = eine Spalte.

**Öffentlich vs. Privat:**

* **Öffentlich:** Jeder mit dem Link kann ohne Anmeldung ausfüllen
* **Privat:** Nur eingeladene E-Mail-Adressen mit Einmalcode

***

## Anwendungsbeispiele

**Bürgerbefragung:** Öffentlich, mehrseitig mit Demografie, Bewertungen und Feedback → [Beispiel-Anleitung](https://docs.polyteia.com/pages/OlGGQwlebgEQke9PHjSV#schritt-für-schritt-ihr-erstes-formular)

**Veranstaltungsanmeldung:** Öffentlich mit Authentifizierung, bedingte Felder für Postversand → [Bedingungen einrichten](/formulare/erweitert/bedingungen)

**Förderantrag:** Privat für ausgewählte Organisationen, unterschiedliche Felder je nach Organisationstyp → [Erweiterte Funktionen](/formulare/erweitert)

***

## Häufige Fragen

**Kann ich ein Formular nach der Freischaltung noch ändern?** Texte ja, strukturelle Änderungen (neue Felder, Feldtypen) vermeiden, sie führen zu Datenproblemen.

**Wie viele Personen können gleichzeitig ausfüllen?** Keine Obergrenze, das System skaliert automatisch.

**Sind Formulare DSGVO-konform?** Ja, alle Daten werden nach deutschen und europäischen Datenschutzbestimmungen verarbeitet.

**Wo landen die Einreichungen?** Automatisch im verknüpften Datensatz zur Analyse und Export.

***

## Nächste Schritte

**Einsteiger:** [Editor kennenlernen](/formulare/erstellen/formular-editor) → [Erstes Formular erstellen](https://docs.polyteia.com/pages/OlGGQwlebgEQke9PHjSV#schritt-für-schritt-ihr-erstes-formular) → [Freischalten](/formulare/erstellen/freischalten)

**Fortgeschrittene:** [Bedingte Felder](/formulare/erweitert/bedingungen) → [Validierungsregeln](/formulare/erweitert/validierung) → [Ausdrücke](/formulare/erweitert/ausdruecke)

{% hint style="info" %}
**Datenschutz**: Beim Erstellen oder Freigeben von Formularen müssen Sie die dokumentierten Verarbeitungstätigkeiten im [Weisungsregister](/sicherheit/weisungsregister) bestätigen, wenn Ihre Lösung Einträge zur Auftragsverarbeitungsvereinbarung (AVV) konfiguriert hat. Dies stellt die DSGVO-Konformität gemäß Art. 28 DSGVO sicher.
{% endhint %}


# Formulare erstellen

Überblick über die Erstellung von Online-Formularen mit dem visuellen Editor. Von der ersten Idee bis zur Veröffentlichung.

Das Erstellen von Formularen in Polyteia erfolgt über einen visuellen Editor. Sie ziehen Elemente per Maus an die gewünschte Stelle und konfigurieren sie nach Ihren Anforderungen.

## Der Erstellungsprozess

1. **Formular aufbauen** – Elemente hinzufügen und anordnen
2. **Felder konfigurieren** – Feldtitel, Beschreibungen und Optionen festlegen
3. **Testen und Veröffentlichen** – Formular prüfen, freischalten und Link teilen
4. **Einreichungen verwalten** – Eingereichte Daten ansehen und exportieren

## Anleitungen

### [Formular-Editor verwenden](/formulare/erstellen/formular-editor)

Der visuelle Editor mit drei Arbeitsbereichen: Elemente-Menü, Arbeitsfläche und Konfiguration. Lernen Sie, wie Sie Elemente per Drag-and-Drop hinzufügen und mehrseitige Formulare erstellen.

### [Feldtypen und Elemente](/formulare/erstellen/feldtypen)

Alle verfügbaren Elementtypen mit ihren Konfigurationsmöglichkeiten:

* **Struktur:** Überschrift, Beschreibung, Trennstrich
* **Dateneingabe:** Freitext, Langer Text, Zahl, Datum, Ja/Nein, E-Mail, Telefon, URL, Uhrzeit, Datum & Uhrzeit
* **Auswahloptionen:** Mehrfachauswahl, Einzelauswahl (Liste), Einzelauswahl (Optionen), Schieberegler
* **Tabellen:** Raster

### [Freischalten und Teilen](/formulare/erstellen/freischalten)

Zugriff festlegen, Formular freischalten, Link teilen und Einreichungen überwachen.

### [Einreichungen verwalten](/formulare/erstellen/einreichungen-verwalten)

Eingereichte Daten ansehen, exportieren, auswerten und mit Datensätzen integrieren.

## Empfohlener Einstieg

1. [**Formular-Editor**](/formulare/erstellen/formular-editor) – Grundlagen des Editors verstehen
2. [**Feldtypen**](/formulare/erstellen/feldtypen) – Verfügbare Elementtypen kennenlernen
3. [**Freischalten und Teilen**](/formulare/erstellen/freischalten) – Formular zugänglich machen
4. [**Einreichungen verwalten**](/formulare/erstellen/einreichungen-verwalten) – Antworten verarbeiten


# Formular-Editor

Detaillierte Schritt-für-Schritt-Anleitung für den visuellen Formular-Editor – vom ersten Element bis zum fertigen, mehrseitigen Formular.

Der Formular-Editor ist wie ein digitaler Baukasten für Fragebögen oder Formulare. Stellen Sie sich vor, Sie erstellen ein mehrseitiges Dokument: Sie fügen Abschnitte hinzu, ordnen Inhalte an und sehen sofort das fertige Ergebnis – ohne technische Vorkenntnisse.

Mit dem visuellen Editor können Sie professionelle Formulare erstellen, ohne programmieren zu müssen. Elemente lassen sich per Maus ziehen und an der gewünschten Stelle platzieren.

## Der Editor im Überblick

Wenn Sie den Formular-Editor öffnen, sehen Sie drei Bereiche:

### **Das Drei-Bereiche-Layout**

{% tabs fullWidth="false" %}
{% tab title="Elemente-Menü (Links)" %}
**Ihr Baukasten mit allen verfügbaren Elementen**

Hier finden Sie alle Bausteine für Ihr Formular:

**Grundlagen (Dateneingabe):**

* **Freitext** – Kurze Texteingaben wie Name oder E-Mail
* **Zahl** – Numerische Eingaben wie Alter oder Bewertungen
* **Datum** – Datumsauswahl mit Kalenderansicht
* **Langer Text** – Mehrzeilige Eingaben für Kommentare
* **Ja/Nein** – Umschalter für binäre Entscheidungen

**Erweitert (Auswahl):**

* **Mehrfachauswahl** – Ankreuzfelder für mehrere Optionen
* **Auswahlliste** – Ausklappmenü für Einzelauswahl
* **Einzelauswahl (Optionen)** – Optionsfelder für Einzelauswahl

**Struktur:**

* **Überschrift** – Abschnittstitel und Gliederung
* **Beschreibung** – Erklärende Texte und Hinweise
  {% endtab %}

{% tab title="Arbeitsfläche (Mitte)" %}
**Ihr Arbeitsbereich – hier entsteht das Formular**

Die Arbeitsfläche zeigt Ihr Formular genau so, wie es später die Ausfüllenden sehen werden:

**Funktionen:**

* **Echtzeitvorschau** – Sofortige Darstellung aller Änderungen
* **Einfügezonen** – Rechteckige Bereiche zeigen, wo Elemente eingefügt werden können
* **Element-Auswahl** – Klick auf ein Element öffnet die Konfiguration
* **Reihenfolge ändern** – Elemente nach oben/unten verschieben

**Navigation bei mehrseitigen Formularen:**

* **Seiten-Beschriftung** am oberen Rand
* **Vorschau-Navigation** zum Testen des Nutzerflusses
* **Fortschrittsanzeige** für bessere Übersicht

{% hint style="success" %}
**Vorteil:** Was Sie hier sehen, bekommen auch Ihre Nutzer zu sehen – ohne Überraschungen bei der Veröffentlichung.
{% endhint %}
{% endtab %}

{% tab title="Konfiguration (Rechts)" %}
**Ihr Werkzeugkasten für Details und Einstellungen**

Sobald Sie ein Element auswählen, öffnet sich hier das Konfigurationsmenü rechts:

**Allgemeine Einstellungen (für alle Elementtypen):**

* **Feldtitel** – Die sichtbare Beschriftung oder Frage
* **Beschreibung** – Optionaler Hilfetext unter dem Feld
* **Pflichtfeld** – Element als erforderlich markieren
* **Versteckt** – Element zunächst ausblenden (standardmäßig versteckt)

**Spezifische Einstellungen (je nach Elementtyp):**

* **Validierung** – Regeln für gültige Eingaben
* **Optionen** – Auswahlmöglichkeiten konfigurieren
* **Format** – Darstellung und Eingabeformat

{% hint style="warning" %}
**Wichtig:** Denken Sie daran, Ihre Änderungen manuell zu speichern. Strukturelle Änderungen nach der Veröffentlichung können die Datenintegrität beeinträchtigen.
{% endhint %}
{% endtab %}
{% endtabs %}

## Schritt-für-Schritt: Ihr erstes Formular

Lassen Sie uns gemeinsam ein einfaches Formular erstellen: Eine Bürgerbefragung zur Zufriedenheit mit öffentlichen Verkehrsmitteln

{% stepper %}
{% step %}
**Formular starten**

1. **Navigieren Sie zu Formularen:**
   * Öffnen Sie eine Lösung
   * Klicken Sie in der Seitenleiste auf **Formulare**
2. **Neues Formular erstellen:**
   * Im Fenster klicken Sie auf das **+** Symbol
3. **Grundinformationen eingeben:**
   * **Name:** "ÖPNV-Zufriedenheit 2024"
   * **Beschreibung:** "Befragung zur Verbesserung des öffentlichen Nahverkehrs"
   * Klicken Sie **"Erstellen"**

**Ergebnis:** Der Editor öffnet sich mit einem leeren Formular. Sie sehen die drei Bereiche und können loslegen.

{% hint style="info" %}
**Was passiert im Hintergrund:** Polyteia erstellt automatisch einen neuen Datensatz, der später alle Antworten sammelt. Der Name des Datensatzes basiert auf Ihrem Formularnamen.
{% endhint %}
{% endstep %}

{% step %}
**Begrüßung und Struktur anlegen**

1. **Überschrift hinzufügen:** "Ihre Meinung zum öffentlichen Nahverkehr"
2. **Beschreibung ergänzen:** "Helfen Sie uns dabei, Bus und Bahn zu verbessern. Die Befragung dauert etwa 5 Minuten und wird anonymisiert ausgewertet."
3. **Abschnittsüberschrift:** "Grundinformationen"
   {% endstep %}

{% step %}
**Erste Felder hinzufügen**

1. **Altersgruppe:** Einzelauswahl (Optionen) mit "18-25", "26-40", "41-60", "Über 60 Jahre" → Pflichtfeld
2. **Wohnort:** Auswahlliste mit Stadtteilen → Pflichtfeld
3. **Nutzungshäufigkeit:** Einzelauswahl mit "Täglich" bis "Nie oder fast nie" → Pflichtfeld
   {% endstep %}

{% step %}
**Bewertungen und Feedback sammeln**

1. **Abschnittsüberschrift:** "Ihre Bewertung"
2. **Gesamtzufriedenheit:** Einzelauswahl von "Sehr zufrieden" bis "Sehr unzufrieden" → Pflichtfeld
3. **Positive Aspekte:** Mehrfachauswahl (Pünktlichkeit, Sauberkeit, Personal, etc.) → Optional
4. **Verbesserungsvorschläge:** Langer Text → Optional
   {% endstep %}

{% step %}
**Formular abschließen und testen**

1. **Abschluss:** Überschrift "Vielen Dank!" + Beschreibung mit Dank für die Teilnahme
2. **Optionale Kontaktdaten:** Freitext für E-Mail-Adresse → Optional
3. **Datenschutz-Hinweis:** Beschreibung zur vertraulichen Behandlung
4. **Formular testen:** Klicken Sie auf "Vorschau" und testen Sie alle Felder und Validierungen
   {% endstep %}
   {% endstepper %}

{% hint style="success" %}
**Herzlichen Glückwunsch!** Sie haben Ihr erstes Formular erstellt.
{% endhint %}

## Erweiterte Editor-Funktionen

### **Mehrseitige Formulare erstellen**

Längere Formulare teilen Sie am besten auf mehrere Seiten auf – das macht das Ausfüllen angenehmer und übersichtlicher.

{% tabs %}
{% tab title="Neue Seite hinzufügen" %}
**Wann neue Seiten sinnvoll sind:**

* Bei mehr als 7-10 Feldern pro Seite
* Bei thematischen Wechseln (z.B. Grunddaten → Bewertung → Vorschläge)
* Bei komplexen Anträgen mit verschiedenen Bereichen

**So fügen Sie eine neue Seite hinzu:**

1. **Seite erstellen:**
   * Klicken Sie auf das **"+ Seite hinzufügen"** unten im Arbeitsbereich
2. **Seiteninhalte festlegen:**
   * Geben Sie eine Überschrift ein
   * Fügen Sie eine Beschreibung hinzu (optional)
3. **Navigation testen:**
   * Verwenden Sie die Vorschau
   * Prüfen Sie die "Weiter"/"Zurück"-Buttons
   * Achten Sie auf die Fortschrittsanzeige

{% hint style="info" %}
**Faustregel:** Pro Seite maximal 5-7 Felder oder ein thematisch zusammengehöriger Block. Nutzer sehen automatisch ihren Fortschritt.
{% endhint %}
{% endtab %}

{% tab title="Seiten organisieren" %}
**Logische Seitenaufteilung:**

**Seite 1: Begrüßung und Grunddaten**

* Erklärung des Zwecks
* Datenschutzhinweise
* Demografische Grunddaten (Alter, Wohnort, etc.)

**Seite 2-X: Hauptinhalt thematisch gruppiert**

* Je Themenbereich eine Seite
* Ähnliche Elementtypen zusammenfassen
* Von einfach zu komplex

**Letzte Seite: Abschluss**

* Optionale Zusatzfragen
* Kontaktdaten bei Bedarf
* Dankesnachricht

**Seiten verwalten:**

1. **Seiten löschen:**
   * Bewegen Sie die Maus über die gewünschte Seite
   * Klicken Sie auf das Papierkorb-Symbol rechts über der Seite
   * ⚠️ Achtung: Alle Elemente der Seite gehen verloren

**Fortschrittsanzeige:**

* Nutzer sehen ihren Fortschritt als Fortschrittsbalken
* Bereits ausgefüllte Seiten werden markiert
* Zurück-Navigation ist immer möglich
  {% endtab %}

{% tab title="Seitenübergänge optimieren" %}
**Benutzerfreundliche Übergänge:**

* **Vorschau der nächsten Seite:** Kurze Zusammenfassung und Zeitschätzung
* **Beispiel:** "Im nächsten Schritt bewerten Sie verschiedene Aspekte – ca. 3 Minuten."
* **Speicherhinweis:** "Ihre Antworten werden automatisch gespeichert"
* **Validierung:** Pflichtfelder müssen ausgefüllt sein, bevor "Weiter" funktioniert
  {% endtab %}
  {% endtabs %}

### **Drag-and-Drop Tipps**

**Elemente positionieren:**

* **Einfügezonen:** Rechteckige Bereiche zeigen, wo Elemente eingefügt werden können
* **Reihenfolge ändern:** Zieh-Symbol links am Element verwenden
* **Präzise platzieren:** Über, unter oder zwischen bestehenden Elementen

## Validierung und Fehlerbehebung

### **Automatische Prüfungen**

Das System prüft kontinuierlich auf:

* ❌ Formular ohne Felder
* ❌ Auswahllisten ohne Optionen
* ❌ Leere Überschriften oder Felder

### **Häufige Probleme**

**Auswahlliste ohne Optionen:** → Element anklicken → "Optionen" → Mindestens 2 Optionen hinzufügen

**Zu viele Pflichtfelder:** → Faustregel: Maximal 30-40% Pflichtfelder → Optionale Felder mit "(optional)" kennzeichnen

**Formular zu lang:** → Bei mehr als 10-12 Elementen: Neue Seite anlegen

### **Barrierefreiheit**

* **Beschreibende Feldtitel:** ❌ "Name" → ✅ "Ihr vollständiger Name"
* **Hilfreiche Beschreibungen:** Beispiele für erwartete Eingaben geben
* **Logische Reihenfolge:** Verwandte Felder nacheinander, wichtige Felder zuerst


# Feldtypen

Übersicht aller 19 Formularfelder, von Strukturelementen über einfache Texteingaben bis zu Rastern, Schiebereglern und Datei-Upload.

Die Auswahl des richtigen Feldtyps bestimmt, welche Art von Daten Sie sammeln können. Jeder Feldtyp ist für bestimmte Eingaben optimiert und bietet passende Validierung.

## Übersicht aller Feldtypen

| Kategorie                                                                     | Feldtypen                                                                       | Anzahl |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------ |
| [Struktur und Layout](/formulare/erstellen/feldtypen/struktur-und-layout)     | Überschrift, Beschreibung, Trennstrich                                          | 3      |
| [Grundlegende Eingaben](/formulare/erstellen/feldtypen/grundlegende-eingaben) | Freitext, Langer Text, Zahl, Datum, Ja/Nein                                     | 5      |
| [Erweiterte Eingaben](/formulare/erstellen/feldtypen/erweiterte-eingaben)     | E-Mail, Telefon, URL, Uhrzeit, Datum & Uhrzeit, Datei-Upload                    | 6      |
| [Auswahl und Bewertung](/formulare/erstellen/feldtypen/auswahl-und-bewertung) | Mehrfachauswahl, Einzelauswahl (Liste), Einzelauswahl (Optionen), Schieberegler | 4      |
| [Raster](/formulare/erstellen/feldtypen/raster)                               | Tabelle mit frei definierbaren Zeilen und Spalten                               | 1      |

{% hint style="info" %}
**Tipp:** Verwenden Sie spezialisierte Feldtypen wie "E-Mail-Adresse" statt "Freitext" – sie haben eingebaute Validierung und sind benutzerfreundlicher.
{% endhint %}

***

## Entscheidungshilfe: Welcher Feldtyp passt?

| Was möchten Sie erfassen?               | Feldtyp                  |
| --------------------------------------- | ------------------------ |
| Name, Adresse, kurze Antwort            | Freitext (einzeilig)     |
| Kommentar, Begründung, lange Antwort    | Freitext (mehrzeilig)    |
| E-Mail-Adresse                          | E-Mail-Adresse           |
| Telefonnummer                           | Telefonnummer            |
| Webseite, Link                          | URL                      |
| Zahl, Alter, Menge                      | Zahl                     |
| Datum, Geburtsdatum, Termin             | Datum                    |
| Datum mit Uhrzeit                       | Datum und Uhrzeit        |
| Nur Uhrzeit                             | Uhrzeit                  |
| Ja/Nein, Zustimmung                     | Ja/Nein                  |
| Bewertung, Skala                        | Schieberegler oder Zahl  |
| Eine Auswahl aus vielen Optionen (7+)   | Einzelauswahl (Liste)    |
| Eine Auswahl aus wenigen Optionen (2-6) | Einzelauswahl (Optionen) |
| Mehrere Auswahlen                       | Mehrfachauswahl          |
| Dokument, Foto, Nachweis                | Datei-Upload             |
| Gleiche Fragen für mehrere Einträge     | Raster                   |

***

## Häufige Fragen

**Kann ich den Feldtyp nachträglich ändern?** Nein, Feldtypen können nicht direkt geändert werden. Sie müssen das Feld löschen und ein neues mit dem gewünschten Typ hinzufügen. Bei bereits freigeschalteten Formularen gehen dabei bereits eingereichte Daten für dieses Feld verloren.

**Wann nutze ich "Freitext" und wann spezialisierte Felder?** Immer wenn möglich, nutzen Sie spezialisierte Felder (E-Mail, Telefon, URL, Datum). Sie haben eingebaute Validierung und sind benutzerfreundlicher.

**Wie viele Optionen kann ich bei Auswahl-Feldern haben?** Technisch unbegrenzt. Praktisch: Einzelauswahl (Optionen) 2-6, Einzelauswahl (Liste) 7+, Mehrfachauswahl 3-10.

**Was ist der Unterschied zwischen "Datum" und "Datum und Uhrzeit"?** "Datum" erfasst nur den Tag (15.03.2024), "Datum und Uhrzeit" erfasst Tag und Uhrzeit (15.03.2024 14:30).

***

## Weitere Hilfe

**→** [**Formular-Editor**](/formulare/erstellen/formular-editor) – Felder hinzufügen und anordnen

**→** [**Bedingungen**](/formulare/erweitert/bedingungen) – Felder bedingt anzeigen

**→** [**Validierungsregeln**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen

**→** [**Freischalten**](/formulare/erstellen/freischalten) – Formular verfügbar machen


# Struktur und Layout

Strukturelemente wie Überschriften, Beschreibungen und Trennstriche zur visuellen Gliederung Ihrer Formulare.

Strukturelemente sammeln keine Daten. Sie dienen nur der visuellen Gliederung Ihres Formulars. Damit machen Sie lange Formulare übersichtlicher und leichter verständlich.

{% hint style="info" %}
**Gut zu wissen:** Strukturelemente erscheinen nicht in Ihrem Datensatz. Sie helfen nur den Ausfüllern bei der Orientierung.
{% endhint %}

***

<details>

<summary>Überschrift – Abschnittstitel zur Gliederung</summary>

Abschnittstitel zur Gliederung und strukturierten Darstellung des Formulars.

**Wann verwenden:** Gliederung in thematische Abschnitte, neue Seiten einleiten, wichtige Bereiche hervorheben

**Konfiguration:**

* Text
* Beschreibung (optional)

**Beispiel:**

* Text: "Ihre Kontaktdaten"
* Beschreibung: "Bitte geben Sie Ihre aktuellen Kontaktinformationen an"

</details>

<details>

<summary>Beschreibung – Erklärende Texte und Hinweise</summary>

Erklärende Texte für Hinweise, Beispiele, Datenschutzinformationen oder Anweisungen.

**Wann verwenden:** Erklärungen zu Abschnitten, Datenschutzhinweise, Beispiele, Hilfestellungen

**Konfiguration:**

* Text

**Beispiel:**

* Text: "Ihre Daten werden vertraulich behandelt und nur für diese Befragung verwendet."

</details>

<details>

<summary>Trennstrich – Visuelle Trennung zwischen Abschnitten</summary>

Visuelle Trennung zwischen Abschnitten durch eine horizontale Linie.

**Wann verwenden:** Klare visuelle Trennung zwischen Abschnitten, vor wichtigen Bereichen, nach Hinweisen

**Konfiguration:**

* Bezeichnung (optional)
* Versteckt (standardmäßig)

</details>


# Grundlegende Eingaben

Die fünf grundlegenden Eingabefelder: Freitext, Langer Text, Zahl, Datum und Ja/Nein für die häufigsten Datenerfassungen.

Diese fünf Feldtypen decken die häufigsten Eingaben ab. Von kurzen Texten über Zahlen bis zu Ja/Nein-Fragen.

***

<details>

<summary>Freitext (einzeilig) – Kurze Texteingaben</summary>

Kurze einzeilige Texteingaben für Namen, Adressen, Betreff oder andere kurze Antworten.

**Wann verwenden:** Namen, Adressen, kurze Antworten, Kennungen oder Referenznummern

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Platzhaltertext

**Beispiel:**

* Feldtitel: "Ihr vollständiger Name"
* Platzhalter: "z.B. Anna Müller"

{% hint style="warning" %}
Für E-Mail, Telefon oder URL verwenden Sie die spezialisierten Feldtypen – sie haben automatische Validierung!
{% endhint %}

</details>

<details>

<summary>Freitext (mehrzeilig) – Längere Texte und Kommentare</summary>

Mehrzeilige Texteingaben für längere Antworten, Kommentare, Begründungen oder ausführliche Beschreibungen.

**Wann verwenden:** Kommentare, Rückmeldungen, Begründungen, Beschreibungen, Freitextantworten

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Maximale Zeichenanzahl (optional)

**Beispiel:**

* Feldtitel: "Beschreiben Sie Ihr Anliegen"
* Beschreibung: "Bitte geben Sie möglichst detailliert an, worum es geht"
* Maximale Zeichenanzahl: 500

</details>

<details>

<summary>Zahl – Numerische Eingaben</summary>

Numerische Eingaben für Alter, Mengen, Bewertungen, Preise oder andere Zahlen.

**Wann verwenden:** Alter, Mengenangaben, Bewertungen, Preise, Prozentangaben

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Minimalwert (optional)
* Maximalwert (optional)

**Beispiel:**

* Feldtitel: "Ihr Alter"
* Minimalwert: 18
* Maximalwert: 99

{% hint style="success" %}
**Tipp:** Setzen Sie immer sinnvolle Min/Max-Werte. Das verhindert fehlerhafte Eingaben wie Alter "999" oder negative Zahlen bei Mengen.
{% endhint %}

</details>

<details>

<summary>Datum – Datumsauswahl mit Kalender</summary>

Datumsauswahl mit integrierter Kalenderansicht für Geburtsdaten, Termine, Stichtage oder Zeiträume.

**Wann verwenden:** Geburtsdaten, Termine und Fristen, Veranstaltungsdaten, Stichtage

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Frühestes Datum (optional)
* Spätestes Datum (optional)

**Beispiel:**

* Feldtitel: "Gewünschter Termin"
* Frühestes Datum: heute
* Spätestes Datum: in 3 Monaten

{% hint style="info" %}
Nutzen Sie "Frühestes Datum" und "Spätestes Datum", um nur sinnvolle Daten zuzulassen. Zum Beispiel bei Geburtsdaten: frühestens vor 100 Jahren, spätestens vor 18 Jahren.
{% endhint %}

</details>

<details>

<summary>Ja/Nein – Umschalter für binäre Entscheidungen</summary>

Umschalter für binäre Entscheidungen, Zustimmungen, Bestätigungen oder einfache Bewertungen.

**Wann verwenden:** Ja/Nein-Fragen, Zustimmungen, Bestätigungen, binäre Optionen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)

**Darstellung:** Umschalter zwischen zwei Zuständen (An/Aus)

**Beispiel:**

* Feldtitel: "Ich stimme der Datenverarbeitung zu"
* Pflichtfeld: Ja

</details>


# Erweiterte Eingaben

Spezialisierte Eingabefelder für E-Mail, Telefon, URL, Uhrzeit, Datum mit Uhrzeit und Datei-Upload – mit automatischer Formatprüfung.

Diese Feldtypen haben eingebaute Formatprüfung. Sie stellen sicher, dass die Eingaben korrekt sind – ohne dass Sie eigene Validierung einrichten müssen.

***

<details>

<summary>E-Mail-Adresse – Mit automatischer Formatprüfung</summary>

Spezialisiertes Textfeld für E-Mail-Adressen mit automatischer Formatprüfung.

**Wann verwenden:** E-Mail-Adressen für Kontakt, Registrierungen, Rückfragen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Platzhaltertext

**Automatische Prüfung:** Prüft auf gültiges E-Mail-Format (@, Domäne usw.)

**Beispiel:**

* Feldtitel: "Ihre E-Mail-Adresse"
* Platzhalter: "<beispiel@email.de>"

{% hint style="success" %}
**Vorteil:** Keine eigene Validierung nötig – das System prüft automatisch!
{% endhint %}

</details>

<details>

<summary>Telefonnummer – Mit Formatprüfung</summary>

Spezialisiertes Textfeld für Telefonnummern mit Formatprüfung.

**Wann verwenden:** Telefonnummern für Rückfragen, Notfallkontakte, mobile Nummern

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Platzhaltertext

**Automatische Validierung:** Akzeptiert verschiedene Schreibweisen (+49, 0, mit/ohne Leerzeichen)

**Beispiel:**

* Feldtitel: "Telefonnummer für Rückfragen"
* Platzhalter: "+49 30 12345678 oder 030 12345678"

</details>

<details>

<summary>URL – Für Webseiten-Adressen</summary>

Spezialisiertes Textfeld für Webseiten-Adressen mit Formatprüfung.

**Wann verwenden:** Webseiten-Links, Profile in sozialen Medien, Referenz-Seiten, Dokumentationen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Platzhaltertext

**Automatische Validierung:** Prüft auf gültiges URL-Format (http\:// oder https\://)

**Beispiel:**

* Feldtitel: "Link zu Ihrer Webseite"
* Platzhalter: "<https://www.beispiel.de>"

</details>

<details>

<summary>Datum und Uhrzeit – Für präzise Zeitpunkte</summary>

Kombinierte Auswahl von Datum und Uhrzeit für präzise Zeitpunkte.

**Wann verwenden:** Terminvereinbarungen, Veranstaltungsbeginn/-ende, Fristen mit Uhrzeit, Zeitstempel

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Früheste Datum/Uhrzeit (optional)
* Späteste Datum/Uhrzeit (optional)

**Beispiel:**

* Feldtitel: "Gewünschter Termin"
* Früheste Datum/Uhrzeit: morgen 08:00
* Späteste Datum/Uhrzeit: in 2 Wochen 18:00

</details>

<details>

<summary>Uhrzeit – Zeitauswahl ohne Datum</summary>

Auswahl einer Uhrzeit ohne Datum.

**Wann verwenden:** Regelmäßige Termine, Öffnungszeiten, bevorzugte Kontaktzeiten, Zeitspannen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)

**Beispiel:**

* Feldtitel: "Bevorzugte Uhrzeit für Rückruf"
* Beschreibung: "Zwischen 08:00 und 18:00 Uhr"

</details>

<details>

<summary>Datei-Upload – Dateien hochladen lassen</summary>

Mit dem Datei-Upload können Ausfüllende Dateien an ihre Einreichung anhängen. Das ist praktisch, wenn Sie zum Beispiel Fotos, Dokumente oder Nachweise benötigen.

**Stellen Sie sich vor:** Sie sammeln Anträge und brauchen ein unterschriebenes PDF oder ein Foto als Nachweis. Das Datei-Upload-Feld ermöglicht genau das.

**Wann verwenden:** Nachweise, Belege, Fotos, Unterschriften, Dokumente, Bescheinigungen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Platzhaltertext (optional)
* Maximale Dateigröße (Standard: 15 MB)
* Mehrere Dateien zulassen (optional)
  * Maximale Anzahl Dateien (Standard: 2)
* Akzeptierte Dateitypen: Alle Dateien, oder bestimmte Typen auswählen (Bilder, PDF, Excel, CSV, Word u.a.)
* Pflichtfeld
* Versteckt (standardmäßig)

**Beispiel:**

* Feldtitel: "Nachweis hochladen"
* Beschreibung: "Bitte laden Sie ein Foto oder PDF Ihres Nachweises hoch"
* Akzeptierte Dateitypen: PDF-Dateien, Bilder
* Maximale Dateigröße: 10 MB

**So funktioniert es für Ausfüllende:**

* Dateien per Drag-and-Drop in den Bereich ziehen oder auf **Durchsuchen** klicken
* Hochgeladene Dateien werden mit Name und Größe angezeigt
* Dateien können vor dem Einreichen wieder entfernt werden
* Bei mehreren Dateien: Über **Fügen Sie weitere Dateien hinzu** zusätzliche Dateien auswählen

{% hint style="info" %}
Ausfüllende sehen die erlaubten Dateitypen, die maximale Dateigröße und die maximale Anzahl direkt am Upload-Feld. So wissen sie sofort, was akzeptiert wird.
{% endhint %}

{% hint style="warning" %}
Doppelte Dateien werden automatisch erkannt und übersprungen.
{% endhint %}

</details>


# Auswahl und Bewertung

Auswahlfelder und Bewertungsskalen: Mehrfachauswahl, Einzelauswahl als Liste oder Optionen und Schieberegler.

Mit diesen Feldtypen lassen Sie die Ausfüller aus vorgegebenen Optionen wählen. Das sorgt für einheitliche Daten und erleichtert die Auswertung.

***

<details>

<summary>Mehrfachauswahl – Mehrere Optionen auswählen</summary>

Ankreuzfelder, bei denen Nutzer mehrere Optionen gleichzeitig auswählen können.

**Wann verwenden:** Mehrere Antworten möglich, Auswahl von Zusatzoptionen, Zustimmungen zu mehreren Punkten

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld (mindestens eine Auswahl)
* Versteckt (standardmäßig)
* Optionen

**Beispiel:**

* Feldtitel: "Welche Themen interessieren Sie?"
* Optionen: "Digitalisierung", "Nachhaltigkeit", "Bildung", "Verkehr"

</details>

<details>

<summary>Einzelauswahl (Liste) – Ausklappmenü für lange Listen</summary>

Ausklappmenü für die Auswahl einer einzelnen Option aus einer längeren Liste. Platzsparend bei vielen Optionen.

**Wann verwenden:** Viele Auswahlmöglichkeiten (7+ Optionen), Bundesländer, Länder, lange Listen

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Optionen

**Darstellung:** Optionen werden erst nach Klick sichtbar

**Beispiel:**

* Feldtitel: "Bundesland"
* Optionen: alle 16 Bundesländer

{% hint style="success" %}
**Tipp:** Bei mehr als 6-7 Optionen verwenden Sie die Liste statt "Einzelauswahl (Optionen)" – spart Platz und ist übersichtlicher.
{% endhint %}

</details>

<details>

<summary>Einzelauswahl (Optionen) – Optionsfelder</summary>

Optionsfelder für die Auswahl einer einzelnen Option. Alle Optionen sind sofort sichtbar.

**Wann verwenden:** Wenige Auswahlmöglichkeiten (2-6 Optionen), wichtige Entscheidungen, Kategorien

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Optionen

**Darstellung:** Alle Optionen werden untereinander angezeigt

**Beispiel:**

* Feldtitel: "Antragsteller"
* Optionen: "Privatperson", "Unternehmen", "Verein"

</details>

<details>

<summary>Schieberegler – Visuelle Wertauswahl</summary>

Visuelle Auswahl eines Wertes aus einem Bereich durch Verschieben eines Reglers.

**Wann verwenden:** Bewertungen (1-10), Zufriedenheit, Mengen in einem Bereich, Prioritäten

**Konfiguration:**

* Feldtitel (Pflicht)
* Beschreibung (optional)
* Pflichtfeld
* Versteckt (standardmäßig)
* Minimalwert (Pflicht)
* Maximalwert (Pflicht)
* Schrittweite (optional, Standard: 1)

**Beispiel:**

* Feldtitel: "Wie zufrieden sind Sie?"
* Minimalwert: 1
* Maximalwert: 10
* Schrittweite: 1
* Beschreibung: "1 = sehr unzufrieden, 10 = sehr zufrieden"

{% hint style="info" %}
**Tipp:** Schieberegler eignen sich gut für Bewertungen, sind aber weniger präzise als Zahlenfelder. Für exakte Werte nutzen Sie "Zahl".
{% endhint %}

</details>


# Raster

Das Raster-Feld sammelt strukturierte Daten in einer Tabelle mit Zeilen und Spalten. Perfekt für wiederkehrende Fragen mit einheitlichen Antwortformaten.

## Was ist das?

Ein Raster ist eine Tabelle in Ihrem Formular. Sie legen die Zeilen und Spalten fest. Die Ausfüller tragen dann ihre Antworten in die Zellen ein.

### Vergleich aus dem Alltag

Stellen Sie sich eine Klassenliste vor. Links stehen die Schülernamen (Zeilen). Oben stehen die Spalten: Anwesenheit, Note, Bemerkung. Die Lehrkraft füllt für jeden Schüler jede Spalte aus. Genau so funktioniert ein Raster im Formular.

### Wann brauchen Sie das?

* Sie stellen die gleichen Fragen für mehrere Einrichtungen (z.B. Bewertungen für verschiedene Schulen oder Standorte)
* Sie wollen Daten in Tabellenform sammeln (z.B. Quartalsmeldungen, Ausstattungslisten)
* Sie brauchen eine strukturierte Übersicht (z.B. Maßnahmen mit Status und Zuständigkeit)

{% hint style="info" %}
**Gut zu wissen:** Jede Spalte kann einen eigenen Eingabetyp haben. Eine Spalte kann Text sein, eine andere eine Zahl, und eine dritte eine Auswahlliste.
{% endhint %}

***

## Raster erstellen

{% stepper %}
{% step %}

### Raster hinzufügen

Ziehen Sie das Element **Raster** aus dem linken Bereich in Ihr Formular. Sie finden es in der Liste der Feldtypen.

Das Raster erscheint als leere Tabelle mit einer Standard-Zeile und einer Standard-Spalte.
{% endstep %}

{% step %}

### Zeilen einrichten

Zeilen sind die linke Seite der Tabelle. Jede Zeile ist ein "Eintrag", den der Ausfüller bearbeiten soll.

**So fügen Sie Zeilen hinzu:**

1. Klicken Sie auf den Bereich **Zeilen** in der Konfiguration
2. Klicken Sie auf **Zeile hinzufügen**
3. Geben Sie den **Zeilentitel** ein (z.B. "Grundschule Nord", "Januar", "Bezirk Mitte")
4. Der **Systemname** wird automatisch erzeugt. Sie können ihn anpassen

{% hint style="info" %}
**Tipp:** Drücken Sie die Eingabetaste nach der Eingabe eines Zeilentitels. So wird automatisch eine neue Zeile hinzugefügt.
{% endhint %}

**Beispiel:** Für eine Bürgerbefragung könnten Ihre Zeilen so aussehen:

* Öffentlicher Nahverkehr
* Straßenzustand
* Grünflächen
* Sicherheit
  {% endstep %}

{% step %}

### Spalten einrichten

Spalten definieren, welche Informationen Sie pro Zeile sammeln. Jede Spalte hat einen eigenen Eingabetyp.

**So fügen Sie Spalten hinzu:**

1. Klicken Sie auf den Bereich **Spalten** in der Konfiguration
2. Klicken Sie auf **Spalte hinzufügen**
3. Geben Sie den **Namen** der Spalte ein (z.B. "Bewertung", "Kommentar")
4. Wählen Sie den **Spaltentyp** aus der Liste

**Beispiel:** Für eine Bürgerbefragung könnten Ihre Spalten so aussehen:

* "Bewertung" (Schieberegler, 1-10)
* "Handlungsbedarf?" (Ja/Nein)
* "Anmerkung" (Langer Text)
  {% endstep %}

{% step %}

### Zeilen und Spalten neu ordnen

Sie können die Reihenfolge der Zeilen und Spalten jederzeit ändern. Ziehen Sie ein Element an die gewünschte Stelle.
{% endstep %}
{% endstepper %}

***

## Unterstützte Spaltentypen

Jede Spalte in Ihrem Raster kann einen eigenen Eingabetyp haben. So können Sie verschiedene Arten von Informationen in einer Tabelle sammeln.

| Spaltentyp               | Beschreibung                 | Beispiel                 |
| ------------------------ | ---------------------------- | ------------------------ |
| Freitext                 | Kurze einzeilige Texteingabe | Name, Bezeichnung        |
| Langer Text              | Mehrzeilige Texteingabe      | Kommentare, Begründungen |
| Zahl                     | Numerische Eingabe           | Menge, Betrag, Alter     |
| Datum                    | Datumsauswahl mit Kalender   | Stichtag, Geburtsdatum   |
| Uhrzeit                  | Zeitauswahl ohne Datum       | Beginn, Ende             |
| Datum und Uhrzeit        | Kombinierte Auswahl          | Terminzeitpunkt          |
| E-Mail-Adresse           | Mit Formatprüfung            | Kontakt-E-Mail           |
| Telefonnummer            | Mit Formatprüfung            | Rückrufnummer            |
| URL                      | Mit Formatprüfung            | Webseiten-Link           |
| Ja/Nein                  | Umschalter                   | Zustimmung, Status       |
| Einzelauswahl (Liste)    | Ausklappmenü                 | Kategorie, Abteilung     |
| Einzelauswahl (Optionen) | Optionsfelder                | Bewertungsstufe          |
| Mehrfachauswahl          | Mehrere Optionen wählbar     | Betroffene Bereiche      |
| Schieberegler            | Visuelle Wertauswahl         | Bewertung 1-10           |

{% hint style="success" %}
**Tipp:** Wählen Sie immer den passenden Spaltentyp. Eine "Zahl"-Spalte verhindert, dass jemand Text eingibt. Eine "E-Mail"-Spalte prüft automatisch das Format.
{% endhint %}

***

## Erweiterte Funktionen

### Pflichtfelder

Sie können einzelne Spalten als Pflichtfeld markieren. Dann müssen Ausfüller in jeder Zeile einen Wert für diese Spalte eintragen.

### Bedingungen für Zeilen

Zeilen können bedingt ein- oder ausgeblendet werden. So zeigen Sie bestimmte Zeilen nur an, wenn sie relevant sind.

**Mögliche Bedingungen:**

* **Sichtbar, wenn** – Die Zeile erscheint nur unter bestimmten Voraussetzungen
* **Versteckt, wenn** – Die Zeile wird unter bestimmten Voraussetzungen ausgeblendet
* **Pflicht, wenn** – Die Zeile wird unter bestimmten Voraussetzungen zur Pflicht
* **Deaktiviert, wenn** – Die Zeile wird unter bestimmten Voraussetzungen nicht bearbeitbar

{% hint style="info" %}
Mehr über Bedingungen erfahren Sie unter [Bedingungen](/formulare/erweitert/bedingungen).
{% endhint %}

### Bedingungen für Spalten

Auch Spalten können Bedingungen haben. So können Sie bestimmte Spalten nur anzeigen, wenn sie gebraucht werden.

### Validierung pro Spalte

Sie können für jede Spalte eigene Prüfregeln festlegen. So stellen Sie sicher, dass die Eingaben korrekt sind.

{% hint style="info" %}
Mehr über Validierungsregeln erfahren Sie unter [Validierungsregeln](/formulare/erweitert/validierung).
{% endhint %}

***

## Praktische Beispiele

### Beispiel 1: Bürgerbefragung zur Lebensqualität

|                         | Bewertung (1-10) | Handlungsbedarf? | Anmerkung                       |
| ----------------------- | ---------------- | ---------------- | ------------------------------- |
| Öffentlicher Nahverkehr | 6                | Ja               | Taktung am Wochenende erhöhen   |
| Straßenzustand          | 4                | Ja               | Schlaglöcher in der Hauptstraße |
| Grünflächen             | 9                | Nein             |                                 |
| Sicherheit              | 7                | Nein             | Mehr Beleuchtung im Park        |

**Zeilen:** Öffentlicher Nahverkehr, Straßenzustand, Grünflächen, Sicherheit **Spalten:** Bewertung (Schieberegler), Handlungsbedarf? (Ja/Nein), Anmerkung (Langer Text)

### Beispiel 2: Quartalsweise Haushaltsmeldung

|    | Ausgaben (€) | Haushaltstitel | Freigabe erteilt? |
| -- | ------------ | -------------- | ----------------- |
| Q1 | 45.000       | Bildung        | Ja                |
| Q2 | 38.500       | Soziales       | Ja                |
| Q3 | 52.100       | Infrastruktur  | Nein              |

**Zeilen:** Quartale (Q1 bis Q4) **Spalten:** Ausgaben (Zahl), Haushaltstitel (Einzelauswahl), Freigabe erteilt? (Ja/Nein)

### Beispiel 3: Schulausstattung erfassen

|                  | Anzahl Räume | Internetanschluss | Ansprechperson                |
| ---------------- | ------------ | ----------------- | ----------------------------- |
| Grundschule Nord | 12           | Ja                | <schulleitung-nord@stadt.de>  |
| Realschule Mitte | 24           | Ja                | <schulleitung-mitte@stadt.de> |
| Gymnasium Süd    | 30           | Nein              | <schulleitung-sued@stadt.de>  |

**Zeilen:** Schulen im Bezirk **Spalten:** Anzahl Räume (Zahl), Internetanschluss (Ja/Nein), Ansprechperson (E-Mail)

***

## Tipps und Hinweise

{% hint style="success" %}
**Weniger ist mehr:** Halten Sie die Tabelle übersichtlich. 3-5 Spalten und 5-10 Zeilen sind ideal. Zu große Raster können unübersichtlich werden.
{% endhint %}

{% hint style="info" %}
**Scrollen möglich:** Bei breiten Rastern können Ausfüller seitlich scrollen. Die Zeilenüberschriften bleiben dabei links sichtbar. Auch die Spaltenüberschriften bleiben beim Scrollen nach unten sichtbar.
{% endhint %}

{% hint style="warning" %}
**Spaltentyp nach Erstellung:** Sie können den Spaltentyp auch nach der Erstellung ändern. Beachten Sie aber: Bei bereits freigeschalteten Formularen können sich bestehende Antworten ändern.
{% endhint %}

***

## Raster-Daten im Datensatz

Wenn jemand ein Formular mit Raster einreicht, werden die Daten automatisch in Ihren Datensatz übernommen. Dabei wird jede einzelne Zelle des Rasters zu einer eigenen Spalte im Datensatz.

### Wie sieht das aus?

Stellen Sie sich vor, Ihr Raster heißt "Bewertung der Einrichtungen" und hat diese Struktur:

|             | Bewertung | Handlungsbedarf? |
| ----------- | --------- | ---------------- |
| Nahverkehr  | 6         | Ja               |
| Grünflächen | 9         | Nein             |

Im Datensatz erscheinen daraus **vier einzelne Spalten** – eine für jede **Zelle**:

| Spalte im Datensatz                                        | Wert |
| ---------------------------------------------------------- | ---- |
| Bewertung der Einrichtungen: Bewertung, Nahverkehr         | 6    |
| Bewertung der Einrichtungen: Bewertung, Grünflächen        | 9    |
| Bewertung der Einrichtungen: Handlungsbedarf?, Nahverkehr  | Ja   |
| Bewertung der Einrichtungen: Handlungsbedarf?, Grünflächen | Nein |

### Das Benennungsmuster

Jede Spalte im Datensatz folgt diesem Muster:

**Rastertitel: Spaltenname, Zeilenname**

So können Sie in der Datenvorschau und in Auswertungen sofort erkennen, zu welcher Zelle ein Wert gehört.

### Reihenfolge der Spalten

Die Spalten im Datensatz sind nach **Zeilen** sortiert. Zuerst alle Spalten der ersten Zeile, dann alle Spalten der zweiten Zeile, und so weiter. Die Reihenfolge entspricht der Anordnung, die Sie im Raster festgelegt haben.

{% hint style="info" %}
**Gut zu wissen:** Sie können die Raster-Daten im Datensatz ganz normal in Auswertungen verwenden – filtern, zusammenfassen oder in Diagrammen darstellen.
{% endhint %}

***

## Häufige Fragen

**Wie viele Zeilen und Spalten sind möglich?** Es gibt kein festes Limit. Für die Benutzerfreundlichkeit empfehlen wir maximal 10 Spalten und 20 Zeilen.

**Kann ich verschiedene Spaltentypen mischen?** Ja. Jede Spalte hat einen eigenen Typ. So können Sie Text, Zahlen und Auswahlfelder in einer Tabelle kombinieren.

**Können Zeilen bedingt angezeigt werden?** Ja. Jede Zeile kann Bedingungen haben. So zeigen Sie bestimmte Zeilen nur an, wenn bestimmte Voraussetzungen erfüllt sind.

**Wo finde ich die Raster-Daten in meinem Datensatz?** Die Daten werden automatisch in den Datensatz übernommen. Jede Zelle wird zu einer eigenen Spalte mit dem Muster "Rastertitel: Spaltenname, Zeilenname". Mehr dazu im Abschnitt [Raster-Daten im Datensatz](#raster-daten-im-datensatz).

***

## Weitere Hilfe

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Alle verfügbaren Feldtypen im Überblick

**→** [**Formular-Editor**](/formulare/erstellen/formular-editor) – Felder hinzufügen und anordnen

**→** [**Bedingungen**](/formulare/erweitert/bedingungen) – Felder bedingt anzeigen

**→** [**Validierungsregeln**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen


# Freischalten und Teilen

Vollständige Anleitung zum Freischalten und Teilen von Formularen – Einstellungen, Erscheinungsbild, Datensatz-Verknüpfung und Veröffentlichung.

Nach der Erstellung müssen Sie Ihr Formular freischalten, damit Nutzende es ausfüllen können. Dabei konfigurieren Sie wichtige Einstellungen wie Zugriffsrechte, Zeiträume, Erscheinungsbild und die Verknüpfung mit einem Datensatz.

## Überblick: Die drei Bereiche

Im Formular-Editor finden Sie oben drei Reiter für die Konfiguration:

1. **Erstellen** – Formular aufbauen und Felder hinzufügen
2. **Einstellungen** – Grundeinstellungen, Authentifizierung, Zielgruppe, Integrationen (4 Unterbereiche)
3. **Einreichungen** – Übersicht der eingegangenen Antworten (erst nach Freischaltung)

### Die vier Unterbereiche in "Einstellungen"

Im Reiter **Einstellungen** finden Sie vier Unterbereiche:

1. **Allgemein** – Formulartitel und Beschreibung
2. **Authentifizierung** – Anmeldepflicht, mehrfache Einreichungen, Erscheinungsbild
3. **Zielgruppe** – Öffentlich/Privat, Verfügbarkeit, Benachrichtigungen
4. **Integrationen** – Datensatz-Verknüpfung

{% hint style="warning" %}
**Wichtig:** Manche Einstellungen können nach der Freischaltung nicht mehr geändert werden:

* Öffentlich/Privat
* Authentifizierung aktivieren/deaktivieren

Planen Sie diese Entscheidungen sorgfältig!
{% endhint %}

***

## Reiter 2: Einstellungen

Der Reiter **Einstellungen** enthält vier Unterbereiche, in denen Sie alle wichtigen Konfigurationen vornehmen.

### Bereich 1: Allgemein

**Formulartitel und Beschreibung bearbeiten**

Hier können Sie nachträglich den Namen und die Beschreibung Ihres Formulars ändern.

***

### Bereich 2: Authentifizierung

**Was ist Authentifizierung?**

Authentifizierung bedeutet, dass Nutzende sich mit ihrer E-Mail-Adresse anmelden müssen, bevor sie das Formular ausfüllen können. Sie erhalten einen Einmalcode per E-Mail.

**Wann Authentifizierung aktivieren:**

* ✅ Interne Formulare (nur für Mitarbeitende)
* ✅ Mehrfache Einreichungen pro Person verhindern
* ✅ Eindeutige Zuordnung von Antworten zu Personen
* ✅ Persönliche Daten werden erfasst

**Wann KEINE Authentifizierung:**

* ❌ Anonyme Umfragen
* ❌ Öffentliche Bürgerbeteiligungen
* ❌ Möglichst niedrige Hürde gewünscht

**Konfiguration:**

1. **Authentifizierung erforderlich** – Aktivieren Sie den Schalter
2. **Mehrfache Einreichungen erlauben** – Können Personen das Formular mehrmals ausfüllen?
   * **Aus:** Nur eine Einreichung pro Person (empfohlen für Anträge, Registrierungen)
   * **An:** Beliebig viele Einreichungen pro Person (für Feedback-Formulare, Ticketbestellungen)

{% hint style="danger" %}
**Achtung:** Nach der Freischaltung können Sie Authentifizierung nicht mehr aktivieren oder deaktivieren!
{% endhint %}

### Bereich 3: Zielgruppe

#### Öffentlich oder Privat

**Die wichtigste Entscheidung beim Freischalten!**

**Öffentliches Formular**

**Jeder mit dem Link kann das Formular ausfüllen.**

**Vorteile:**

* ✅ Maximale Reichweite
* ✅ Keine Verwaltung von Teilnehmenden
* ✅ Niedrige Hürde für Teilnahme

**Nachteile:**

* ❌ Keine Kontrolle, wer ausfüllt
* ❌ Keine eindeutige Zuordnung (außer mit Authentifizierung)

**Wann verwenden:**

* Bürgerbeteiligungen
* Öffentliche Umfragen
* Feedback-Formulare
* Veranstaltungsanmeldungen
* Annonyme Umfragen

**Konfiguration:** Wählen Sie **"Öffentliches Formular"** und **"Alle haben Zugriff"**.

***

**Privates Formular**

**Nur bestimmte E-Mail-Adressen dürfen das Formular ausfüllen.**

**Vorteile:**

* ✅ Kontrolle über Teilnehmende
* ✅ Eindeutige Zuordnung
* ✅ Nur eingeladene Personen können teilnehmen

**Nachteile:**

* ❌ Verwaltungsaufwand (E-Mail-Listen pflegen)
* ❌ Höhere Hürde für Teilnahme
* ❌ Erfordert Authentifizierung

**Wann verwenden:**

* Interne Befragungen (nur Mitarbeitende)
* Eingeschränkte Zielgruppen
* Formulare mit persönlichen Daten
* Wenn Sie genau wissen müssen, wer antwortet

**Konfiguration:**

1. Wählen Sie **"Öffentliches Formular"** und **"Eingeschränkter Zugriff über E-Mail-Adressen"**
2. Aktivieren Sie **Authentifizierung** im Reiter "Einstellungen" (Pflicht für private Formulare!)
3. Nach dem Freischalten: Geben Sie E-Mail-Adressen der Teilnehmenden ein

{% hint style="warning" %}
**Wichtig:** Private Formulare **erfordern Authentifizierung**. Sie können kein privates Formular ohne Authentifizierung erstellen.
{% endhint %}

***

#### E-Mail-Adressen verwalten (nur private Formulare)

**Nach dem Freischalten:** Klicken Sie rechts oben auf **"Freigeschaltet"** → **"Einreichende"**

**Einzeln oder mehrere hinzufügen**

1. Geben Sie die E-Mail-Adresse in das Feld ein
2. Drücken Sie **die Eingabetaste**
3. Wiederholen Sie dies für jede Person
4. Klicken Sie abschließend auf die kleine Diskette oberhalb des Eingabefeldes

{% hint style="info" %}
**Tipp:** Sie können mehrere E-Mail-Adressen auf einmal eingeben, indem Sie sie mit Komma trennen: `anna@example.de, max@example.de, lisa@example.de`
{% endhint %}

***

**Per CSV-Datei hochladen**

Für viele E-Mail-Adressen:

1. Erstellen Sie eine CSV-Datei mit einer E-Mail-Adresse pro Zeile
2. **Erste Zeile (Kopfzeile):** `email`
3. **Folgezeilen:** Eine E-Mail-Adresse pro Zeile

**Beispiel CSV:**

```
email
anna.mueller@example.de
max.schmidt@example.de
lisa.weber@example.de
```

4. Klicken Sie **"CSV hochladen"**
5. Wählen Sie Ihre Datei aus
6. Alle E-Mail-Adressen werden importiert

***

#### Verfügbarkeit

Legen Sie fest, **wann** das Formular ausfüllbar ist.

**Startdatum**

**Ab wann soll das Formular verfügbar sein?**

* **Sofort:** Wählen Sie das heutige Datum
* **Später:** Wählen Sie ein zukünftiges Datum

**Beispiel:**

* Veranstaltungsanmeldung ab 1. April: Startdatum = 01.04.2024

**Was passiert vor dem Startdatum?** Nutzende sehen eine Meldung: "Dieses Formular akzeptiert noch keine Einreichungen. Es beginnt am \[Datum]."

***

**Enddatum (optional)**

**Bis wann sollen Einreichungen akzeptiert werden?**

* **Kein Enddatum:** Formular bleibt unbegrenzt verfügbar
* **Mit Enddatum:** Automatisches Schließen zum angegebenen Zeitpunkt

**Wann ein Enddatum setzen:**

* ✅ Anmeldefristen (z.B. Veranstaltungen)
* ✅ Bewerbungsfristen
* ✅ Befragungen mit festem Zeitraum

**Wann KEIN Enddatum:**

* ❌ Feedback-Formulare (dauerhaft verfügbar)
* ❌ Kontaktformulare
* ❌ Serviceanfragen

**Was passiert nach dem Enddatum?** Nutzende sehen eine Meldung: "Dieses Formular ist abgelaufen. Es endete am \[Datum]."

***

#### Benachrichtigungen

**Bestätigungsnachricht an Ausfüllende**

Senden Sie den Ausfüllenden eine E-Mail-Bestätigung, sobald sie das Formular erfolgreich abgesendet haben.

**Aktivieren:** Schalten Sie **"Eine Bestätigungsnachricht per E-Mail nach erfolgreicher Übermittlung verschicken"** ein.

**Inhalt der Bestätigungsnachricht:**

* Dankesnachricht
* Zeitstempel der Einreichung
* Hinweis, dass die Daten erfolgreich empfangen wurden

**Wann aktivieren:**

* ✅ Für Transparenz und Vertrauen
* ✅ Als Beweis für Ausfüllende (z.B. bei Anträgen oder Anmeldungen)
* ✅ Bei wichtigen Einreichungen, bei denen eine Bestätigung erwartet wird

**Wann NICHT aktivieren:**

* ❌ Bei kurzen anonymen Umfragen
* ❌ Wenn keine Bestätigung notwendig ist

{% hint style="info" %}
**Hinweis:** Bei Formularen mit aktivierter Authentifizierung erhalten Nutzende automatisch eine E-Mail, wenn ihre E-Mail-Adresse zur Liste der Einreichenden hinzugefügt wird.
{% endhint %}

***

### Bereich 4: Integrationen

**Datensatz-Verknüpfung – Das Herzstück jedes Formulars**

Jedes Formular ist automatisch mit einem Datensatz verknüpft. Dieser wird bei der Formularerstellung automatisch angelegt und dort landen alle Einreichungen.

#### Was ist ein Datensatz?

Ein Datensatz ist wie eine Tabelle in einer Datenbank. Jede Einreichung wird als Zeile gespeichert, jedes Feld als Spalte.

**Beispiel:**

| Eingereicht am   | Name        | E-Mail            | Alter | Kommentar          |
| ---------------- | ----------- | ----------------- | ----- | ------------------ |
| 15.03.2024 14:30 | Anna Müller | <anna@example.de> | 28    | Sehr zufrieden     |
| 15.03.2024 15:12 | Max Schmidt | <max@example.de>  | 35    | Könnte besser sein |

{% hint style="info" %}
**Automatische Erstellung:** Der Datensatz wird automatisch erstellt, wenn Sie ein neues Formular anlegen. Sie müssen nichts weiter tun – die Verknüpfung ist bereits vorhanden.
{% endhint %}

***

***

#### Verknüpften Datensatz öffnen

Sie können jederzeit zum verknüpften Datensatz wechseln:

1. Reiter **"Einstellungen"** → Bereich **"Integrationen"**
2. Klicken Sie auf **"Verknüpfter Datensatz"**
3. Der Datensatz öffnet sich in einem neuen Tab

**Im Datensatz können Sie:**

* Alle Einreichungen in Tabellenform sehen
* Daten exportieren (CSV, Excel)
* Auswertungen erstellen
* Filter anwenden
* Daten mit anderen Datensätzen verknüpfen

***

## Formular freischalten

**Jetzt ist alles vorbereitet – Zeit zum Freischalten!**

{% stepper %}
{% step %}
**Einstellungen prüfen**

Gehen Sie nochmals alle Einstellungen durch:

* ✅ Titel und Beschreibung korrekt?
* ✅ Authentifizierung richtig konfiguriert?
* ✅ Öffentlich oder privat gewählt?
* ✅ Start- und Enddatum gesetzt?
* ✅ Benachrichtigungen wie gewünscht?

{% hint style="info" %}
**Tipp:** Manche Einstellungen können nach der Freischaltung nicht mehr geändert werden. Lieber einmal zu viel prüfen!
{% endhint %}
{% endstep %}

{% step %}
**Formular speichern**

Wenn Sie noch ungespeicherte Änderungen haben:

1. Klicken Sie oben rechts auf **"Speichern"**
2. Warten Sie, bis "Formular gespeichert" erscheint
   {% endstep %}

{% step %}
**Freischalten-Button klicken**

1. Klicken Sie oben rechts auf **"Freischalten"**
2. Ein Dialog öffnet sich mit mehreren Schritten
   {% endstep %}

{% step %}
**Schritt 1: Validierung**

Das System prüft Ihr Formular auf Vollständigkeit:

**Geprüft wird:**

* ✅ Alle Felder vollständig konfiguriert?
* ✅ Auswahl-Felder haben Optionen?
* ✅ Keine leeren Überschriften?
* ✅ Validierungsregeln korrekt?

**Bei Fehlern:**

* Eine Liste aller Probleme wird angezeigt
* Beheben Sie die Fehler
* Versuchen Sie es erneut

**Bei Erfolg:**

* Der Dialog geht zum nächsten Schritt
  {% endstep %}

{% step %}
**Schritt 2: Warnungen bestätigen**

Das System zeigt wichtige Hinweise:

**Mögliche Warnungen:**

* "Sie können die Authentifizierung nicht mehr deaktivieren, sobald das Formular freigeschaltet wurde"
* "Sie können das Formular nicht mehr auf 'Öffentlich' umstellen, sobald es freigeschaltet wurde"
* "Sie können das Formular nicht mehr auf 'Privat' umstellen, sobald es freigeschaltet wurde"

Lesen Sie diese aufmerksam und klicken Sie **"Verstanden"** oder **"Freischalten"**.
{% endstep %}

{% step %}
**Schritt 3: Weisungsregister bestätigen (falls vorhanden)**

Falls Ihre Lösung aktive Einträge im [Weisungsregister](/sicherheit/weisungsregister) hat, erscheint eine Übersicht aller dokumentierten Verarbeitungstätigkeiten:

1. **Übersicht prüfen**: Scrollen Sie durch alle aktiven Einträge im Weisungsregister
2. **Drei Bestätigungen ankreuzen**:
   * Sie haben die Übersicht gelesen und verstanden
   * Ihre Datenverarbeitung liegt innerhalb der dokumentierten Tätigkeiten
   * Sie tragen die Verantwortung für die Rechtmäßigkeit Ihrer Verarbeitung
3. Klicken Sie **"Bestätigen und fortfahren"**

{% hint style="info" %}
**Hinweis**: Dieser Schritt erscheint nur, wenn Ihre Lösung Einträge zur Auftragsverarbeitungsvereinbarung (AVV) konfiguriert hat. Dies stellt die DSGVO-Konformität gemäß Art. 28 DSGVO sicher.
{% endhint %}

**Falls keine Einträge vorhanden sind:**

* Sie erhalten eine Warnung, dass keine Verarbeitungstätigkeiten dokumentiert sind
* Wenden Sie sich an einen Administrator Ihrer Lösung, um Einträge zu erstellen
* Sie können erst fortfahren, wenn Einträge vorhanden sind

Mehr Informationen: [Weisungsregister](/sicherheit/weisungsregister)
{% endstep %}

{% step %}
**Schritt 4: Erfolgsmeldung**

{% hint style="success" %}
**Ihr Formular wurde erfolgreich freigeschaltet!**
{% endhint %}

Der Button ändert sich von **"Freischalten"** zu **"Freigeschaltet"**.

**Jetzt können Sie:**

* Den Link kopieren und teilen
* Bei privaten Formularen: E-Mail-Adressen hinzufügen
* Einreichungen verfolgen
  {% endstep %}
  {% endstepper %}

***

## Link zum Formular teilen

Nach der Freischaltung erhalten Sie einen Link, den Sie mit Ihrer Zielgruppe teilen können.

### Link kopieren

1. Klicken Sie auf den Button **"Freigeschaltet"** (oben rechts)
2. Ein Dialog öffnet sich
3. Der Link wird angezeigt unter **"Link zum Formular"**
4. Klicken Sie auf **"Kopieren"**
5. Der Link ist jetzt in Ihrer Zwischenablage

***

### Link verteilen

**Möglichkeiten:**

* Per E-Mail versenden
* Auf Ihrer Webseite veröffentlichen
* In sozialen Medien teilen
* In Newslettern einbinden

**Beispiel-E-Mail:**

> Betreff: Einladung zur Teilnahme an unserer Umfrage
>
> Sehr geehrte Damen und Herren,
>
> wir laden Sie herzlich ein, an unserer Umfrage zur Zufriedenheit mit dem öffentlichen Nahverkehr teilzunehmen. Ihre Meinung ist uns wichtig!
>
> Link zum Formular: \[Ihr Link hier]
>
> Die Befragung dauert etwa 5 Minuten.
>
> Mit freundlichen Grüßen, Ihr Team

***

### Bei privaten Formularen: E-Mail-Adressen hinzufügen

Für private Formulare müssen Sie nach dem Freischalten die E-Mail-Adressen der Teilnehmenden hinzufügen:

1. Klicken Sie auf **"Freigeschaltet"**
2. Wechseln Sie zum Bereich **"Einreichende"**
3. Fügen Sie E-Mail-Adressen einzeln hinzu oder laden Sie eine CSV-Datei hoch
4. Nur diese Personen können das Formular ausfüllen

***

## Nach der Freischaltung

### Was kann noch geändert werden?

**✅ Änderbar:**

* Feldtitel und Beschreibungen
* Hilfetexte
* Optionen bei Auswahl-Feldern (mit Vorsicht!)
* Formulartitel und -beschreibung
* Benachrichtigungseinstellungen
* E-Mail-Adressen bei privaten Formularen

**❌ NICHT änderbar:**

* Öffentlich/Privat
* Authentifizierung ein/aus
* Feldtypen (führt zu Datenproblemen!)
* Datensatz-Verknüpfung

{% hint style="danger" %}
**Wichtig:** Strukturelle Änderungen (neue Felder, Feldtypen ändern, Felder löschen) sollten nach der Freischaltung vermieden werden. Sie können zu Datenproblemen führen!
{% endhint %}

***

### Formular pausieren

Sie können das Formular durch Ändern des Enddatums pausieren:

1. Setzen Sie das Enddatum auf "heute"
2. Speichern Sie
3. Nutzende sehen "Formular ist abgelaufen"

**Wiederaufnehmen:** Setzen Sie das Enddatum wieder auf einen zukünftigen Zeitpunkt.

***

### Formular schließen

**Endgültiges Schließen:** Setzen Sie das Enddatum auf einen Zeitpunkt in der Vergangenheit.

**Hinweis:** Dies lässt sich rückgängig machen, indem Sie das Enddatum wieder entfernen oder in die Zukunft setzen.

***

## Häufige Probleme

### "Formular lässt sich nicht freischalten"

**Ursachen:**

* Felder sind unvollständig konfiguriert
* Auswahl-Felder haben keine Optionen
* Validierungsregeln sind fehlerhaft

**Lösung:**

* Prüfen Sie die Fehlermeldungen im Freischalten-Dialog
* Beheben Sie alle angezeigten Probleme
* Versuchen Sie es erneut

***

### "Nutzer können nicht auf das Formular zugreifen"

**Bei privaten Formularen:**

1. Prüfen Sie: Ist die E-Mail-Adresse in der Liste der Einreichenden?
2. Prüfen Sie: Ist Authentifizierung aktiviert?
3. Prüfen Sie: Ist das Startdatum bereits erreicht?

**Bei öffentlichen Formularen:**

1. Prüfen Sie: Ist das Startdatum bereits erreicht?
2. Prüfen Sie: Ist das Enddatum noch nicht erreicht?
3. Prüfen Sie: Ist das Formular tatsächlich freigeschaltet?

***

## Weitere Hilfe

**→** [**Einreichungen verwalten**](/formulare/erstellen/einreichungen-verwalten) – Was passiert mit den eingereichten Daten?

**→** [**Formular-Editor**](/formulare/erstellen/formular-editor) – Formular vor der Freischaltung bearbeiten

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Alle verfügbaren Felder im Überblick

**→** [**Bedingungen**](/formulare/erweitert/bedingungen) – Erweiterte Formular-Logik (optional)


# Einreichungen verwalten

Eingereichte Formulardaten einsehen, verwalten und mit verknüpften Datensätzen für Analysen und Auswertungen nutzen.

Nachdem Ihr Formular freigeschaltet wurde und Antworten eingehen, können Sie alle eingereichten Daten zentral einsehen und weiterverarbeiten.

## Was sind Einreichungen?

Einreichungen sind die ausgefüllten Formulare, die Nutzer an Sie gesendet haben. Jede Einreichung enthält:

* **Antworten**: Alle vom Nutzer eingegebenen Daten
* **Zeitstempel**: Wann die Einreichung erstellt und zuletzt aktualisiert wurde
* **Eindeutige ID**: Zur nachträglichen Zuordnung

## Einreichungen aufrufen

**Zum Formular navigieren:**

1. Öffnen Sie Ihre Formularliste
2. Klicken Sie auf das gewünschte Formular
3. Wählen Sie oben den Reiter **"Einreichungen"**

Sie sehen eine Liste aller eingegangenen Antworten mit Zeitstempel und Vorschau.

***

## Statistiken anzeigen

Im Reiter **"Einreichungen"** finden Sie zwei Unterbereiche:

* **"Statistik"** – Übersicht und Analysen zu Ihren Einreichungen
* **"Einreichungen"** – Detaillierte Tabelle aller Antworten

### Statistik

Dieser Bereich zeigt Ihnen verschiedene Kennzahlen und Visualisierungen:

#### Zusammenfassung

**Anzahl der Einreichungen:**

* Zeigt die Gesamtzahl aller eingegangenen Formulare

**Ausstehende Einreichungen** (nur bei privaten Formularen):

* Zeigt, wie viele eingeladene Personen das Formular noch nicht ausgefüllt haben
* Hilft Ihnen, den Überblick über fehlende Antworten zu behalten

#### Einreichungen im Zeitverlauf

Ein **Balkendiagramm** zeigt Ihnen die täglichen Einreichungen:

* **Zeitraumauswahl**: Wählen Sie einen Zeitraum (Standard: letzte 7 Tage)
* **Tägliche Ansicht**: Sehen Sie, an welchen Tagen wie viele Einreichungen eingegangen sind
* **Trends erkennen**: Identifizieren Sie Spitzen oder ruhige Phasen

**Beispiel-Nutzung:**

* Prüfen Sie, ob nach einer E-Mail-Erinnerung mehr Antworten eingehen
* Erkennen Sie, wann die meisten Menschen das Formular ausfüllen

#### Einreichungen nach Uhrzeit

Ein **Liniendiagramm** zeigt die Verteilung über den Tag:

* **24-Stunden-Ansicht**: Von 00:00 bis 23:00 Uhr
* **Muster erkennen**: Zu welcher Tageszeit füllen Menschen Ihr Formular aus?
* **Planung**: Nutzen Sie diese Information für E-Mail-Versand oder Erinnerungen

**Beispiel-Nutzung:**

* Versenden Sie Erinnerungen zu den aktivsten Zeiten
* Planen Sie Wartungsarbeiten außerhalb der Hauptzeiten

***

## Einreichungen anzeigen

Im Reiter **"Einreichungen"** sehen Sie eine Tabellenansicht aller eingegangenen Antworten:

* **Eingangsdatum und -zeit**: Wann wurde das Formular abgesendet?
* **Alle Felder als Spalten**: Jedes Formularfeld erscheint als eigene Spalte
* **Spaltenreihenfolge**: Die Spalten erscheinen in der Reihenfolge, wie sie im Formular angeordnet sind
* **Eine Zeile pro Einreichung**: Jede Zeile zeigt eine vollständige Einreichung
* **Anzahl der Einreichungen**: Oben in der Tabelle sehen Sie die Gesamtzahl
* **Einreichungsdatum filtern**: Über das Datumsfeld können Sie Einreichungen nach Zeitraum eingrenzen

### Vorschau einer Einreichung

Klicken Sie auf eine Einreichung in der Tabelle, um eine Vorschau zu öffnen. Die Vorschau zeigt die Einreichung so an, wie sie vom Ausfüllenden ausgefüllt wurde — mit allen Feldern, Antworten und hochgeladenen Dateien.

{% hint style="info" %}
Bei Einreichungen mit Datei-Upload-Feldern können Sie die hochgeladenen Dateien direkt in der Vorschau ansehen und herunterladen.
{% endhint %}

{% hint style="warning" %}
Hochgeladene Dateien sind nicht im CSV-Export enthalten. Um Dateien herunterzuladen, öffnen Sie die Vorschau der jeweiligen Einreichung und laden Sie die Dateien einzeln herunter.
{% endhint %}

{% hint style="info" %}
**Tipp**: Für detaillierte Analysen, Filterung oder Export der Einreichungen nutzen Sie den verknüpften Datensatz (siehe unten).
{% endhint %}

## Daten exportieren und analysieren

### Direkter Download

Im Reiter **"Einreichungen"** können Sie die Daten direkt herunterladen:

1. Wählen Sie die gewünschten Einreichungen in der Tabelle aus
2. Klicken Sie auf **Ausgewählte CSV-Datei herunterladen**
3. Die Daten werden als CSV-Datei heruntergeladen

Sie können auch alle Einreichungen auf einmal herunterladen, indem Sie alle Zeilen auswählen.

{% hint style="info" %}
Der direkte Download eignet sich für schnelle Exporte. Für detailliertere Analysen nutzen Sie den verknüpften Datensatz.
{% endhint %}

### Zum verknüpften Datensatz

Für erweiterte Analysen können Sie direkt zum verknüpften Datensatz wechseln:

1. Im Reiter **"Einreichungen"** klicken Sie auf **"Zum Datensatz"**
2. Oder: Reiter **"Einstellungen"** → Bereich **"Integrationen"** → **"Verknüpfter Datensatz"**

{% hint style="warning" %}
Wenn Sie keinen Zugriff auf den verknüpften Datensatz haben, erscheint ein Hinweis. Wenden Sie sich in diesem Fall an den Formular-Eigentümer, um die entsprechenden Berechtigungen zu erhalten.
{% endhint %}

**Im Datensatz können Sie:**

### Daten exportieren

* **Excel (.xlsx)**: Für Tabellenkalkulationen und Auswertungen
* **CSV**: Für Datenanalyse und Import in andere Tools
* **Gefilterte Exporte**: Nur bestimmte Einreichungen exportieren

### Daten analysieren und filtern

* **Einreichungen filtern**: Nach Zeitraum, Werten oder anderen Kriterien
* **Daten kombinieren**: Einreichungen mit anderen Daten verknüpfen
* **Insights erstellen**: Visualisierungen und Auswertungen erstellen
* **Daten suchen**: Volltextsuche über alle Einreichungen
* **Langfristige Speicherung**: Daten archivieren und analysieren

***

## Benachrichtigungen

E-Mail-Benachrichtigungen bei neuen Einreichungen konfigurieren Sie im Reiter **"Einstellungen"** → Bereich **"Zielgruppe"** vor dem Freischalten des Formulars.

{% hint style="info" %}
Bereits freigeschaltete Formulare: Benachrichtigungseinstellungen können nach der Freischaltung nicht mehr geändert werden.
{% endhint %}

***

## Datenschutz beachten

Beim Umgang mit Einreichungen beachten Sie:

**DSGVO-Anforderungen:**

* Sammeln Sie nur notwendige Informationen
* Nutzen Sie Daten nur für angegebene Zwecke
* Löschen Sie Daten nach Ablauf der Aufbewahrungsfrist
* Ermöglichen Sie Auskunft und Löschung auf Anfrage

**Empfohlene Aufbewahrungsfristen:**

* Anmeldungen: 1 Jahr nach Veranstaltung
* Umfragen: 2 Jahre nach Projektabschluss
* Anträge: Nach rechtlichen Vorgaben Ihrer Organisation

{% hint style="info" %}
**Weisungsregister**: Stellen Sie sicher, dass Ihre Datenverarbeitung im [Weisungsregister](/sicherheit/weisungsregister) Ihrer Lösung dokumentiert ist. Dies ist für die DSGVO-konforme Verarbeitung personenbezogener Daten gemäß Art. 28 DSGVO erforderlich.
{% endhint %}

## Häufige Probleme

**Einreichungen werden nicht angezeigt:**

* Prüfen Sie, ob Sie die richtigen Berechtigungen für das Formular haben
* Aktualisieren Sie die Seite
* Prüfen Sie, ob das Formular freigeschaltet ist

**Einreichungen erscheinen nicht im Datensatz:**

* Prüfen Sie die Datensatz-Verknüpfung im Reiter "Einstellungen" → Bereich "Integrationen"
* Stellen Sie sicher, dass das Formular freigeschaltet ist
* Neue Einreichungen erscheinen automatisch im Datensatz

Mit der Verwaltung von Einreichungen behalten Sie den Überblick über alle eingegangenen Antworten und können diese effizient weiterverarbeiten.


# Erweiterte Funktionen

Erweiterte Formular-Funktionen für dynamische, intelligente Formulare mit Bedingungen und Validierungen.

Mit erweiterten Funktionen erstellen Sie intelligente Formulare, die sich an die Antworten der Ausfüllenden anpassen. Felder erscheinen oder verschwinden automatisch, Pflichtfelder ändern sich je nach Kontext, und Eingaben werden in Echtzeit geprüft.

## Was sind erweiterte Funktionen?

Stellen Sie sich ein Papierformular vor, bei dem manche Fragen nur beantwortet werden müssen, wenn bestimmte Bedingungen erfüllt sind. Zum Beispiel: "Falls Sie unter 18 sind, geben Sie bitte die Kontaktdaten Ihrer Eltern an."

Bei digitalen Formularen können solche Abhängigkeiten automatisch funktionieren:

* Felder erscheinen nur, wenn sie relevant sind
* Pflichtfelder passen sich an vorherige Antworten an
* Eingaben werden sofort auf Richtigkeit geprüft
* Fehler werden erklärt, bevor das Formular abgesendet wird

## Wann brauchen Sie erweiterte Funktionen?

**Sie brauchen KEINE erweiterten Funktionen für:**

* Einfache Umfragen mit wenigen Fragen
* Formulare, bei denen alle Fragen für alle gelten
* Ihr erstes Formular (starten Sie einfach!)

**Erweiterte Funktionen sind nützlich bei:**

* Anträgen mit unterschiedlichen Pfaden (z.B. verschiedene Kategorien)
* Formularen mit optionalen Abschnitten (z.B. Zusatzinformationen nur für bestimmte Gruppen)
* Eingaben, die bestimmte Formate erfordern (z.B. PLZ mit 5 Stellen)
* Komplexen Genehmigungsprozessen

## Die vier HauptFunktionen

### 1. Bedingungen

Steuern Sie, wann Felder sichtbar, versteckt, erforderlich oder deaktiviert sind.

**Beispiel:** "Zeige das Feld 'Firmename' nur, wenn bei 'Antragsteller' die Option 'Unternehmen' gewählt wurde."

→ [Bedingungen einrichten](/formulare/erweitert/bedingungen)

### 2. Validierungsregeln

Prüfen Sie Eingaben automatisch auf Richtigkeit, noch bevor das Formular abgesendet wird.

**Beispiel:** "Die Postleitzahl muss genau 5 Ziffern haben."

→ [Validierungen hinzufügen](/formulare/erweitert/validierung)

### 3. Visueller Bedingungseditor

Erstellen Sie Bedingungen ohne Programmierung – einfach per Auswahl.

**Vorteil:** Keine technischen Kenntnisse erforderlich, intuitiv zu bedienen.

→ [Visuellen Bedingungseditor verwenden](/formulare/erweitert/bedingungseditor)

### 4. Ausdrücke (Fortgeschritten)

Für komplexe Logik können Sie Ausdrücke direkt schreiben.

**Vorteil:** Maximale Flexibilität für erfahrene Nutzer.

→ [Ausdrücke verstehen](/formulare/erweitert/ausdruecke)

## Vergleich: Einfach vs. Erweitert

| Funktion                             | Einfaches Formular | Mit erweiterten Funktionen |
| ------------------------------------ | ------------------ | -------------------------- |
| Felder hinzufügen                    | ✅                  | ✅                          |
| Pflichtfelder markieren              | ✅                  | ✅                          |
| Mehrseitige Formulare                | ✅                  | ✅                          |
| Felder bedingt anzeigen              | ❌                  | ✅                          |
| Felder bedingt als Pflicht markieren | ❌                  | ✅                          |
| Eigene Validierungen                 | ❌                  | ✅                          |
| Dynamische Formulare                 | ❌                  | ✅                          |

## Erste Schritte mit erweiterten Funktionen

{% stepper %}
{% step %}
**Erstellen Sie zuerst ein einfaches Formular**

Beginnen Sie mit der Grundstruktur ohne Bedingungen. Fügen Sie alle Felder hinzu, die Sie benötigen.

{% hint style="info" %}
**Tipp:** Testen Sie Ihr Formular zunächst ohne Bedingungen. So stellen Sie sicher, dass die Grundstruktur funktioniert.
{% endhint %}
{% endstep %}

{% step %}
**Identifizieren Sie Abhängigkeiten**

Überlegen Sie:

* Welche Felder sind nur manchmal relevant?
* Welche Pflichtfelder hängen von anderen Antworten ab?
* Welche Eingaben brauchen besondere Prüfungen?

**Beispiel:** Bei einer Veranstaltungsanmeldung ist die Adresse nur relevant, wenn "Zusendung per Post" gewählt wurde.
{% endstep %}

{% step %}
**Fügen Sie Bedingungen hinzu**

Nutzen Sie den visuellen Editor (empfohlen für Einsteiger) oder CEL-Ausdrücke (für erfahrene Nutzer).

→ [Zur Anleitung: Bedingungen](/formulare/erweitert/bedingungen)
{% endstep %}

{% step %}
**Testen Sie gründlich**

Durchlaufen Sie alle möglichen Pfade im Formular:

* Was passiert bei Antwort A?
* Erscheinen die richtigen Felder bei Antwort B?
* Werden Fehler korrekt angezeigt?

Nutzen Sie die **Vorschau-Funktion** ausgiebig!
{% endstep %}
{% endstepper %}

## Häufige Fragen

**Kann ich erweiterte Funktionen nachträglich hinzufügen?**

Ja! Sie können Bedingungen und Validierungen jederzeit zu bestehenden Formularen hinzufügen. Beachten Sie jedoch: Bei bereits freigeschalteten Formularen sollten Sie vorsichtig sein, da sich das Verhalten für laufende Einreichungen ändert.

**Sind erweiterte Funktionen schwieriger zu verwalten?**

Etwas. Je komplexer Ihr Formular wird, desto wichtiger ist gute Dokumentation. Notieren Sie sich, warum bestimmte Bedingungen existieren. Der visuelle Editor hilft, die Übersicht zu behalten.

**Was passiert, wenn ich einen Fehler in einer Bedingung mache?**

Das System prüft Ihre Bedingungen beim Speichern. Fehlerhafte Ausdrücke werden rot markiert und können nicht gespeichert werden. Beim Testen in der Vorschau sehen Sie sofort, ob die Logik wie gewünscht funktioniert.

**Kann ich Bedingungen kopieren?**

Aktuell müssen Bedingungen für jedes Feld einzeln erstellt werden. Wenn Sie ähnliche Logik häufig brauchen, nutzen Sie CEL-Ausdrücke – diese können Sie kopieren und anpassen.

## Best Practices

### ✅ Empfohlen

* **Starten Sie einfach:** Erst die Grundstruktur, dann Bedingungen
* **Testen Sie jeden Pfad:** Nutzen Sie die Vorschau ausgiebig
* **Dokumentieren Sie komplexe Logik:** Notizen helfen später beim Bearbeiten
* **Nutzen Sie aussagekräftige Fehlermeldungen:** "Die PLZ muss 5 Ziffern haben" statt "Ungültige Eingabe"
* **Kombinieren Sie nicht zu viele Bedingungen:** Lieber mehrere einfache statt eine sehr komplexe Bedingung

### ❌ Vermeiden Sie

* **Zirkuläre Abhängigkeiten:** Feld A hängt von Feld B ab, das von Feld A abhängt
* **Zu viele verschachtelte Bedingungen:** Wird schnell unübersichtlich
* **Bedingungen auf nicht existierende Felder:** Prüfen Sie Feldnamen genau
* **Komplexe Bedingungen ohne Test:** Immer in der Vorschau prüfen!

## Nächste Schritte

Beginnen Sie mit der Funktion, die für Ihr Formular am wichtigsten ist:

**→** [**Bedingungen einrichten**](/formulare/erweitert/bedingungen) – Felder dynamisch anzeigen/verstecken

**→** [**Validierungen hinzufügen**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen

**→** [**Visueller Bedingungseditor**](/formulare/erweitert/bedingungseditor) – Bedingungen ohne Programmierung erstellen

**→** [**Ausdrücke**](/formulare/erweitert/ausdruecke) – Für erfahrene Nutzer


# Bedingungen

Erstellen Sie intelligente Formulare, die sich an die Antworten der Nutzenden anpassen – Felder erscheinen, verschwinden oder werden erforderlich basierend auf vorherigen Eingaben.

Bedingungen machen Ihr Formular intelligent: Felder erscheinen nur, wenn sie gebraucht werden, Pflichtfelder passen sich an die Situation an, und überflüssige Fragen werden automatisch übersprungen.

## Was sind Bedingungen?

Denken Sie an ein Papierformular mit dem Hinweis: "Bitte nur ausfüllen, falls zutreffend." Bei digitalen Formularen können solche Abhängigkeiten automatisch funktionieren – das Feld wird nur angezeigt, wenn es relevant ist.

**Analogie aus dem Alltag:**

Stellen Sie sich eine Veranstaltungsanmeldung vor:

* Frage 1: "Wie möchten Sie Ihre Tickets erhalten?"
  * Option A: Per E-Mail (PDF)
  * Option B: Per Post

Wenn jemand "Per Post" wählt, erscheint automatisch ein Adressfeld. Bei "Per E-Mail" bleibt dieses Feld unsichtbar – niemand muss sich fragen, ob er es ausfüllen soll oder nicht.

## Bedingungen hinzufügen

{% stepper %}
{% step %}
**Feld auswählen**

1. Öffnen Sie Ihr Formular im Editor
2. Klicken Sie auf das Feld, für das Sie eine Bedingung erstellen möchten
3. Im Konfigurationsmenü rechts erscheinen die Feldeinstellungen

{% hint style="info" %}
**Hinweis:** Sie können Bedingungen nur für einzelne Felder erstellen, nicht für ganze Seiten. Um eine ganze Seite bedingt anzuzeigen, verwenden Sie die Seiten-Einstellungen.
{% endhint %}
{% endstep %}

{% step %}
**Bedingungstyp wählen**

1. Wechseln Sie zum Reiter **"Bedingungen"** im Konfigurationsmenü
2. Klicken Sie auf **"Bedingung hinzufügen"**
3. Wählen Sie den Typ:

{% tabs %}
{% tab title="Anzeigen" %}
**Anzeigen**

Das Feld ist standardmäßig **versteckt** und erscheint nur, wenn die Bedingung **erfüllt** ist.

{% hint style="info" %}
**Voraussetzung:** Sie müssen das Feld zunächst im Reiter **"Allgemein"** → **"Versteckt"** aktivieren, damit diese Option verfügbar wird.
{% endhint %}

**Wann verwenden:**

* Optionale Zusatzinformationen, die nur für bestimmte Gruppen relevant sind
* Folgefelder, die von vorherigen Antworten abhängen

**Beispiel:** "Zeige das Feld 'Firmename' nur, wenn bei 'Antragsteller' die Option 'Unternehmen' gewählt wurde."
{% endtab %}

{% tab title="Ausblenden" %}
**Ausblenden**

Das Feld ist standardmäßig **sichtbar** und wird versteckt, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die normalerweise sichtbar sind, aber in bestimmten Fällen irrelevant werden
* Umkehrlogik (einfacher als "Anzeigen, wenn nicht...")

**Beispiel:** "Verstecke das Feld 'Erziehungsberechtigte', wenn das Alter über 18 ist."
{% endtab %}

{% tab title="Pflichtfeld" %}
**Pflichtfeld**

Das Feld ist optional und wird zum **Pflichtfeld**, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die nur manchmal ausgefüllt werden müssen
* Abhängige Pflichtangaben

**Beispiel:** "Mache das Feld 'Begründung' zum Pflichtfeld, wenn 'Sonderfall' gewählt wurde."
{% endtab %}

{% tab title="Deaktivieren" %}
**Deaktivieren**

Das Feld kann bearbeitet werden und wird **deaktiviert**, wenn die Bedingung **erfüllt** ist.

**Wann verwenden:**

* Felder, die unter bestimmten Umständen nicht mehr geändert werden sollen
* Berechnete oder automatisch ausgefüllte Felder

**Beispiel:** "Deaktiviere das Feld 'Kontonummer', wenn 'Rechnung' als Zahlungsart gewählt wurde."
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Bedingung definieren**

Jetzt legen Sie fest, wann die Bedingung gelten soll:

{% tabs %}
{% tab title="Visueller Ersteller (Empfohlen)" %}
**Bedingungen ohne Code erstellen:**

1. **Feld auswählen:** Welches andere Feld soll geprüft werden?
2. **Vergleichsart wählen:**
   * entspricht
   * entspricht nicht
   * größer als
   * kleiner als
   * ist ausgefüllt
   * ist nicht ausgefüllt
   * entspricht Regex (Muster)
3. **Wert eingeben:** Mit welchem Wert soll verglichen werden?

**Beispiel:**

* Feld: "antragsteller"
* Vergleich: "entspricht"
* Wert: "Unternehmen"

→ Mehr Details: [Visueller Bedingungseditor](/formulare/erweitert/bedingungseditor)
{% endtab %}

{% tab title="Ausdruck (Fortgeschritten)" %}
**Bedingungen als Ausdruck schreiben:**

Für komplexe Logik können Sie Ausdrücke direkt eingeben:

```
antragsteller == 'Unternehmen'
```

oder kombiniert:

```
antragsteller == 'Unternehmen' && umsatz > 100000
```

{% hint style="info" %}
**Hinweis:** Um Ausdrücke zu schreiben, erstellen Sie zunächst eine Bedingung mit dem visuellen Editor und klicken dann auf **"Als Code bearbeiten"**. So wechseln Sie in den Ausdruck-Modus.
{% endhint %}

→ Mehr Details: [Ausdrücke verstehen](/formulare/erweitert/ausdruecke)
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Testen und Speichern**

1. **Speichern Sie die Bedingung** mit Klick auf "Speichern"
2. **Öffnen Sie die Vorschau** (Button oben rechts)
3. **Testen Sie alle Pfade:**
   * Was passiert, wenn die Bedingung erfüllt ist?
   * Was passiert, wenn sie nicht erfüllt ist?
   * Funktioniert die Logik wie erwartet?

{% hint style="warning" %}
**Wichtig:** Testen Sie IMMER in der Vorschau, bevor Sie das Formular freischalten. Fehlerhafte Bedingungen können Nutzer verwirren oder am Absenden hindern.
{% endhint %}
{% endstep %}
{% endstepper %}

## Mehrere Bedingungen kombinieren

Sie können mehrere Bedingungen für ein Feld erstellen und mit UND oder ODER verknüpfen:

### UND-Verknüpfung

**Alle Bedingungen müssen erfüllt sein**

**Beispiel:**

* Feld erscheint nur, wenn:
  * Antragsteller ist "Unternehmen" **UND**
  * Umsatz ist kleiner als 500.000 **UND**
  * Standort ist "Deutschland"

### ODER-Verknüpfung

**Mindestens eine Bedingung muss erfüllt sein**

**Beispiel:**

* Feld erscheint, wenn:
  * Antragsteller ist "Unternehmen" **ODER**
  * Antragsteller ist "Freiberufler"

→ Mehr Details: [Visueller Bedingungseditor](/formulare/erweitert/bedingungseditor)

## Bedingungen für Seiten

Nicht nur einzelne Felder, sondern auch ganze Seiten können bedingt angezeigt werden:

1. Klicken Sie auf den **Seitenkopf** (z.B. "Seite 1", "Seite 2") in der Arbeitsfläche
2. Im Konfigurationsmenü rechts erscheinen die Seiteneinstellungen
3. Wechseln Sie zum Reiter **"Bedingungen"**
4. Fügen Sie eine Bedingung hinzu (analog zu Feldern)

**Anwendungsfall:** Eine ganze Seite mit Firmendaten erscheint nur, wenn "Unternehmen" als Antragsteller gewählt wurde.

{% hint style="info" %}
**Tipp:** Achten Sie darauf, dass keine Pflichtfelder auf bedingten Seiten liegen, die möglicherweise nicht erreichbar sind.
{% endhint %}

## Häufige Fehler vermeiden

### ❌ Fehler 1: Feld existiert nicht

**Problem:** Sie verweisen auf ein Feld, das nicht existiert oder gelöscht wurde.

**Lösung:** Prüfen Sie die Feldnamen genau. Die Namen müssen exakt übereinstimmen (Groß-/Kleinschreibung beachten).

***

### ❌ Fehler 2: Zirkuläre Abhängigkeiten

**Problem:** Feld A hängt von Feld B ab, und Feld B hängt von Feld A ab.

**Lösung:** Vermeiden Sie solche Abhängigkeiten. Jedes Feld sollte nur von Feldern abhängen, die davor im Formular vorkommen.

***

### ❌ Fehler 3: Zu komplexe Bedingungen

**Problem:** Viele verschachtelte Bedingungen werden schnell unübersichtlich.

**Lösung:** Halten Sie Bedingungen einfach. Lieber mehrere einfache Bedingungen als eine sehr komplexe.

***

### ❌ Fehler 4: Pflichtfeld nicht erreichbar

**Problem:** Ein Pflichtfeld ist durch Bedingungen versteckt, aber trotzdem erforderlich.

**Lösung:** Achten Sie darauf, dass Pflichtfelder immer erreichbar sind. Kombinieren Sie "requiredIf" mit "visibleIf" für dasselbe Feld.

***

### ❌ Fehler 5: Fehlende Tests

**Problem:** Bedingungen wurden nicht in allen Szenarien getestet.

**Lösung:** Durchlaufen Sie **alle möglichen Pfade** in der Vorschau. Was passiert bei verschiedenen Antworten?

## Bedingungen bearbeiten oder löschen

### Bedingung bearbeiten

1. Klicken Sie auf das Feld mit der Bedingung
2. Wechseln Sie zum Reiter "Bedingungen"
3. Klicken Sie auf "Bearbeiten" neben der Bedingung
4. Ändern Sie die Einstellungen
5. Speichern Sie

### Bedingung löschen

1. Klicken Sie auf das Feld mit der Bedingung
2. Wechseln Sie zum Reiter "Bedingungen"
3. Klicken Sie auf "Löschen" neben der Bedingung
4. Bestätigen Sie die Löschung

## Bedingungen nach der Freischaltung

{% hint style="warning" %}
**Wichtig:** Sie können Bedingungen auch nach der Freischaltung ändern, aber seien Sie vorsichtig:

* Laufende Einreichungen könnten betroffen sein
* Bereits begonnene Formulare verhalten sich möglicherweise anders
* Testen Sie Änderungen immer in einer Kopie des Formulars
  {% endhint %}

**Empfehlung:** Planen Sie Bedingungen vor der Freischaltung sorgfältig. Spätere Änderungen sollten nur in Ausnahmefällen erfolgen.

## Weitere Hilfe

**→** [**Visueller Bedingungseditor**](/formulare/erweitert/bedingungseditor) – Bedingungen ohne Programmierung erstellen

**→** [**Ausdrücke**](/formulare/erweitert/ausdruecke) – Komplexe Logik für erfahrene Nutzer

**→** [**Validierungsregeln**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Übersicht aller verfügbaren Felder


# Validierungsregeln

Prüfen Sie Eingaben automatisch auf Richtigkeit, bevor das Formular abgesendet wird – mit verständlichen Fehlermeldungen für die Nutzenden.

Validierungsregeln sorgen dafür, dass nur korrekte Daten in Ihr System gelangen. Sie prüfen Eingaben in Echtzeit und geben klare Hinweise, wenn etwas nicht stimmt – bevor das Formular abgesendet wird.

## Was ist Validierung?

Bei einer Postleitzahl wissen Sie: Sie muss genau 5 Ziffern haben. Ohne Validierung könnten Nutzer "12" oder "123ABC" eingeben – beides falsch. Mit Validierung erhalten sie sofort eine Rückmeldung: "Die Postleitzahl muss aus genau 5 Ziffern bestehen."

**Vorteile:** Saubere Daten in Ihrem System, weniger Nacharbeit, sofortiges Feedback für Nutzende mit klaren Fehlermeldungen

## Validierungsregeln hinzufügen

{% stepper %}
{% step %}
**Feld auswählen**

1. Öffnen Sie Ihr Formular im Editor
2. Klicken Sie auf das Feld, das Sie prüfen möchten
3. Im Konfigurationsmenü rechts erscheinen die Feldeinstellungen

{% hint style="info" %}
**Hinweis:** Nicht alle Feldtypen benötigen Validierung. Manche Felder haben bereits eingebaute Validierung:

* **Auswahllisten:** Nur die vorgegebenen Optionen sind wählbar
* **E-Mail-Felder:** Prüfen automatisch auf gültiges E-Mail-Format
* **URL-Felder:** Prüfen auf gültiges URL-Format
* **Zahlenfelder:** Erlauben nur numerische Eingaben
* **Datumsfelder:** Erlauben nur gültige Datumsangaben
  {% endhint %}
  {% endstep %}

{% step %}
**Validierungsregel erstellen**

1. Wechseln Sie zum Reiter **"Validierungen"** im Konfigurationsmenü
2. Klicken Sie auf **"Validierungsregel hinzufügen"**
3. Wählen Sie die Art der Validierung:

{% tabs %}
{% tab title="Visueller Ersteller (Empfohlen)" %}
**Validierung ohne Code:**

1. **Bedingung festlegen:** Wann ist die Eingabe gültig?
   * Feld entspricht einem Muster
   * Wert liegt in einem Bereich
   * Eingabe erfüllt eine Bedingung
2. **Fehlermeldung eingeben:** Was sehen Nutzende, wenn die Validierung fehlschlägt?
   * Klar und verständlich
   * Sagt, was zu tun ist
   * Beispiel: "Die Postleitzahl muss aus genau 5 Ziffern bestehen (z.B. 10115)"

**Beispiel:**

* **Bedingung:** Feldlänge entspricht 5 Zeichen UND alle Zeichen sind Ziffern
* **Fehlermeldung:** "Bitte geben Sie eine gültige 5-stellige Postleitzahl ein"
  {% endtab %}

{% tab title="Ausdruck (Fortgeschritten)" %}
**Validierung als Ausdruck schreiben:**

Für komplexe Prüfungen können Sie Ausdrücke direkt eingeben:

```
postleitzahl.matches('[0-9]{5}')
```

Das prüft, ob die Postleitzahl aus genau 5 Ziffern besteht.

**Fehlermeldung:** "Die Postleitzahl muss aus genau 5 Ziffern bestehen"

→ Mehr Details: [Ausdrücke verstehen](/formulare/erweitert/ausdruecke)
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**Fehlermeldung formulieren**

Formulieren Sie klar und verständlich. Fügen Sie ein Beispiel hinzu.

**✅ Gut:** "Die Postleitzahl muss aus genau 5 Ziffern bestehen (z.B. 10115)"

**❌ Schlecht:** "Ungültige Eingabe" (zu allgemein), "Fehler 123" (zu technisch)
{% endstep %}

{% step %}
**Testen und Speichern**

1. **Speichern Sie die Validierungsregel**
2. **Öffnen Sie die Vorschau**
3. **Testen Sie bewusst fehlerhafte Eingaben:**
   * Wird die Fehlermeldung angezeigt?
   * Ist sie verständlich?
   * Kann das Formular mit falschen Daten abgesendet werden? (Sollte nicht möglich sein!)

{% hint style="warning" %}
**Wichtig:** Testen Sie auch Grenzfälle:

* Was passiert bei leeren Feldern?
* Was bei sehr langen Eingaben?
* Was bei Sonderzeichen?
  {% endhint %}
  {% endstep %}
  {% endstepper %}

## Häufige Validierungsregeln

| Anwendungsfall                     | Ausdruck                                          | Fehlermeldung                                                                     |
| ---------------------------------- | ------------------------------------------------- | --------------------------------------------------------------------------------- |
| **Postleitzahl (5 Ziffern)**       | `postleitzahl.matches('[0-9]{5}')`                | "Bitte geben Sie eine gültige 5-stellige Postleitzahl ein (z.B. 10115)"           |
| **Telefonnummer**                  | `telefon.matches('(\\+49\|0)[0-9\\s\\-]{6,}')`    | "Bitte geben Sie eine gültige Telefonnummer ein (z.B. +49 30 12345678)"           |
| **Mindestlänge (z.B. 10 Zeichen)** | `size(beschreibung) >= 10`                        | "Die Beschreibung muss mindestens 10 Zeichen lang sein"                           |
| **Zahlenbereich (z.B. 18-99)**     | `alter >= 18 && alter <= 99`                      | "Das Alter muss zwischen 18 und 99 liegen"                                        |
| **Datum in der Zukunft**           | `datum > today()`                                 | "Das Datum muss in der Zukunft liegen"                                            |
| **Optional mit Mindestlänge**      | `size(kommentar) == 0 \|\| size(kommentar) >= 20` | "Falls Sie einen Kommentar hinterlassen, muss er mindestens 20 Zeichen lang sein" |

→ Weitere Beispiele und Details: [Ausdrücke](/formulare/erweitert/ausdruecke)

## Mehrere Validierungsregeln kombinieren

Ein Feld kann mehrere Validierungsregeln haben. Sie werden von oben nach unten geprüft – die erste fehlgeschlagene Regel zeigt ihre Fehlermeldung an.

## Bedingte Validierung

Validierungsregeln können auch nur unter bestimmten Bedingungen gelten. **Beispiel:** Die Handelsregisternummer ist nur erforderlich, wenn "Unternehmen" als Antragsteller gewählt wurde.

→ Mehr Details: [Bedingungen einrichten](/formulare/erweitert/bedingungen)

## Validierungsregeln bearbeiten oder löschen

Klicken Sie auf das Feld, wechseln Sie zum Reiter "Validierungen" und klicken Sie auf "Bearbeiten" oder "Löschen" neben der Regel.

## Häufige Fehler vermeiden

**❌ Zu strenge Validierung:** Seien Sie großzügig bei der Akzeptanz verschiedener Formate (z.B. Telefon: "+49 30 123" und "030/123" beide akzeptieren).

**❌ Fehlende Beispiele:** Fügen Sie immer ein Beispiel hinzu: "z.B. 10115" oder "Beispiel: +49 30 12345678"

**❌ Validierung auf leeren Feldern:** Bei optionalen Feldern mit Leerprüfung kombinieren: `size(feld) == 0 || feld.matches('[0-9]{5}')`

**❌ Zu technische Sprache:** Nicht "Regex-Muster \[0-9]{5}", sondern "Bitte geben Sie eine 5-stellige Zahl ein"

## Reguläre Ausdrücke (Regex)

Viele Validierungsregeln nutzen Muster (Regular Expressions). **Wichtigste Zeichen:** `[0-9]` = Ziffer, `{5}` = genau 5-mal, `+` = eines oder mehr, `\\` = Sonderzeichen maskieren.

**Beispiele:** `[0-9]{5}` = genau 5 Ziffern (PLZ), `(\\+49|0)[0-9\\s\\-]{6,}` = Telefonnummer

→ Vollständige Regex-Referenz: [Ausdrücke](/formulare/erweitert/ausdruecke)

## Bewährte Vorgehensweisen

**✅ Empfohlen:** Klare Fehlermeldungen mit Beispielen, großzügige Muster für verschiedene Formate, immer in Vorschau testen

**❌ Vermeiden:** Zu strenge Regeln, technische Sprache, fehlende Formathinweise, Validierung ohne Test

## Validierung nach der Freischaltung

{% hint style="warning" %}
**Wichtig:** Sie können Validierungsregeln auch nach der Freischaltung ändern:

* Verschärfungen könnten laufende Einreichungen blockieren
* Lockerungen sind meist unproblematisch
* Testen Sie Änderungen immer in einer Kopie des Formulars
  {% endhint %}

**Empfehlung:** Planen Sie Validierungen sorgfältig vor der Freischaltung. So vermeiden Sie spätere Probleme.

## Weitere Hilfe

**→** [**Bedingungen einrichten**](/formulare/erweitert/bedingungen) – Felder bedingt anzeigen oder als Pflicht markieren

**→** [**Ausdrücke**](/formulare/erweitert/ausdruecke) – Komplexe Validierungen für erfahrene Nutzer

**→** [**Visueller Bedingungseditor**](/formulare/erweitert/bedingungseditor) – Bedingungen ohne Programmierung erstellen

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Welche Felder haben eingebaute Validierung?


# Visueller Editor

Erstellen Sie Bedingungen und Validierungen ohne Programmierung – einfach per Auswahl mit dem visuellen Editor.

Der visuelle Editor erlaubt Ihnen, komplexe Wenn-Dann-Regeln und Validierungen ohne jede Programmierung zu erstellen. Wählen Sie einfach aus, wann ein Feld erscheinen, verschwinden, erforderlich werden oder welche Eingaben gültig sein sollen – keine technischen Kenntnisse nötig.

## Was ist der visuelle Editor?

Statt Ausdrücke wie `antragsteller == 'Unternehmen'` zu schreiben, klicken Sie sich durch Auswahlmenüs:

* **Welches Feld** soll geprüft werden?
* **Welche Bedingung** soll gelten?
* **Mit welchem Wert** soll verglichen werden?

Das System erstellt im Hintergrund automatisch den korrekten Ausdruck.

## Einsatzgebiete des visuellen Editors

Der visuelle Editor kann für zwei Hauptzwecke verwendet werden:

### 1. Bedingungen

Steuern Sie, wann Felder sichtbar, versteckt, erforderlich oder deaktiviert sind.

**Beispiele:**

* Zeige "Firmename" nur, wenn "Unternehmen" gewählt wurde
* Mache "Begründung" zum Pflichtfeld bei "Sonderfall"
* Verstecke "Erziehungsberechtigte" wenn Alter über 18

→ [Mehr zu Bedingungen](/formulare/erweitert/bedingungen)

### 2. Validierungen

Prüfen Sie Eingaben automatisch auf Richtigkeit.

**Beispiele:**

* Postleitzahl muss genau 5 Ziffern haben
* E-Mail-Adresse muss gültiges Format haben
* Enddatum muss nach Startdatum liegen

→ [Mehr zu Validierungen](/formulare/erweitert/validierung)

***

## Bedingung oder Validierung im visuellen Editor erstellen

{% stepper %}
{% step %}
**Editor öffnen**

**Für Bedingungen:**

1. Klicken Sie auf das Feld
2. Wechseln Sie zum Reiter **"Bedingungen"**
3. Klicken Sie auf **"Bedingung hinzufügen"**
4. Wählen Sie den Bedingungstyp (Anzeigen, Ausblenden, Pflichtfeld, Deaktivieren)
5. Der visuelle Editor öffnet sich

**Für Validierungen:**

1. Klicken Sie auf das Feld
2. Wechseln Sie zum Reiter **"Validierung"**
3. Klicken Sie auf **"Validierung hinzufügen"**
4. Der visuelle Editor öffnet sich

{% hint style="info" %}
**Hinweis:** Sie können jederzeit zwischen visuellem Editor und Ausdruck wechseln, indem Sie auf "Als Code bearbeiten" klicken.
{% endhint %}
{% endstep %}

{% step %}
**Bedingung aufbauen**

Der visuelle Editor besteht aus drei Teilen:

1. **WENN** (Bedingung)
2. **Feld auswählen** (welches Feld wird geprüft?)
3. **Vergleichsart** + **Wert** (wie wird verglichen?)

**Beispiel:**

* WENN
* Feld: "antragsteller"
* entspricht
* Wert: "Unternehmen"

→ Bedeutet: Wenn bei "antragsteller" die Option "Unternehmen" gewählt wurde
{% endstep %}

{% step %}
**Weitere Bedingungen hinzufügen (optional)**

Klicken Sie auf **"UND"** oder **"ODER"**, um weitere Bedingungen hinzuzufügen:

**UND:** Alle Bedingungen müssen erfüllt sein **ODER:** Mindestens eine Bedingung muss erfüllt sein

**Beispiel mit UND:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** umsatz kleiner als 500000

→ Beide Bedingungen müssen zutreffen
{% endstep %}

{% step %}
**Speichern und testen**

1. Klicken Sie auf **"Speichern"**
2. Öffnen Sie die **Vorschau**
3. Testen Sie alle möglichen Szenarien:
   * Was passiert, wenn die Bedingung erfüllt ist?
   * Was passiert, wenn sie nicht erfüllt ist?
   * Funktioniert die Kombination aus UND/ODER wie gewünscht?
     {% endstep %}
     {% endstepper %}

## Die drei Auswahlfelder

### 1. Feld auswählen

**Was ist das?** Das Feld, dessen Wert geprüft werden soll.

**Beispiel:** Wenn Sie prüfen möchten, ob jemand "Unternehmen" als Antragsteller gewählt hat, wählen Sie hier das Feld "antragsteller".

**Verfügbare Felder:** Alle Felder, die **vor** dem aktuellen Feld im Formular vorkommen. Sie können nicht auf Felder verweisen, die erst später kommen.

***

### 2. Vergleichsart wählen

**Was ist das?** Wie soll der Wert des Feldes geprüft werden?

#### Verfügbare Vergleiche:

| Vergleich                | Bedeutung                               | Beispiel                                      |
| ------------------------ | --------------------------------------- | --------------------------------------------- |
| **entspricht**           | Der Wert ist genau gleich               | antragsteller entspricht "Unternehmen"        |
| **entspricht nicht**     | Der Wert ist nicht gleich               | antragsteller entspricht nicht "Privatperson" |
| **größer als**           | Der Wert ist größer (nur Zahlen/Datum)  | alter größer als 18                           |
| **kleiner als**          | Der Wert ist kleiner (nur Zahlen/Datum) | umsatz kleiner als 500000                     |
| **ist ausgefüllt**       | Das Feld hat einen Wert (nicht leer)    | telefon ist ausgefüllt                        |
| **ist nicht ausgefüllt** | Das Feld ist leer                       | telefon ist nicht ausgefüllt                  |
| **entspricht Regex**     | Der Wert entspricht einem Muster        | postleitzahl entspricht Regex "\[0-9]{5}"     |

{% hint style="info" %}
**Tipp:** Für einfache Bedingungen reichen meist "entspricht", "größer als" und "ist ausgefüllt". Die anderen Vergleiche sind für spezielle Fälle.
{% endhint %}

***

### 3. Wert eingeben

**Was ist das?** Der Wert, mit dem verglichen werden soll.

#### Drei Arten von Werten:

{% tabs %}
{% tab title="Fester Wert" %}
**Ein konkreter Wert, den Sie eingeben**

**Beispiele:**

* "Unternehmen" (Text)
* 18 (Zahl)
* "2024-01-01" (Datum)

**Wann verwenden:** Wenn Sie gegen einen festen Wert vergleichen möchten.

**Beispiel:**

* Feld: antragsteller
* Vergleich: entspricht
* Wert: "Unternehmen"
  {% endtab %}

{% tab title="Anderes Feld" %}
**Der Wert eines anderen Feldes**

**Beispiele:**

* alter\_kind kleiner als alter\_elternteil
* startdatum kleiner als enddatum

**Wann verwenden:** Wenn zwei Felder miteinander verglichen werden sollen.

**Beispiel:**

* Feld: startdatum
* Vergleich: kleiner als
* Wert: enddatum (anderes Feld)
  {% endtab %}

{% tab title="Ausdruck" %}
**Ein berechneter Wert oder Funktion**

**Wann zu Ausdrücken wechseln:**

* Wenn Sie mit Datumsfunktionen arbeiten möchten
* Wenn Sie mathematische Berechnungen benötigen
* Wenn Sie komplexe Logik implementieren möchten

**So wechseln Sie:**

1. Erstellen Sie zunächst eine einfache Bedingung im visuellen Editor
2. Klicken Sie auf **"Als Code bearbeiten"**
3. Passen Sie den Ausdruck manuell an

→ Mehr Details: [Ausdrücke](/formulare/erweitert/ausdruecke)
{% endtab %}
{% endtabs %}

## UND/ODER-Verknüpfungen

### UND-Verknüpfung

**Alle Bedingungen müssen erfüllt sein**

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** umsatz kleiner als 500000
* **UND** standort entspricht "Deutschland"

→ Das Feld erscheint nur, wenn **alle drei** Bedingungen zutreffen.

***

### ODER-Verknüpfung

**Mindestens eine Bedingung muss erfüllt sein**

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **ODER** antragsteller entspricht "Freiberufler"

→ Das Feld erscheint, wenn **eine der beiden** Bedingungen zutrifft.

***

### Kombination von UND und ODER

Sie können UND und ODER kombinieren:

**Beispiel:**

* WENN antragsteller entspricht "Unternehmen"
* **UND** (umsatz kleiner als 500000 **ODER** mitarbeiter kleiner als 50)

→ Antragsteller muss Unternehmen sein **UND** entweder Umsatz unter 500.000 **ODER** Mitarbeiter unter 50

{% hint style="warning" %}
**Achtung:** Komplexe Kombinationen werden schnell unübersichtlich. Überlegen Sie, ob Sie die Bedingung nicht vereinfachen können, oder wechseln Sie zu Ausdrücken.
{% endhint %}

## Praktische Beispiele

### Beispiel 1: Firmendaten nur für Unternehmen

**Szenario:** Felder "Firmename" und "Handelsregisternummer" sollen nur für Unternehmen erscheinen

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** antragsteller
* **Vergleich:** entspricht
* **Wert:** "Unternehmen"

**Ergebnis:** Die Felder erscheinen nur, wenn "Unternehmen" gewählt wurde.

***

### Beispiel 2: Postadresse nur bei Postversand

**Szenario:** Adressfeld nur zeigen, wenn "Per Post" gewählt wurde

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** versandart
* **Vergleich:** entspricht
* **Wert:** "Per Post"

**Ergebnis:** Das Adressfeld erscheint nur bei Postversand.

***

### Beispiel 3: Begründung als Pflichtfeld bei Sonderfall

**Szenario:** Begründung muss nur ausgefüllt werden, wenn "Sonderfall" gewählt wurde

**Aufbau:**

* **Bedingungstyp:** Pflichtfeld
* **Feld:** antragsart
* **Vergleich:** entspricht
* **Wert:** "Sonderfall"

**Ergebnis:** Die Begründung ist optional bei Standardförderung, Pflichtfeld bei Sonderfall.

***

### Beispiel 4: Zusatzförderung nur für kleine Unternehmen

**Szenario:** Zusatzförderung nur anbieten, wenn Unternehmen und Umsatz unter 500.000 Euro

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** antragsteller
* **Vergleich:** entspricht
* **Wert:** "Unternehmen"
* **UND**
* **Feld:** umsatz
* **Vergleich:** kleiner als
* **Wert:** 500000

**Ergebnis:** Die Zusatzförderung erscheint nur für Unternehmen mit Umsatz unter 500.000 Euro.

***

### Beispiel 5: Kontaktdaten nur für Minderjährige oder Rückfrage

**Szenario:** Kontaktdaten sollen erscheinen, wenn Alter unter 18 ODER Rückfrage gewünscht

**Aufbau:**

* **Bedingungstyp:** Anzeigen
* **Feld:** alter
* **Vergleich:** kleiner als
* **Wert:** 18
* **ODER**
* **Feld:** rueckfrage\_gewuenscht
* **Vergleich:** entspricht
* **Wert:** "Ja"

**Ergebnis:** Kontaktdaten erscheinen für Minderjährige oder wenn Rückfrage gewünscht.

## Bedingung bearbeiten

1. Klicken Sie auf das Feld mit der Bedingung
2. Wechseln Sie zum Reiter "Bedingungen"
3. Klicken Sie auf **"Bearbeiten"** neben der Bedingung
4. Der visuelle Editor öffnet sich mit den aktuellen Einstellungen
5. Ändern Sie die Bedingung
6. Klicken Sie auf **"Speichern"**

## Von visuellem Editor zu Ausdruck wechseln

Sie können jederzeit von visuellem Editor zu Ausdruck wechseln:

1. Öffnen Sie die Bedingung im visuellen Editor
2. Klicken Sie auf **"Als Code bearbeiten"**
3. Der Ausdruck wird angezeigt (z.B. `antragsteller == 'Unternehmen'`)
4. Sie können ihn jetzt manuell anpassen

{% hint style="warning" %}
**Achtung:** Nach dem Wechsel zu Ausdrücken können Sie **nicht mehr** zum visuellen Editor zurück! Überlegen Sie vorher, ob Sie wirklich wechseln möchten.
{% endhint %}

## Grenzen des visuellen Editors

Der visuelle Editor ist mächtig, aber hat Grenzen:

**Nicht möglich:**

* Mathematische Berechnungen (`umsatz * 0.19`)
* Komplexe Mustervergleiche (Regex)
* Funktionen wie `heute()` oder `size()`
* Sehr verschachtelte Logik mit vielen Ebenen

**Für diese Fälle:** Wechseln Sie zu [Ausdrücken](/formulare/erweitert/ausdruecke)

## Bewährte Vorgehensweisen

### ✅ Empfohlen

* **Nutzen Sie die Auswahllisten:** Vermeiden Sie Tippfehler
* **Halten Sie es einfach:** 1-3 Bedingungen sind übersichtlich
* **Testen Sie sofort:** Nach jeder Bedingung die Vorschau prüfen
* **Dokumentieren Sie:** Bei komplexen Bedingungen notieren, warum sie existieren
* **Sprechende Feldnamen:** "antragsteller" ist besser als "feld\_a"

### ❌ Vermeiden Sie

* **Zu viele Bedingungen:** Mehr als 4-5 wird unübersichtlich
* **Manuell tippen:** Nutzen Sie die Auswahllisten
* **Spätes Testen:** Testen Sie nach jeder Änderung
* **Zirkuläre Verweise:** Feld A hängt von Feld B ab, das von Feld A abhängt
* **Komplexe Logik erzwingen:** Wechseln Sie bei Bedarf zu Ausdrücken

## Weitere Hilfe

**→** [**Bedingungen verstehen**](/formulare/erweitert/bedingungen) – Grundlagen und Anwendungsfälle

**→** [**Ausdrücke**](/formulare/erweitert/ausdruecke) – Für komplexe Logik und erfahrene Nutzer

**→** [**Validierungsregeln**](/formulare/erweitert/validierung) – Eingaben automatisch prüfen

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Welche Felder können in Bedingungen verwendet werden?


# Ausdrücke

Ausdrücke für erfahrene Nutzer – maximale Flexibilität bei Bedingungen und Validierungen mit der Common Expression Language.

Mit Ausdrücken können Sie komplexe Logik direkt schreiben, statt den visuellen Editor zu verwenden. Das bietet maximale Flexibilität – erfordert aber etwas Erfahrung.

## Was sind Ausdrücke?

Ausdrücke sind kurze Formeln, die einen Wahrheitswert ergeben: Wahr oder Falsch.

**Beispiel:**

```
alter >= 18
```

Dieser Ausdruck ist **wahr**, wenn das Alter 18 oder höher ist, und **falsch**, wenn es darunter liegt.

## Wann Ausdrücke verwenden?

**✅ Verwenden Sie Ausdrücke für:**

* Komplexe Logik mit vielen Bedingungen
* Mathematische Berechnungen
* Mustervergleiche (Regex)
* Funktionen wie `heute()` oder `size()`
* Wenn Sie Erfahrung mit Programmierung haben

**⚠️ Nutzen Sie den visuellen Editor für:**

* Einfache Bedingungen (1-3 Vergleiche)
* Wenn Sie keine Programmiererfahrung haben
* Schnelle, übersichtliche Bedingungen

→ [Visueller Bedingungseditor](/formulare/erweitert/bedingungseditor)

## Die Sprache: CEL

Ausdrücke werden in der **Common Expression Language (CEL)** geschrieben. Das ist eine einfache Ausdruckssprache ähnlich wie JavaScript oder Python.

{% hint style="info" %}
**Keine Sorge:** Sie müssen nicht programmieren können. Die Grundlagen sind schnell gelernt, und wir zeigen Ihnen viele Beispiele.
{% endhint %}

## Grundlegende Syntax

### Vergleiche

| Operator | Bedeutung           | Beispiel      | Ergebnis                              |
| -------- | ------------------- | ------------- | ------------------------------------- |
| `==`     | gleich              | `alter == 18` | Wahr, wenn Alter genau 18 ist         |
| `!=`     | ungleich            | `alter != 18` | Wahr, wenn Alter nicht 18 ist         |
| `>`      | größer als          | `alter > 18`  | Wahr, wenn Alter über 18 ist          |
| `<`      | kleiner als         | `alter < 18`  | Wahr, wenn Alter unter 18 ist         |
| `>=`     | größer oder gleich  | `alter >= 18` | Wahr, wenn Alter 18 oder höher ist    |
| `<=`     | kleiner oder gleich | `alter <= 18` | Wahr, wenn Alter 18 oder darunter ist |

***

### Logische Verknüpfungen

| Operator | Bedeutung                             | Beispiel                                   |
| -------- | ------------------------------------- | ------------------------------------------ |
| `&&`     | UND (beide müssen wahr sein)          | `alter >= 18 && wohnort == 'Berlin'`       |
| `\|\|`   | ODER (mindestens eins muss wahr sein) | `alter < 18 \|\| student == true`          |
| `!`      | NICHT (kehrt den Wert um)             | `!(alter < 18)` (entspricht `alter >= 18`) |

***

### Texte (Strings)

Texte müssen in **einfache Anführungszeichen** gesetzt werden:

```
antragsteller == 'Unternehmen'
```

**Nicht verwenden:** "Unternehmen" (doppelte Anführungszeichen)

***

### Zahlen

Zahlen werden ohne Anführungszeichen geschrieben:

```
alter >= 18
umsatz < 500000
```

***

### Felder referenzieren

Feldnamen werden **klein geschrieben** und **ohne Anführungszeichen**:

```
alter
antragsteller
firmename
```

**Wichtig:** Verwenden Sie den internen Feldnamen, nicht den Titel. Den internen Namen sehen Sie im Konfigurationsmenü unter "Allgemein" → "Name".

## Häufige Ausdrücke und Funktionen

| Anwendungsfall          | Ausdruck                                                              | Erklärung                                   |
| ----------------------- | --------------------------------------------------------------------- | ------------------------------------------- |
| **Einfacher Vergleich** | `antragsteller == 'Unternehmen'`                                      | Feld entspricht einem Wert                  |
| **UND-Verknüpfung**     | `antragsteller == 'Unternehmen' && umsatz < 500000`                   | Beide Bedingungen müssen erfüllt sein       |
| **ODER-Verknüpfung**    | `alter < 18 \|\| student == true`                                     | Mindestens eine Bedingung muss erfüllt sein |
| **Zahlenbereich**       | `alter >= 18 && alter <= 65`                                          | Wert muss in Bereich liegen                 |
| **Feld ausgefüllt**     | `size(telefon) > 0`                                                   | Feld ist nicht leer                         |
| **Text enthält**        | `kommentar.contains('dringend')`                                      | Text enthält bestimmtes Wort                |
| **Text beginnt/endet**  | `postleitzahl.startsWith('10')` oder `email.endsWith('@example.com')` | Text-Muster am Anfang/Ende prüfen           |
| **Regex-Muster**        | `postleitzahl.matches('[0-9]{5}')`                                    | Komplexe Musterprüfung                      |
| **Datum vergleichen**   | `geburtsdatum < today()`                                              | Datum in Vergangenheit                      |

## Datum und Zeit

**Wichtigste Funktionen:**

* `today()` – Heutiges Datum
* `duration('18y')` – Zeitdauer (z.B. '18y' = 18 Jahre, '30d' = 30 Tage)

**Beispiele:**

```
geburtsdatum < today()  // Vergangenheit
veranstaltungsdatum > today()  // Zukunft
startdatum < enddatum  // Datumsvergleich
geburtsdatum < today() - duration('18y')  // Mindestens 18 Jahre alt
```

## Mathematische Operationen

| Operator | Bedeutung      | Beispiel                             |
| -------- | -------------- | ------------------------------------ |
| `+`      | Addition       | `umsatz + gewinn`                    |
| `-`      | Subtraktion    | `umsatz - kosten`                    |
| `*`      | Multiplikation | `umsatz * 0.19` (19% Mehrwertsteuer) |
| `/`      | Division       | `umsatz / 12` (Monatsumsatz)         |
| `%`      | Modulo (Rest)  | `alter % 2 == 0` (gerade Zahl)       |

**Beispiele:**

```
umsatz * 0.19 < 10000
```

(19% des Umsatzes sind weniger als 10.000 Euro)

```
mitarbeiter / bereich > 10
```

(Mehr als 10 Mitarbeiter pro Bereich)

## Reguläre Ausdrücke (Regex)

**Wichtigste Zeichen:** `[0-9]` = Ziffer, `[a-z]` = Buchstabe, `{5}` = genau 5-mal, `+` = eines oder mehr, `\\` = Sonderzeichen maskieren, `|` = oder

**Häufige Beispiele:**

```
postleitzahl.matches('[0-9]{5}')  // 5 Ziffern
telefon.matches('(\\+49|0)[0-9\\s\\-]{9,}')  // Deutsche Telefonnummer
iban.matches('DE[0-9]{20}')  // Deutsche IBAN
email.matches('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}')  // E-Mail
```

→ Ausführliche Regex-Referenz: [Validierungsregeln](/formulare/erweitert/validierung)

## Klammern für Priorität

Verwenden Sie Klammern bei UND/ODER-Kombinationen:

```
alter >= 18 && (wohnort == 'Berlin' || wohnort == 'Hamburg')
```

(Alter 18+ UND Wohnort Berlin oder Hamburg)

```
(antragsteller == 'Unternehmen' && umsatz < 500000) || (antragsteller == 'Freiberufler' && umsatz < 100000)
```

(Kleine Unternehmen ODER kleine Freiberufler)

## Komplexe Beispiele

**Zusatzförderung für kleine Unternehmen:**

```
antragsteller == 'Unternehmen' && mitarbeiter < 50 && umsatz < 10000000
```

**Ermäßigung für bestimmte Gruppen:**

```
status == 'Schüler' || status == 'Student' || alter >= 65
```

**Regionale Förderung mit PLZ-Prüfung:**

```
bundesland == 'Berlin' && postleitzahl.matches('1[0-4][0-9]{3}')
```

(Berlin-Förderung nur für Berliner PLZ 10xxx-14xxx)

## Fehlerbehebung

**"Ungültiger Ausdruck":**

* Verwenden Sie `'` statt `"` für Texte
* Prüfen Sie Feldnamen (exakte Schreibweise!)
* Prüfen Sie Klammern (jede öffnende braucht eine schließende)

**"Feld nicht gefunden":**

* Verwenden Sie den internen Feldnamen (siehe Konfigurationsmenü)
* Das Feld muss vor dem aktuellen Feld im Formular stehen

**Bedingung funktioniert nicht:**

* Testen Sie Teile einzeln
* Fügen Sie Klammern bei UND/ODER hinzu
* Prüfen Sie Werte auf exakte Übereinstimmung

**Regex funktioniert nicht:**

* Sonderzeichen maskieren: `.` → `\\.`, `+` → `\\+`, `-` → `\\-`

## Testen und Best Practices

**Testen Sie immer:** Speichern → Vorschau → verschiedene Szenarien durchspielen (erfüllt, nicht erfüllt, Grenzfälle, leere Felder)

**✅ Empfohlen:** Einfach starten und schrittweise erweitern, Klammern bei UND/ODER setzen, komplexe Logik dokumentieren, internen Feldnamen verwenden

**❌ Vermeiden:** Mehr als 5-6 Bedingungen verketten, doppelte Anführungszeichen (`"text"`), fehlende Klammern, spätes Testen

## Vom visuellen Editor zu Ausdrücken

Sie können jederzeit vom visuellen Editor zu Ausdrücken wechseln:

1. Öffnen Sie die Bedingung im visuellen Editor
2. Klicken Sie auf **"Als Code bearbeiten"**
3. Der Ausdruck wird generiert (z.B. `antragsteller == 'Unternehmen'`)
4. Sie können ihn jetzt manuell erweitern

{% hint style="warning" %}
**Achtung:** Nach dem Wechsel zu Ausdrücken können Sie **nicht mehr** zum visuellen Editor zurück! Überlegen Sie vorher, ob Sie wirklich wechseln möchten.
{% endhint %}

## Weitere Hilfe

**→** [**Bedingungen verstehen**](/formulare/erweitert/bedingungen) – Grundlagen und Anwendungsfälle

**→** [**Visueller Bedingungseditor**](/formulare/erweitert/bedingungseditor) – Bedingungen ohne Programmierung

**→** [**Validierungsregeln**](/formulare/erweitert/validierung) – Ausdrücke für Eingabeprüfungen

**→** [**Feldtypen**](/formulare/erstellen/feldtypen) – Welche Felder können in Ausdrücken verwendet werden?

## Referenz: Alle Operatoren und Funktionen

### Vergleichsoperatoren

| Operator | Bedeutung           |
| -------- | ------------------- |
| `==`     | gleich              |
| `!=`     | ungleich            |
| `>`      | größer als          |
| `<`      | kleiner als         |
| `>=`     | größer oder gleich  |
| `<=`     | kleiner oder gleich |

### Logische Operatoren

| Operator | Bedeutung |
| -------- | --------- |
| `&&`     | UND       |
| `\|\|`   | ODER      |
| `!`      | NICHT     |

### Mathematische Operatoren

| Operator | Bedeutung      |
| -------- | -------------- |
| `+`      | Addition       |
| `-`      | Subtraktion    |
| `*`      | Multiplikation |
| `/`      | Division       |
| `%`      | Modulo (Rest)  |

### String-Funktionen

| Funktion                  | Bedeutung         |
| ------------------------- | ----------------- |
| `size(feld)`              | Länge des Textes  |
| `feld.contains('text')`   | Enthält Text      |
| `feld.startsWith('text')` | Beginnt mit       |
| `feld.endsWith('text')`   | Endet mit         |
| `feld.matches('regex')`   | Entspricht Muster |

### Datum-Funktionen

| Funktion          | Bedeutung                       |
| ----------------- | ------------------------------- |
| `today()`         | Heutiges Datum                  |
| `duration('18y')` | Zeitdauer (Jahre, Monate, Tage) |

### Sonstige

| Funktion | Bedeutung             |
| -------- | --------------------- |
| `null`   | Leerer/Fehlender Wert |
| `''`     | Leerer String         |


# Formulare ausfüllen

Hier finden Sie alles, was Sie zum Ausfüllen von Formularen wissen müssen - von der ersten Anmeldung bis zur erfolgreichen Bestätigung.

## Schnellstart

Das Ausfüllen funktioniert in drei einfachen Schritten:

1. [**Zugang zum Formular**](/formulare/ausfuellen/zugang) - Wie Sie das Formular öffnen und sich anmelden
2. [**Formular ausfüllen**](/formulare/ausfuellen/ausfuellen) - Welche Felder es gibt und wie Sie diese richtig ausfüllen
3. [**Absenden und Bestätigung**](/formulare/ausfuellen/ausfuellen#absenden) - Was beim Absenden passiert und worauf Sie achten sollten

{% hint style="info" %}
Ihre Eingaben werden automatisch gespeichert - Sie können jederzeit eine Pause machen und später weitermachen.
{% endhint %}

## Was Sie wissen sollten

**Technische Voraussetzungen:**

* Aktueller Browser (Chrome, Firefox, Safari oder Edge)
* Stabile Internetverbindung empfohlen

**Pflichtfelder:**

* Mit \* markierte Felder müssen ausgefüllt werden
* Rote Markierungen zeigen Fehler an
* Das Formular kann erst abgesendet werden, wenn alles korrekt ist


# Zugang

So gelangen Sie zu Ihrem Formular und können direkt loslegen.

## Formular öffnen

{% tabs %}
{% tab title="Direkter Zugang" %}
**Verweis öffnen und loslegen**

Sie haben einen Verweis zum Formular erhalten?

1. Verweis anklicken
2. Formular öffnet sich
3. Direkt mit dem Ausfüllen beginnen

Das war's schon - keine Anmeldung notwendig.
{% endtab %}

{% tab title="Mit Anmeldung" %}
**Anmeldung mit Einmalcode**

Manche Formulare sind geschützt und brauchen eine Anmeldung:

1. Verweis öffnen
2. Ihre E-Mail-Adresse eingeben
3. Einmalcode aus der E-Mail kopieren
4. Code eingeben und schon kann's losgehen

Der Code ist nur kurze Zeit gültig - falls er abgelaufen ist, einfach einen neuen anfordern.

{% hint style="info" %}
Eine ausführliche Schritt-für-Schritt-Anleitung zur Anmeldung finden Sie unter [Anmeldung](/readme/anmelden).
{% endhint %}
{% endtab %}
{% endtabs %}

## Was Sie brauchen

Stellen Sie sicher, dass Ihr Browser auf dem neuesten Stand ist. Wir unterstützen Chrome, Firefox, Safari und Edge. JavaScript muss aktiviert sein, damit alles reibungslos funktioniert.

## Probleme beim Zugang?

Sollten Sie nach der Anmeldung kein Formular vorfinden, stellen Sie sicher, dass Sie genau die gleiche E-Mail-Adresse verwenden, auf die Sie die Einladung zum Ausfüllen des Formulars bekommen haben.

Sollten Sie eine andere E-Mail-Adresse zur Anmeldung verwendet haben, navigieren Sie zu [portal.polyteia.com](https://portal.polyteia.com) und melden Sie sich über den runden Knopf in der oberen rechten Ecke ab. Jetzt können Sie sich erneut anmelden mit der richtigen E-Mail-Adresse.


# Ausfüllen

Mit diesen Tipps füllen Sie Formulare schnell und ohne Stress aus.

## Feldtypen

**Textfelder:**

* Geben Sie Namen genau wie im Personalausweis ein
* IBAN hat 22 Stellen bei deutschen Konten
* Telefon: +49 für international, 0 für national

**Auswahlfelder:**

* Auswahllisten: Sie können eine Option auswählen
* Häkchen: Sie können mehrere Optionen auswählen

**Häufige Fehler vermeiden:**

* E-Mail: Achten Sie auf @ und Punkt (z.B. <name@email.de>)
* Dezimalzahlen: In Deutschland mit Komma (1.234,56)
* Datum: Immer TT.MM.JJJJ (z.B. 15.03.2024)

## Finale Prüfung

Bevor Sie absenden, kurz durchschauen:

**Vollständigkeit:**

* Alle Pflichtfelder ausgefüllt?
* Einverständniserklärungen aktiviert?

**Korrektheit:**

* E-Mail-Adresse nochmal prüfen
* Telefonnummer korrekt?

## Absenden

Fast geschafft! Jetzt nur noch:

1. Auf "Absenden" klicken - bitte nur einmal
2. Erfolgsmeldung abwarten
3. Bildschirmfoto der Bestätigung machen


# Dokumentationen erstellen

Verfassen und fügen Sie begleitende Texte als Dokumentation zu Lösungen und Ressourcen hinzu.

Die Dokumentations-Funktion ermöglicht es Eigentümern von Ressourcen und Lösungs-Administratoren, ausführlichen Kontext über die erstellte Ressource oder Lösung zu geben. Das kann zum Beispiel eine detailliertere Beschreibung eines Datensatzes sein oder Sinn, Zweck und Einordnung einer gesamten Lösung.

### **Wo die Dokumentations-Funktion zu finden ist**

* Auf der Seite `Übersicht` eines **Datensatzes**
* Auf der Seite `Übersicht` eines **Formulars**
* Auf der Seite `Übersicht` einer **Lösung**

Klicken Sie auf die kleine Schaltfläche ✏️ neben dem Abschnitt `Dokumentation`, um den Editor zu öffnen.

### **Verwendung des Editors**

Der Editor unterstützt flexible Inhaltsblöcke. Um einen Block hinzuzufügen, bewegen Sie den Mauszeiger über die Zeile, zu der Sie den Block hinzufügen möchten, klicken Sie auf das Symbol ➕, das auf der linken Seite erscheint, oder drücken Sie `/`, um das Blockmenü zu öffnen. Um einen Block zu verschieben, verwenden Sie die gepunktete Schaltfläche neben der Zeile, die neben dem Symbol ➕ erscheint.

**Verfügbare Blöcke**

| Blocktyp            | Beschreibung                                                         |
| ------------------- | -------------------------------------------------------------------- |
| `Text`              | Beginnen Sie mit der Eingabe von einfachem Text                      |
| `Überschrift 1`     | Große Abschnittsüberschrift                                          |
| `Überschrift 2`     | Mittlere Unterüberschrift                                            |
| `Überschrift 3`     | Kleine Unterüberschrift                                              |
| `Tabelle`           | Erstellen Sie eine einfache 2D-Tabelle                               |
| `Akkordeon`         | Zusammenklappbarer Inhalt für lange Abschnitte                       |
| `Aufzählungsliste`  | Ungeordnete Liste von Elementen                                      |
| `Nummerierte Liste` | Geordnete Liste von Schritten oder Punkten                           |
| `Aufgabenliste`     | Fügen Sie Kontrollkästchen zur Aufgabenverfolgung hinzu              |
| `Hinweis`           | Heben Sie einen Tipp oder eine wichtige Notiz hervor                 |
| `Blockzitat`        | Fügen Sie ein Zitat oder eine Bemerkung mit visueller Betonung hinzu |
| `Code`              | Zeigen Sie Ausschnitte von Code oder Befehlen                        |
| `Teiler`            | Trennen Sie Abschnitte visuell                                       |
| `Einbetten`         | Fügen Sie Medien wie Videos, Karten oder Links ein                   |

## **Tipps**

* Sie können mehrere Blöcke kombinieren, um Ihre Notizen zu strukturieren
* Verwenden Sie Überschriften und Trennlinien, um längere Dokumentationen zu organisieren

{% hint style="warning" %}
Ihre Dokumentation wird **nicht** automatisch gespeichert. Bitte speichern Sie diese immer nach dem Aktualisieren mit dem kleinen Speicher-Symbol neben der Überschrift **Dokumentation**.
{% endhint %}


# Fälle

Verwaltung und Bearbeitung von Fällen in der Polyteia-Plattform

Fälle ermöglichen es Ihnen, verwandte Datensätze, Formulare und Dokumente in einem strukturierten Workflow zu verwalten und zu bearbeiten.


# Workflows

Automatisierung von Geschäftsprozessen mit Workflows in der Polyteia-Plattform

Workflows ermöglichen es Ihnen, wiederkehrende Geschäftsprozesse zu automatisieren und zu standardisieren. Definieren Sie Abläufe, Zuständigkeiten und Aktionen für eine effiziente Bearbeitung Ihrer Fälle.




---

[Next Page](/llms-full.txt/1)

