You have a join table; it has all the Tasks and their Assignments, as well as a field for Completed. I would also create a calculation field for "not completed" (tested vs. the Completed field). It could just produce a 1 (or it could produce one of the IDs, if needed).
Your "dashboard" table (could be most any table) could have a "constant" calculation, number result, = 1
If you point that to the Assignment | Tasks join table, to the Not_Completed calculation field (I'd name it "z_cCompleted_NOT", but that's just me :-), it would hit all records not completed.
If you created another little relationship, from that join table, to another instance of the Assignments table (which has a unique record for each assignment), using this, based only on Assignment ID, it would target only Assignment records which had at least one Task not completed in the join table.* This relationship works like a funnel; an Assignment ID might have many "not completed" hits in the join table, but the relationship to Assignments would funnel it down to 1.
You could show this in a portal on a Dashboard layout. There are other ways to do this I imagine, but this seems fairly direct.
* Be sure to name this new relationship in a way that shows what its path is, or function is (I use path, ie., structural naming, alphabetical when possible).
Awesome thanks a bunch, i'm gonna describe the model (just so I get it straight)
In the jointable, there are three columns:
AssignmentID TaskID Completed
Completed is Boolean (1/0)
Everytime a new assignment is created (when a customer calls) a line is created in the jointable with the assignments ID and each task ID, every completed-task is 0.
Whenever a task is checked-of the completed task gets set to 1.