Formatage des résultats du tableau Data Explorer

En Discourse, vous avez la possibilité d’améliorer l’apparence des résultats de vos requêtes Data Explorer.

La mise en forme des résultats de tableaux dans le Data Explorer peut être effectuée en utilisant une syntaxe spéciale dans vos requêtes SQL, ce qui vous permet d’afficher vos données de manière plus intuitive et visuellement attrayante, directement dans l’interface Discourse.

Résultats de tableaux formatés

Voici un aperçu rapide de la syntaxe et des champs de données que vous pouvez utiliser pour formater les résultats de vos requêtes :

SELECT
-- Pour afficher une citation, un avatar/nom d'utilisateur et un lien vers le message, utilisez :
id AS post_id,

-- Pour afficher le titre du sujet, le nombre de messages et un lien vers le sujet, utilisez :
topic_id,

-- Pour afficher l'heure dans un format relatif (survoler pour la date complète), utilisez :
updated_at as reltime$updated_at,

-- Pour afficher un avatar/nom d'utilisateur et un lien vers la page d'activité, utilisez :
user_id,

-- Pour afficher un nom de groupe et un lien vers le groupe, utilisez :
(SELECT id FROM groups WHERE id = 12) AS group_id,

-- Pour afficher un badge de catégorie, un nom et un lien vers la catégorie, utilisez :
(SELECT id FROM categories WHERE id = 22) AS category_id,

-- Pour afficher une icône de badge, un nom et un lien vers le badge, utilisez :
(SELECT id FROM badges WHERE id = 2) AS badge_id,

-- Pour supprimer le formatage spécial et n'utiliser que du texte, utilisez :
topic_id AS text$topic_id_text,

-- Pour rendre une valeur en HTML, utilisez :
'<h2>hello</h2>' AS html$html,

-- Pour traiter une colonne comme une URL (si nommée `xyz_url`), et nommer le lien en utilisant le format `nom,https://example.com`, utilisez :
'Meta,https://meta.discourse.org' AS somecolumnname_url

FROM posts
WHERE topic_id = 32566
LIMIT 1

Voici un exemple de l’apparence des résultats de votre requête lorsqu’ils sont formatés à l’aide de la syntaxe ci-dessus :

Exemples individuels

Discutons plus en détail de certaines de ces fonctionnalités :

Liens vers les messages et les sujets

Vous pouvez afficher un post_id comme une citation, un avatar/nom d’utilisateur et un lien vers le message en utilisant AS post_id. Vous pouvez également afficher un topic_id comme un titre de sujet, le nombre de messages et un lien vers le sujet en utilisant AS topic_id.

Exemples :

SELECT
    p.id AS post_id
FROM
    posts p

SELECT
    t.id AS topic_id
FROM
    topics t

Heure relative

L’instruction AS reltime$updated_at affichera un horodatage dans un format relatif. Si vous survolez un horodatage affiché dans ce format, vous verrez également la date complète.

Exemple :

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

Liens vers les utilisateurs, groupes, catégories et badges

Vous pouvez afficher des avatars/noms d’utilisateur, des noms de groupes, des noms de catégories et des icônes/noms de badges, tous liés à leurs pages respectives en utilisant AS user_id, AS group_id, AS category_id et AS badge_id.

Exemples :

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

Rendu de texte et HTML

Vous pouvez afficher les résultats HTML en tant que HTML rendu en utilisant AS html$html. Vous pouvez également supprimer le formatage spécial pour n’utiliser que du texte en utilisant AS text$column_name

Exemple :

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

Rendu d’URL

Si vous nommez une colonne xyz_url, elle sera traitée comme une URL. Vous pouvez également nommer un lien URL en utilisant le format nom,https://example.com.

Exemple :

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%'

Formatage automatique

Il existe également certains champs SQL dans le Data Explorer qui sont automatiquement formatés. Ceux-ci incluent :

Liens

Tout champ contenant une URL sera automatiquement formaté comme un lien cliquable.

Exemple :

SELECT
    id,
    remote_url
FROM remote_themes

IDs

Les IDs (comme les IDs de message, les IDs de sujet, les IDs d’utilisateur, etc.) sont souvent automatiquement liés à leurs entités respectives lorsqu’ils sont référencés dans des tables étrangères.

Exemple :

SELECT
    user_id
FROM
    topics

Autres sujets de cette série

11 « J'aime »