Expand my Community achievements bar.

SOLVED

Help with Shared Columns in Assignment Report

Avatar

Community Advisor

Need some help!
I have an assignment report with a column of issue assignments and a column with task assignments. For the life of me, I cannot share/merge these columns. I've tried adding 'sharecol=true' to the column on the left (the 2 columns are adjacent), and then have also tried adding blank column in between the 2 and adding below and then adding 'sharecol=true' to the left column. Neither approach is working. Ideas? I want the column to just pull who is assigned on the issue or task in one column. What am I missing?

value=<br>
valueformat=HTML
width=1
sharecol=true

  

If this helped you, please mark correct to help others : )

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

If you only need/want to display all User assignments (ignore role-only and team assignments) of the parent task or issue in an assignment report: 

1. add below text mode to a new column in your assignment report: 

displayname=All Assignments
listdelimiter=<div>
listmethod=nested(task.assignments).lists
textmode=true
type=iterate
valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
valueformat=HTML


2. add below text mode to a separate new column just to the right of the above column:

listdelimiter=<div>
listmethod=nested(opTask.assignments).lists
textmode=true
type=iterate
valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
valueformat=HTML


3. Save your report. 
4. Open/edit report
5. Add the below line of text to the (left-side) column from above:

sharecol=true

6. Save, you're all set. 

Doing the above should result in the below text mode in a single column, but the column numbers (4 and 5 below) are likely to be different based on how many columns are in your report: 

column.4.displayname=All Assignments
column.4.listdelimiter=<div>
column.4.listmethod=nested(task.assignments).lists
column.4.sharecol=true
column.4.textmode=true
column.4.type=iterate
column.4.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.4.valueformat=HTML
column.5.displayname=All Assignments
column.5.listdelimiter=<div>
column.5.listmethod=nested(opTask.assignments).lists
column.5.textmode=true
column.5.type=iterate
column.5.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.5.valueformat=HTML





If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/4rbpr7hf

View solution in original post

9 Replies

Avatar

Community Advisor

I have an assignment report with a shared column for Name. The same priciples should apply. Here's the code:

column.2.displayname=Task/Issue
column.2.sharecol=true
column.2.textmode=true
column.2.value=
column.2.valueformat=HTML
column.3.displayname=
column.3.linkedname=task
column.3.namekey=view.relatedcolumn
column.3.namekeyargkey.0=task
column.3.namekeyargkey.1=name
column.3.querysort=task:name
column.3.sharecol=true
column.3.textmode=true
column.3.valuefield=task:name
column.3.valueformat=HTML
column.4.sharecol=true
column.4.textmode=true
column.4.value=
column.4.valueformat=HTML
column.5.displayname=
column.5.linkedname=opTask
column.5.namekey=view.relatedcolumn
column.5.namekeyargkey.0=opTask
column.5.namekeyargkey.1=name
column.5.querysort=opTask:name
column.5.textmode=true
column.5.valuefield=opTask:name
column.5.valueformat=HTML

Here's the code for another shared column on the same report for project, Parent Task, owner and assignee. I'm sure you can get what you need from these:

column.6.displayname=Project/Parent Task/Owner
column.6.linkedname=project
column.6.namekey=view.relatedcolumn
column.6.namekeyargkey.0=project
column.6.namekeyargkey.1=name
column.6.querysort=project:name
column.6.sharecol=true
column.6.textmode=true
column.6.valuefield=project:name
column.6.valueformat=HTML
column.7.sharecol=true
column.7.textmode=true
column.7.value=<br><font color=tan><small><i>Parent Task: </i></small></font><small><bold><font color=darkseagreen>
column.7.valueformat=HTML
column.8.displayname=
column.8.linkedname=direct
column.8.namekey=view.relatedcolumn
column.8.namekeyargkey.0=task
column.8.namekeyargkey.1=backlogParent
column.8.sharecol=true
column.8.textmode=true
column.8.valuefield=task:backlogParent
column.8.valueformat=HTML
column.9.displayname=Owner
column.9.sharecol=true
column.9.textmode=true
column.9.value=<hr><font color=tan><i>Owner: </i></font><bold><font color=darkseagreen>
column.9.valueformat=HTML
column.10.displayname=Job Owner
column.10.linkedname=project
column.10.namekey=view.relatedcolumn
column.10.namekeyargkey.0=project
column.10.namekeyargkey.1=Owner Name
column.10.querysort=project:owner:name
column.10.sharecol=true
column.10.textmode=true
column.10.usewidths=true
column.10.valuefield=project:owner:name
column.10.valueformat=HTML
column.10.width=50
column.11.displayname=Owner
column.11.sharecol=true
column.11.textmode=true
column.11.value=<font color=tan><i> | Assignee: </i></font><bold><font color=darkseagreen>
column.11.valueformat=HTML
column.12.displayname=
column.12.linkedname=assignedTo
column.12.namekey=view.relatedcolumn
column.12.namekeyargkey.0=assignedTo
column.12.namekeyargkey.1=name
column.12.querysort=assignedTo:name
column.12.sortOrder=1
column.12.sortType=asc
column.12.textmode=true
column.12.valuefield=assignedTo:name
column.12.valueformat=HTML

Avatar

Community Advisor

Hi there! Appreciate this, but not exactly what I'm after. I'm not trying to share task/issue name columns, I'm trying to share task/issue assignment users columns. And the 2nd snippet of text mode looks to be only pulling one object's assigned to, I need both objects and assignment users/all those assigned, not just assigned to/primary assignment. 

If this helped you, please mark correct to help others : )

Avatar

Community Advisor

I am presuming that your goal is to pull in all assignees of the task or request from which the assignment was created, and not just the assignment assignee? (e.g. if three users are assigned to one task, that generates three assignment records with one assignee each) The assignment-specific assignee can be displayed without sharing columns, using Assigned To >> Name in the view builder. 

I suspect you are trying to share Task >> Assignments and Request >> Assignments into a single column, so that every row in the assignment report has a value displaying all assignees of the parent of the assignment - whether it's a task or request - in one column instead of two.

The reason that doesn't work with the typical sharecol=true is because some fields can't be shared in columns. Whenever you see a line that begins with tile.name= that is an indicator that the column can't be shared. These columns have extra functionality embedded in the view that prohibits them from being shared.

To replicate them as closely as possible into shareable columns, you need to combine eight! columns. You can get by with fewer depending on the workflow. (E.g., if a team will never be assigned to these objects, you can probably skip the columns that bring in team assignment.)

column 0: displays a collection of user assignments by jumping up to the task, then pulling all assignments assigned to a user. 
column 1: displays a collection of user assignments by jumping up to the request, then pulling all assignments assigned to a user.
column 2: injects a line break after the last user from column 0 or 1.
column 3: displays a collection of role-only assignments by jumping up to the task, then pulling all role-only assignments.
column 4: displays a collection of role-only assignments by jumping up to the request, then pulling all role-only assignments.
column 5: injects a line break after the last role from column 3 or 4.
column 6: displays the team assignment by referencing the task team assignment.
column 7: displays the team assignment by referencing the request team assignment. 

For any row in the report, results will only be returned by columns 0, 3, and 6 or 1, 4, and 7.

here is the full text mode: 

 

column.0.displayname=All Assignments
column.0.listdelimiter=<div>
column.0.listmethod=nested(task.assignments).lists
column.0.sharecol=true
column.0.textmode=true
column.0.type=iterate
column.0.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.0.valueformat=HTML
column.1.listdelimiter=<div>
column.1.listmethod=nested(opTask.assignments).lists
column.1.sharecol=true
column.1.textmode=true
column.1.type=iterate
column.1.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.1.valueformat=HTML
column.2.sharecol=true
column.2.textmode=true
column.2.value=<p>
column.2.valueformat=HTML
column.3.listdelimiter=<div>
column.3.listmethod=nested(task.assignments).lists
column.3.sharecol=true
column.3.textmode=true
column.3.type=iterate
column.3.valueexpression=CONCAT(IF(ISBLANK({assignedToID}),{role}.{name},""))
column.3.valueformat=HTML
column.4.listdelimiter=<div>
column.4.listmethod=nested(opTask.assignments).lists
column.4.sharecol=true
column.4.textmode=true
column.4.type=iterate
column.4.valueexpression=CONCAT(IF(ISBLANK({assignedToID}),{role}.{name},""))
column.4.valueformat=HTML
column.5.sharecol=true
column.5.textmode=true
column.5.value=<p>
column.5.valueformat=HTML
column.6.sharecol=true
column.6.textmode=true
column.6.valueexpression={task}.{team}.{name}
column.6.valueformat=HTML
column.7.textmode=true
column.7.valueexpression={opTask}.{team}.{name}
column.7.valueformat=HTML

 


Breaking it out this way lists all assignees in the same general order that the tile does: first users, then roles, then team. What you don't get in this view are the small icons that indicate what type of object the assignee is.

Hopefully this is what you were after. Good luck!



If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/4rbpr7hf

Avatar

Community Advisor

Hi there! Thanks for this. I've pulled it into my report and I'm getting task assignments to work but not issues, here is my text mode after removing role & team, I only need users the task/issue is assigned to (all assignees not just primary assignee). Can you identify where I'm off? I'm after one column showing assignments, whether it's a task or issue (and do not need 1 row per assignee, if a task is assigned 3 people, I want that as 1 row in the report showing all 3 people assigned).

column.2.displayname=Assignments
column.2.listdelimiter=<div>
column.2.listmethod=nested(opTask.assignments).lists
column.2.sharecol=true
column.2.textmode=true
column.2.type=iterate
column.2.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.2.valueformat=HTML
column.3.sharecol=true
column.3.textmode=true
column.3.value=<p>
column.3.valueformat=HTML
column.4.listdelimiter=<div>
column.4.listmethod=nested(task.assignments).lists
column.4.sharecol=true
column.4.textmode=true
column.4.type=iterate
column.4.valueexpression=CONCAT(IF(ISBLANK({assignedToID}),{role}.{name},""))
column.4.valueformat=HTML
column.5.listdelimiter=<div>
column.5.listmethod=nested(opTask.assignments).lists
column.5.textmode=true
column.5.type=iterate
column.5.valueexpression=CONCAT(IF(ISBLANK({assignedToID}),{role}.{name},""))
column.5.valueformat=HTML

If this helped you, please mark correct to help others : )

Avatar

Correct answer by
Community Advisor

If you only need/want to display all User assignments (ignore role-only and team assignments) of the parent task or issue in an assignment report: 

1. add below text mode to a new column in your assignment report: 

displayname=All Assignments
listdelimiter=<div>
listmethod=nested(task.assignments).lists
textmode=true
type=iterate
valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
valueformat=HTML


2. add below text mode to a separate new column just to the right of the above column:

listdelimiter=<div>
listmethod=nested(opTask.assignments).lists
textmode=true
type=iterate
valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
valueformat=HTML


3. Save your report. 
4. Open/edit report
5. Add the below line of text to the (left-side) column from above:

sharecol=true

6. Save, you're all set. 

Doing the above should result in the below text mode in a single column, but the column numbers (4 and 5 below) are likely to be different based on how many columns are in your report: 

column.4.displayname=All Assignments
column.4.listdelimiter=<div>
column.4.listmethod=nested(task.assignments).lists
column.4.sharecol=true
column.4.textmode=true
column.4.type=iterate
column.4.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.4.valueformat=HTML
column.5.displayname=All Assignments
column.5.listdelimiter=<div>
column.5.listmethod=nested(opTask.assignments).lists
column.5.textmode=true
column.5.type=iterate
column.5.valueexpression=CONCAT(IF(ISBLANK({assignedTo}.{ID}),"",{assignedTo}.{name}))
column.5.valueformat=HTML





If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/4rbpr7hf

Avatar

Community Advisor

Before I give this a shot, will this work for assignments on the task/issue? I don't want just parent task. We tend to not assign to parent tasks/issues, just child tasks/issues.

If this helped you, please mark correct to help others : )

Avatar

Community Advisor

Yes, I was informally using the term "parent" to indicate the record (task or issue) to which the assignment belongs. 

The new shared column described above will display all users assigned, whether it's a task or an issue. It does not look at any parent/child task relationships. 

If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/4rbpr7hf

Avatar

Community Advisor

Amazing, all set! Let me bug you on 1 more thing. In this same report, I have a planned completion date that shares cols to show the planned completion date in 1 column, whether it's for the task or issue. I have it working but wanted to add an ascending sort order. Whenever I add sortType=asc and sortOrder=1 to just one or both of the columns in the text mode below, I get an error. Do you know why I wouldn't be able to sort?

column.6.displayname=Planned Completion
column.6.linkedname=direct
column.6.namekey=date
column.6.querysort=date
column.6.sharecol=true
column.6.styledef.case.0.comparison.icon=false
column.6.styledef.case.0.comparison.leftmethod=task:plannedCompletionDate
column.6.styledef.case.0.comparison.lefttext=task:plannedCompletionDate
column.6.styledef.case.0.comparison.operator=lte
column.6.styledef.case.0.comparison.operatortype=date
column.6.styledef.case.0.comparison.righttext=$$TODAY
column.6.styledef.case.0.comparison.trueproperty.0.name=textcolor
column.6.styledef.case.0.comparison.trueproperty.0.value=000000
column.6.styledef.case.0.comparison.trueproperty.1.name=bgcolor
column.6.styledef.case.0.comparison.trueproperty.1.value=eac6c9
column.6.styledef.case.0.comparison.truetext=
column.6.styledef.case.1.comparison.icon=false
column.6.styledef.case.1.comparison.leftmethod=opTask:plannedCompletionDate
column.6.styledef.case.1.comparison.lefttext=opTask:plannedCompletionDate
column.6.styledef.case.1.comparison.operator=lte
column.6.styledef.case.1.comparison.operatortype=date
column.6.styledef.case.1.comparison.righttext=$$TODAY
column.6.styledef.case.1.comparison.trueproperty.0.name=textcolor
column.6.styledef.case.1.comparison.trueproperty.0.value=000000
column.6.styledef.case.1.comparison.trueproperty.1.name=bgcolor
column.6.styledef.case.1.comparison.trueproperty.1.value=eac6c9
column.6.styledef.case.1.comparison.truetext=
column.6.textmode=true
column.6.usewidths=true
column.6.valuefield=date
column.6.valueformat=
column.6.width=65
column.7.displayname=Planned Completion Date
column.7.styledef.case.0.comparison.icon=false
column.7.styledef.case.0.comparison.leftmethod=plannedCompletionDate
column.7.styledef.case.0.comparison.lefttext=plannedCompletionDate
column.7.styledef.case.0.comparison.operator=lt
column.7.styledef.case.0.comparison.operatortype=date
column.7.styledef.case.0.comparison.righttext=$$TODAY
column.7.styledef.case.0.comparison.trueproperty.0.name=textcolor
column.7.styledef.case.0.comparison.trueproperty.0.value=d30519
column.7.styledef.case.0.comparison.trueproperty.1.name=bgcolor
column.7.styledef.case.0.comparison.trueproperty.1.value=eac6c9
column.7.styledef.case.0.comparison.truetext=
column.7.styledef.case.1.comparison.icon=false
column.7.styledef.case.1.comparison.leftmethod=opTask:plannedCompletionDate
column.7.styledef.case.1.comparison.lefttext=opTask:plannedCompletionDate
column.7.styledef.case.1.comparison.operator=lt
column.7.styledef.case.1.comparison.operatortype=date
column.7.styledef.case.1.comparison.righttext=$$TODAY
column.7.styledef.case.1.comparison.trueproperty.0.name=textcolor
column.7.styledef.case.1.comparison.trueproperty.0.value=d30519
column.7.styledef.case.1.comparison.trueproperty.1.name=bgcolor
column.7.styledef.case.1.comparison.trueproperty.1.value=eac6c9
column.7.styledef.case.1.comparison.truetext=
column.7.textmode=true
column.7.usewidths=true
column.7.valueexpression=IF(ISBLANK({task}.{name}),{opTask}.{plannedCompletionDate},{task}.{plannedCompletionDate})
column.7.valueformat=HTML
column.7.width=65

If this helped you, please mark correct to help others : )

Avatar

Community Advisor

Nevermind @William-- , learned that I can't sort this kind of text mode unless I make a calculated field for it.

If this helped you, please mark correct to help others : )