While we have to be happy the postfeedback tool works again, we don't have to expect new features to it in the next 6 to 8 weeks. To overcome this period I've created this SEDE query that creates the overview, overrated and underrated tabs in the tool with a filter on questions.
It is three queries in one so you have to cycle through the Result sets (click on the 1/3). First is overview, second is underrated and third is overrated. The query itself is nothing more then using the data that is available in the postfeedback table. Joining on postid with the posts table gives the posttypeid where a 1 indicates a question.
-- postfeedback overview
select case when p.posttypeid = 1 then 'Question' else 'Answer' end [Question/Answer]
, case when isanonymous = 1 then 'Anonymous' else 'Registered' end [Type]
, count(*) total
, sum(case when votetypeid = 2 then 1 else 0 end) upvotes
, sum(case when votetypeid = 3 then 1 else 0 end) downvotes
from postfeedback pf
inner join posts p on p.id = pf.postid
group by p.posttypeid,isanonymous
order by posttypeid, isanonymous
-- overrated questions
select postid as [Post Link]
, p.creationdate
, max(pf.creationdate) [last feedback]
, sum(case when votetypeid = 2 then 1 else 0 end) [up]
, sum(case when votetypeid = 3 then -1 else 0 end) [down]
, sum(case when votetypeid = 2 then 1 else 0 end)
+ sum(case when votetypeid = 3 then -1 else 0 end) [score]
from postfeedback pf
inner join posts p on p.id = pf.postid
where
-- negative feedback
pf.postid in (
select distinct postid
from postfeedback
where votetypeid = 3
)
and
-- not voted for a year
pf.postid not in (
select postid
from votes
where creationdate > dateadd(yy, -1, getdate())
and votetypeid in (2,3)
)
and p.posttypeid = 1 -- Q
group by postid, p.creationdate
order by sum(case when votetypeid = 2 then 1 else 0 end)
+ sum(case when votetypeid = 3 then -1 else 0 end)
-- underrated questions
select postid as [Post Link]
, p.creationdate
, max(pf.creationdate) [last feedback]
, sum(case when votetypeid = 2 then 1 else 0 end) [up]
, sum(case when votetypeid = 3 then -1 else 0 end) [down]
, sum(case when votetypeid = 2 then 1 else 0 end)
+ sum(case when votetypeid = 3 then -1 else 0 end) [score]
from postfeedback pf
inner join posts p on p.id = pf.postid
where
-- positive feedback
pf.postid in (
select distinct postid
from postfeedback
where votetypeid = 2
)
and
-- not voted for a year
pf.postid not in (
select postid
from votes
where creationdate > dateadd(yy, -1, getdate())
and votetypeid in (2,3)
)
and p.posttypeid = 1 -- Q
group by postid, p.creationdate
order by sum(case when votetypeid = 2 then 1 else 0 end)
+ sum(case when votetypeid = 3 then -1 else 0 end) desc
When run today this is what your result on MSE will look like:
Keep in mind SEDE is only update once a week, on Sunday morning. Do give the awesome tutorial a try and say "Hi!" in chat