Expand my Community achievements bar.

SOLVED

Document Version Report: Can I filter to show Approvers of the ACTIVE Stage Only

Avatar

Level 2

I have a Document Version report, which shows the user the proofs awaiting their decision.

The "Approvers and Dates" column lists the name of the approver, and if a decision has been made it shows the date and the decision.

However, I'm seeing approvers that are in a latter stage that is not active yet, which I don't want to see.

 

Is it possible to only show the approvers in the active stage? 

In the screenshot-

  • Ryan is an approver in the active stage
  • Calvin is an approver in a stage that is not active yet; so I do not want to see his name listed

Approvers.png

 

The report filters:

EXISTS:a:$$OBJCODE=PRFAPL
EXISTS:a:approverID=$$USER.ID
EXISTS:a:documentVersionID=FIELD:ID
EXISTS:a:isAwaitingDecision=true
EXISTS:a:isAwaitingDecision_Mod=eq
EXISTS:b:$$OBJCODE=DOCU
EXISTS:b:ID=FIELD:documentID
EXISTS:b:project:status=CUR	PLN
EXISTS:b:project:status_Mod=in
isCurrentVersion=true
isCurrentVersion_Mod=eq
proofApprovalStatus:proofApprovalStatusLabel=approved
proofApprovalStatus:proofApprovalStatusLabel_Mod=cine
proofedByUserID_Mod=notblank

 

The text mode for column "Approvers and Dates"

displayname=Approvers and Dates
listdelimiter=<p>
listmethod=nested(proofApprovals).lists
type=iterate
usewidths=true
valueexpression=IF(!ISBLANK({decisionDate}),CONCAT("• ",{approver}.{name}," - ",{decisionDate},", ",{approverDecision}),CONCAT("• ",{approver}.{name}))
valueformat=HTML

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 4

Here is a rough version that might work.  You'll probably want to fine-tune the CONCAT parts to show the info you want & in the order you like:

displayname=Approver and Stage
listdelimiter=<p>
listmethod=nested(proofApprovals).lists
type=iterate
usewidths=true
valueexpression=IF({isAwaitingDecision}="true",CONCAT("Pending • ",{approver}.{name}," : ",{approverStage}),IF(!ISBLANK({decisionDate}),CONCAT("Approved • ",{approver}.{name}," - ",{decisionDate},", ",{approverDecision}),""))
valueformat=HTML

 

Unfortunately, I don't know how to sort the names in different orders, so it might look a little messy if you have a lot of stages/approvers.

View solution in original post

4 Replies

Avatar

Level 4

Hi @CatherineKe ,

We have a similar report, and this is the code we use to get only the approvers in the active stage.

displayname=Approver and Stage
listdelimiter=<p>
listmethod=nested(proofApprovals).lists
type=iterate
usewidths=true
valueexpression=IF({isAwaitingDecision}="true",CONCAT({approver}.{name}," : ",{approverStage}))
valueformat=HTML

This should show you only the approvers who need to make a decision in the active stage of the proof (along with the Stage name if you want it; otherwise, you can just show {approver}.{name}).   Hope this helps! 

Avatar

Level 2

Thanks, @AmyReilly! That did whittle down the results to show approvers in the active stage.

Do you know if it's possible to combine your valueexpression and mine?

  • Use your functionality to filter for only the approvers in active stage 
valueexpression=IF({isAwaitingDecision}="true",CONCAT({approver}.{name}," : ",{approverStage}))​
  • Use my functionality to show if the other approvers have made a decision yet, and if so, the date and decision made
valueexpression=IF(!ISBLANK({decisionDate}),CONCAT("• ",{approver}.{name}," - ",{decisionDate},", ",{approverDecision}),CONCAT("• ",{approver}.{name}))

 

Avatar

Correct answer by
Level 4

Here is a rough version that might work.  You'll probably want to fine-tune the CONCAT parts to show the info you want & in the order you like:

displayname=Approver and Stage
listdelimiter=<p>
listmethod=nested(proofApprovals).lists
type=iterate
usewidths=true
valueexpression=IF({isAwaitingDecision}="true",CONCAT("Pending • ",{approver}.{name}," : ",{approverStage}),IF(!ISBLANK({decisionDate}),CONCAT("Approved • ",{approver}.{name}," - ",{decisionDate},", ",{approverDecision}),""))
valueformat=HTML

 

Unfortunately, I don't know how to sort the names in different orders, so it might look a little messy if you have a lot of stages/approvers.

Avatar

Level 2

I ended up using this:

valueexpression=IF({isAwaitingDecision}="true",CONCAT("• ",{approver}.{name}),IF(!ISBLANK({decisionDate}),CONCAT("• ",{approver}.{name}," - ",{decisionDate},", ",{approverDecision}),""))

 

Thanks so much for your help, @AmyReilly. I've got a usable report!