これは私が初めてプラットフォームのテストを始めた頃に話題にした記憶があります。特定のトピックを購読(視聴)している人数を知る方法はあるでしょうか?
最近、この情報を求められることが増えています。
これは私が初めてプラットフォームのテストを始めた頃に話題にした記憶があります。特定のトピックを購読(視聴)している人数を知る方法はあるでしょうか?
最近、この情報を求められることが増えています。
これは、一般ユーザーに可視化される形で追加されることはまずないでしょう。
ユーザーがフォーラムをどのように利用するかを選択する自由は重要です。特定のトピックへの「ウォッチ」を特別扱いし、その数を全員に可視化することは、望ましくない行動パターンを生む可能性が高いです(「数字が増える病」は非常に強力です)。
もしリクエストがモデレーターや従業員からのものであるなら、Data Explorer クエリでこのデータを取得し、それをモデレーターや従業員が実行可能なものとしてマークできるはずです。
非管理者には絶対にこれを望みません。DE で試してみます。
この機能は、Discourse のレポート機能に追加されたことはありますか?
これに関して、何かアップデートはありましたか?
トムさん、
これはデフォルトのDEレポートとして追加されていません。しかし、この情報を取り出すための基本的なDEクエリを提供するトピックを見つけました。参考になるかもしれません。
マークさん
ありがとうございます。この情報から、トピックレベルではこの機能を実行できないことがわかりました。これは正しいですか?
トム、
いいえ、次のように「topic」を「category」に置き換えることで、トピックレベルでその情報を取得できます。
SELECT
COUNT(topic_id)
FROM
topic_users
WHERE
notification_level = 3
これも、この場合はすべてのトピックからのウォッチャーの総数を返す非常に基本的なクエリです。特定のトピックを指定したい場合は、WHERE句に追加できます。たとえば、次のようにします。
WHERE
notification_level = 3
AND topic_id = 29
素晴らしいです!
ありがとうございます!
これは非常に役立ちます。MarkDoerrさん、ありがとうございます。クエリを、4つの通知レベルすべてを一度に報告するように変更し、必要に応じてtopic_idの配列を受け取るようにしました。
完全なグリッド出力テーブルはきれいではありませんが、必要なすべての情報が含まれています。
編集:投稿した直後に、Discourseがこの問題を解決する他の6つのリンクを親切に表示してくれました!クエリを続行します!
SELECT
topic_id,
notification_level,
COUNT(CASE WHEN notification_level = 0 THEN topic_id END) AS Muted_0,
COUNT(CASE WHEN notification_level = 1 THEN topic_id END) AS Normal_1,
COUNT(CASE WHEN notification_level = 2 THEN topic_id END) AS Tracking_2,
COUNT(CASE WHEN notification_level = 3 THEN topic_id END) AS Watching_3
FROM
topic_users
WHERE
topic_id IN (9831, 9572, 9424, 7567) -- ここにtopic_idを追加してください
GROUP BY
topic_id, notification_level