Forum Discussion
QuickBaseCoachD
7 years agoQrew Captain
Here is an answer to the situation where 1 Job has many Operators. this is a manufacturing situation where the Job (an Order) has many Machine Operators required to complete that job. The "ask" was the same, ie to look at a report of Jobs and see on the report, all the Operators.
This technique can be used for say up to a half a dozen "loops", but if you plan to get into say 20 loops then while it will work, Quick Base will need to do a lot of calculations to display the report, so the report will get slow if you have a lot of data.
As for sorting, I think that will be tough (ie not possible using native Quick Base) to do. The data from the child record will float up in the order it was entered.
Reverse Relationship setup
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.
This technique can be used for say up to a half a dozen "loops", but if you plan to get into say 20 loops then while it will work, Quick Base will need to do a lot of calculations to display the report, so the report will get slow if you have a lot of data.
As for sorting, I think that will be tough (ie not possible using native Quick Base) to do. The data from the child record will float up in the order it was entered.
Reverse Relationship setup
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.