Workfront reporting isn't really designed for the kind of report you have in your sample screenshot.
I had a similar desire where I needed to display all tasks with the words "rough" and "cut" but NOT the word "client". I needed the task, due date and primary assignee. I solved it with this"
displayname=Rough Cut Due
listdelimiter=<hr>
listmethod=nested(tasks).lists
styledef.case.0.comparison.icon=false
styledef.case.0.comparison.leftmethod=ID
styledef.case.0.comparison.lefttext=ID
styledef.case.0.comparison.operator=notblank
styledef.case.0.comparison.operatortype=string
styledef.case.0.comparison.righttext=
styledef.case.0.comparison.trueproperty.0.name=bgcolor
styledef.case.0.comparison.trueproperty.0.value=E8F4FA
styledef.case.0.comparison.truetext=
textmode=true
type=iterate
valueexpression=IF(CONTAINS("rough", LOWER({name})),IF(CONTAINS("review", LOWER({name})),IF(!CONTAINS("client", LOWER({name})),CONCAT({name}," | ",{assignedTo}.{name}," - Due: ",{plannedCompletionDate}),""),""),"")
valueformat=HTML
The display looks like this:
The "styledef" lines are just to colour it blue. The expression checks if {name} contains the substrings "rough" and "review", and does not contain "client". If all these conditions are satisfied, it produces a formatted string that includes {name}, the name of the person assigned to the task, and the planned completion date. If any condition is not met, it returns an empty string.
If you change some of the "contains" strings, you can make it work for you. A simpler expression is the one next to it "Client Drafts Due". If the task name contains "rough cut client review" it displays the task name, assignee and due date.
valueexpression=IF(CONTAINS("rough cut client review", LOWER({name})), CONCAT({name}," | ",{assignedTo}.{name}," - Due: ",{plannedCompletionDate},""))
valueformat=HTML
Task Count is completely separate field that could probably be manipulated a bit as well but I have not seen the need, at least not for me, to use that.
If you prompt chatGPT with "please explain" and paste this code in after that, it will explain each line in much greater detail.
TIP: if this solved your problem, I invite you to consider marking it as a Correct Answer to help others who might also find it of use.
If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/mysocalledideas