Anzahl der besuchten Tage im CSV-Benutzerlistenbericht abrufen

Hallo,

es gibt die Spalte „Besuchte Tage“, die wir unter folgendem Link sehen:

https://LINK/admin/users/2/USERNAME

Es wäre schön, wenn diese Spalte auch in der CSV-Datei mit der Benutzerliste enthalten wäre, die über folgendes Menü erstellt wird:
Admin-Bereich => Reiter Benutzer => „Exportieren“-Button

3 „Gefällt mir“

Nicht das, was du zu hören hofftest, aber …

Die Datei für den Benutzerexport enthält Felder aus der Tabelle User.
Das Feld days_visited stammt aus der Tabelle User_Stats.

Es wäre eine “Anti-Normalisierung”, dieselben identischen Daten mehr als einmal zu haben (z. B. wenn das Feld in beiden Tabellen enthalten wäre). Soweit ich mich erinnere, sind die Ergebnisse einer JOIN-Abfrage, die zwar die Tabelle User, aber auch andere mit einem Benutzer verknüpfte Tabellen verwendet.

Trotzdem solltest du mit dem Plugin Data Explorer problemlos eine solche JOIN-Abfrage ausführen können, die eine Exportdatei mit diesem Feld generiert.

3 „Gefällt mir“

Nicht ganz präzise: Die CSV-Datei enthält die Spalten likes_given und likes_received, die sich ebenfalls in derselben Tabelle user_stats befinden:

--
-- Name: user_stats; Type: TABLE; Schema: public; Owner: discourse
--

CREATE TABLE public.user_stats (
    user_id integer NOT NULL,
    topics_entered integer DEFAULT 0 NOT NULL,
    time_read integer DEFAULT 0 NOT NULL,
    days_visited integer DEFAULT 0 NOT NULL,
    posts_read_count integer DEFAULT 0 NOT NULL,
    likes_given integer DEFAULT 0 NOT NULL,
    likes_received integer DEFAULT 0 NOT NULL,
    topic_reply_count integer DEFAULT 0 NOT NULL,
    new_since timestamp without time zone NOT NULL,
    read_faq timestamp without time zone,
    first_post_created_at timestamp without time zone,
    post_count integer DEFAULT 0 NOT NULL,
    topic_count integer DEFAULT 0 NOT NULL,
    bounce_score double precision DEFAULT 0 NOT NULL,
    reset_bounce_score_after timestamp without time zone
);

Aus schema.sql

3 „Gefällt mir“

Danke, da hast du recht. Es scheint, als gäbe es mehr, als ich mich erinnern kann, damit zuvor gearbeitet zu haben.

3 „Gefällt mir“

Danke, dass du auf die betreffende Datei hingewiesen hast :smile:

Da topics_entered in der Funktion get_base_user_array genauso wie andere Spalten existiert… scheint das ein Fehler zu sein?

1 „Gefällt mir“

Es gibt Bereiche, die mich interessiert haben, die jedoch nicht im Export enthalten waren (vor etwa ±1–2 Jahren). Ich ging davon aus, dass dies beabsichtigt und kein Fehler war, habe aber nicht weiter nachgeforscht. Die Verfügbarkeit von Exporten wurde auf Administratoren beschränkt, und da ich keine echten Daten mehr zur Verfügung hatte, wurde es schwieriger, mein Interesse schwand, und einige reale Verpflichtungen beendeten diesen Weg.

Ohne genauer hinzusehen, würde ich wild raten, dass, falls dies nicht im Kern geändert wurde, ein Plugin problemlos Werte aus den Tabellen abrufen und sie zum CSV-Export hinzufügen könnte. Allerdings halte ich das Data Explorer-Plugin für einen guten Kandidaten für einen benutzerdefinierten Export.

Mein aktuelles Interesse hat sich größtenteils vom Hacken von nur für Administratoren zugänglichen Kerndateien hin zur Erstellung maßgeschneiderter Userscripts verschoben.

Vielleicht kann der aktuelle Export bei ausreichendem Konsens geändert werden?

3 „Gefällt mir“

Ich habe die dafür benötigte Abfrage geschrieben:

SELECT
    u.username_lower AS "username",
    stats.days_visited
FROM users u
LEFT JOIN user_stats stats ON stats.user_id = u.id
ORDER BY u.id

Solche Daten sind jedoch tatsächlich nützlich, um im Benutzerlistenbericht einige Einblicke zu gewinnen.

Danke @Mittineague :rose:

5 „Gefällt mir“