過去の課題を検索

こんにちは。

フォーラムには、スレッドをグループに割り当てるワークフローがあります。そのグループが特定のスレッドに対してできる限りのことを終えたら、そのスレッドを自分たちから解除します。これにより、担当中のスレッドのリストからそれらのスレッドが除外されます。

また、レポート目的(「どのようなトピックが通常____グループに割り当てられるか」)のために、フォーラムでグループ割り当てのインスタンスを検索できるようにしたいと考えています。

私が知らない検索構文があるのでしょうか、それともそのようなレポートを取得する方法についてのアイデアはありますか?スレッドを閲覧すると、グループ割り当て(過去および現在)に関するすべての情報が表示されるため、単に構文を見逃しているだけだと考えています。

「いいね!」 1

Data Explorer プラグインを使用して、このデータを抽出できます。

以下のクエリがお役に立てば幸いです。

1. 現在グループに割り当てられているすべてのトピックを一覧表示します
SELECT 
    g.name group_name,
    a.topic_id,
    a.assigned_by_user_id,
    a.created_at
FROM assignments a
INNER JOIN groups g ON g.id = a.assigned_to_id
WHERE assigned_to_type = 'Group'
ORDER BY g.name, created_at DESC
2. トピックがグループに割り当てられた履歴を一覧表示します
SELECT 
    pcf.value AS group,
    p.topic_id,
    p.user_id AS "assigned_by_user_id",
    pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE action_code = 'assigned_group'
    AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC
「いいね!」 4

素晴らしい @michebs – 助けてくれてありがとう!

今日中に似たようなクエリをなんとか作成し始めていたのですが(post_custom_fields テーブルを見つけたときは驚きました)、あなたのクエリの方が最終的にははるかにきれいです。

トピックが直接再割り当てされた場合(解除してから割り当てられたのではなく)に一部のエントリが欠落していることに気づいたので、これを考慮するために WHERE 条件を少し変更しました。最終的に以下のようになりました。

SELECT 
    pcf.value AS group,
    p.topic_id,
    p.user_id AS "assigned_by_user_id",
    pcf.created_at::date
FROM posts p
INNER JOIN post_custom_fields pcf ON pcf.post_id = p.id
WHERE (action_code = 'assigned_group' OR action_code = 'reassigned_group') 
    AND pcf.name = 'action_code_who'
ORDER BY pcf.value, pcf.created_at DESC

改めて、ご協力ありがとうございました。:heart:

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.