Forum Discussion
QuickBaseCoachD
7 years agoQrew Captain
Here is an answer to a similar question.
In this case the Parent is Jobs and the Child is Operators and the goal is to float the Operators' names all up to the parent record into one concatenated field.
The way to do this is with as many "reverse relationships" as you guess will be enough to cover off 99% if the situation.
So, let talk about Operators. One Job has many Operators. Make a summary field on that relationship of the Minimum of the Record ID# of Operators. Call it [Record ID# of Operator 1].
Then do a lookup of that down to the child Operator table as we will need it later.
Then do a new Relationship where one Operator has many jobs. For the reference field (the field on the right side), use that new Summary field called [Record ID of Operator 1]. Get rid of the extra fields that get created on the left side of the relationship (Add Operator and that report link field). Do a lookup from the Operator down to Jobs and bring in the Operator Name and call it Operator 1.
Wonderful, the Job now knows the first Operator.
Now, make a duplicate of that summary field, but in the duplicate add the extra condition that the [record ID#] is greater than the [Record ID# of Operator 1]. Call it [Record ID# of Operator 2]. Do a lookup of that field back down to the Child Operator table as we will need it later.
Now, in making that duplicate, conveniently, you will find that it duplicated the reverse relationship so now do a lookup in that relationship of the operator name called it [Operator 2]. Wonderful again, we now have Operator #2's name on the Job Record.
Then make another duplicate of that summary field and just keep going, each time changing the filter so that the record ID# is greater than the previously highest record ID of Operator.
In the end say you collect the names of the first 4 operators on a job, so then just string them together in a formula like
List ("\n",
[Operator 1],
[Operator 2],
[Operator 3],
[Operator 4])
and put that concatenated field list on your report.
In this case the Parent is Jobs and the Child is Operators and the goal is to float the Operators' names all up to the parent record into one concatenated field.
The way to do this is with as many "reverse relationships" as you guess will be enough to cover off 99% if the situation.
So, let talk about Operators. One Job has many Operators. Make a summary field on that relationship of the Minimum of the Record ID# of Operators. Call it [Record ID# of Operator 1].
Then do a lookup of that down to the child Operator table as we will need it later.
Then do a new Relationship where one Operator has many jobs. For the reference field (the field on the right side), use that new Summary field called [Record ID of Operator 1]. Get rid of the extra fields that get created on the left side of the relationship (Add Operator and that report link field). Do a lookup from the Operator down to Jobs and bring in the Operator Name and call it Operator 1.
Wonderful, the Job now knows the first Operator.
Now, make a duplicate of that summary field, but in the duplicate add the extra condition that the [record ID#] is greater than the [Record ID# of Operator 1]. Call it [Record ID# of Operator 2]. Do a lookup of that field back down to the Child Operator table as we will need it later.
Now, in making that duplicate, conveniently, you will find that it duplicated the reverse relationship so now do a lookup in that relationship of the operator name called it [Operator 2]. Wonderful again, we now have Operator #2's name on the Job Record.
Then make another duplicate of that summary field and just keep going, each time changing the filter so that the record ID# is greater than the previously highest record ID of Operator.
In the end say you collect the names of the first 4 operators on a job, so then just string them together in a formula like
List ("\n",
[Operator 1],
[Operator 2],
[Operator 3],
[Operator 4])
and put that concatenated field list on your report.