Data Explorer Tabellenergebnisse formatieren

In Discourse, Sie können das Erscheinungsbild Ihrer Data Explorer-Abfrageergebnisse verbessern.

Die Formatierung von Tabellenergebnissen im Data Explorer kann durch die Verwendung spezieller Syntax in Ihren SQL-Abfragen erfolgen, mit der Sie Ihre Daten direkt in der Discourse-Oberfläche intuitiver und visuell ansprechender darstellen können.

Formatierte Tabellenergebnisse

Hier ist eine kurze Übersicht über die Syntax und die Datenfelder, die Sie zur Formatierung Ihrer Abfrageergebnisse verwenden können:

SELECT
-- Um ein Zitat, Avatar/Benutzernamen und einen Link zum Beitrag anzuzeigen, verwenden Sie:
id AS post_id,

-- Um den Thema-Titel, die Anzahl der Beiträge und einen Link zum Thema anzuzeigen, verwenden Sie:
topic_id,

-- Um die Zeit in einem relativen Format anzuzeigen (für das vollständige Datum darüberfahren), verwenden Sie:
updated_at AS reltime$updated_at,

-- Um einen Benutzer-Avatar/Benutzernamen und einen Link zur Aktivitätsseite anzuzeigen, verwenden Sie:
user_id,

-- Um einen Gruppennamen und einen Link zur Gruppe anzuzeigen, verwenden Sie:
(SELECT id FROM groups WHERE id = 12) AS group_id,

-- Um ein Kategorie-Badge, einen Namen und einen Link zur Kategorie anzuzeigen, verwenden Sie:
(SELECT id FROM categories WHERE id = 22) AS category_id,

-- Um ein Badge-Symbol, einen Namen und einen Link zum Badge anzuzeigen, verwenden Sie:
(SELECT id FROM badges WHERE id = 2) AS badge_id,

-- Um die spezielle Formatierung zu unterdrücken und nur Text zu verwenden, verwenden Sie:
topic_id AS text$topic_id_text,

-- Um einen Wert als HTML zu rendern, verwenden Sie:
'<h2>hello</h2>' AS html$html,

-- Um eine Spalte als URL zu behandeln (wenn sie `xyz_url` heißt) und den Link im Format `name,https://example.com` zu benennen, verwenden Sie:
'Meta,https://meta.discourse.org' AS somecolumnname_url

FROM posts
WHERE topic_id = 32566
LIMIT 1

Nachfolgend finden Sie ein Beispiel dafür, wie Ihre Abfrageergebnisse bei der Formatierung mit der obigen Syntax aussehen könnten:

Einzelne Beispiele

Lassen Sie uns einige dieser Funktionen genauer betrachten:

Beitrag- und Thema-Links

Sie können eine post_id als Zitat, Benutzer-Avatar/Benutzernamen und Link zum Beitrag mit AS post_id anzeigen. Sie können auch eine topic_id als Thema-Titel, Anzahl der Beiträge und Link zum Thema mit AS topic_id anzeigen.

Beispiele:

SELECT
    p.id AS post_id
FROM
    posts p

SELECT
    t.id AS topic_id
FROM
    topics t

Relative Zeit

Die Anweisung AS reltime$updated_at zeigt einen Zeitstempel im relativen Format an. Wenn Sie mit der Maus über einen Zeitstempel in diesem Format fahren, sehen Sie auch das vollständige Datum.

Beispiel:

SELECT
    id,
    updated_at AS reltime$updated_at
FROM
    posts
ORDER BY updated_at DESC

Benutzer-, Gruppen-, Kategorie- und Badge-Links

Sie können Benutzer-Avatare/Benutzernamen, Gruppennamen, Kategorienamen und Badge-Symbole/-Namen anzeigen, die alle mit ihren jeweiligen Seiten verknüpft sind, indem Sie AS user_id, AS group_id, AS category_id und AS badge_id verwenden.

Beispiele:

SELECT
    u.id AS user_id
FROM
    users u

SELECT
    g.id AS group_id
FROM
    groups g

SELECT
    c.id AS category_id
FROM
    categories c

SELECT
    b.id AS badge_id
FROM
    badges b

Text- und HTML-Rendering

Sie können HTML-Ergebnisse als gerendertes HTML anzeigen, indem Sie AS html$html verwenden. Sie können auch die spezielle Formatierung unterdrücken, um nur Text zu verwenden, indem Sie AS text$column_name verwenden.

Beispiel:

SELECT
    topic_id,
    cooked AS html$html,
    topic_id AS text$topic_id_text
FROM
    posts
GROUP BY topic_id, cooked

URL-Rendering

Wenn Sie eine Spalte als xyz_url benennen, wird sie als URL behandelt. Sie können einen URL-Link auch im Format name,https://example.com benennen.

Beispiel:

SELECT
    u.username,
    'https://example_site.com/u/' || u.username || '/summary' AS profile_url,
    'Profile Page,https://example_site.com/u/' || u.username || '/summary' AS profile_page_url
FROM
    users u
WHERE u.username LIKE 'anon%'

Automatische Formatierung

Es gibt auch bestimmte SQL-Felder im Data Explorer, die automatisch formatiert werden. Dazu gehören:

Links

Jedes Feld, das eine URL enthält, wird automatisch als klickbarer Link formatiert.

Beispiel:

SELECT
    id,
    remote_url
FROM remote_themes

IDs

IDs (wie Beitrags-IDs, Thema-IDs, Benutzer-IDs usw.) werden oft automatisch mit ihren jeweiligen Entitäten verknüpft, wenn sie in fremden Tabellen referenziert werden.

Beispiel:

SELECT
    user_id
FROM
    topics

Weitere Themen in dieser Reihe

11 „Gefällt mir“