This seems like a straightforward 2-table solution should work… unless I am misunderstanding something.
You have your “People” table with a record for each person - the easy part.
Then you have a “Positions” table with a record for each position a person has held - this table would have columns for “Position Title”, “Start Date”, “End Date”, “Company” (probably a third table for these), and any other information needed. These are linked to “People” records such that a “Person” can have many “Positions”, but a “Position” is linked only to one person. A person’s current position would be signified by the absence of an “End Date”.
Hi @Jeremy_Oglesby
Thanks for your input, it looks like it’s the only way to deal with it.
What I’ll try to do is to add a “Created Time” column to detect the latest job (and normally the current one) of the person in the “Positions” table. Can work with a “Checkbox” column too but it will require an action from the table user.
In the “People” table, I’ll find a way to play with views & filters to see the current job position appear in the first columns and all the others in the linked column to the “Positions” table. The goal is to change dynamically the jobs history when something happens in “Positions”.
I think I had a hard time tackling this because I wanted to store everything in one table and play with views. I’m doing this for the most part of this project, I wanted to ship only one table that can store it all but it looks like this job history thing can’t fit my plan.
Thanks again for your post! :thumbs_up:
Hi I have a very similar use case. In my case, I run a farm with multiple plots that are assigned to different workers. I already have a table for each plot, as well as a table for each of my workers. I wanted a way to store the HISTORY of who worked each plot at any given time since they tend to be moved around a lot.
I can understand having the two tables (one detailing worker info, the other detailing plot info). So this solution is about making a third table that references a worker, the plot, and start and end dates. That sounds great. My question is how does the system determine which is the current plot assigned to the person? I’m thinking I’d like to create a column on the worker table that shows where he is currently assigned. I can’t quite wrap my head around how to pull that data out of the third (let’s call it ‘assignments’) table.
Anyway, thanks for the tip. I think this solution is 99% of what I need. I just need more skill in order to display the appropriate data.
*T
Hi I have a very similar use case. In my case, I run a farm with multiple plots that are assigned to different workers. I already have a table for each plot, as well as a table for each of my workers. I wanted a way to store the HISTORY of who worked each plot at any given time since they tend to be moved around a lot.
I can understand having the two tables (one detailing worker info, the other detailing plot info). So this solution is about making a third table that references a worker, the plot, and start and end dates. That sounds great. My question is how does the system determine which is the current plot assigned to the person? I’m thinking I’d like to create a column on the worker table that shows where he is currently assigned. I can’t quite wrap my head around how to pull that data out of the third (let’s call it ‘assignments’) table.
Anyway, thanks for the tip. I think this solution is 99% of what I need. I just need more skill in order to display the appropriate data.
*T
Hi @Taj_Deluria
It sounds to me like you will want this 3rd table, as you mentioned, of “Assignments”. And it sounds like you know how to set that up with start dates and end dates. I would say that you could classify an “Active” assignment as one that does not yet have an “End Date” filled in. If you have filled in the “End Date” field, it would indicate that the worker is no longer on that particular assignment, and therefore not on the same plot anymore.
So you are concerned with pulling a worker’s “Current Plot” out of the “Assignments” table and into the “Workers” table. I’d suggest doing this by creating a formula field in the “Assignments” table (let’s call it “Current Plot?”) that checks for an “End Date”. If there is no “End Date”, it supplies the name of the “Plot” linked to that “Assignment” record.
It could look like this:
IF({End Date}, BLANK(), {Plot})
where {Plot}
is the field that links to the “Plot” from the “Plots” table. So if you have filled in the “End Date”, this field will be blank, but if there is not an “End Date”, it will reflect the name of the Plot for this Assignment.
Now, in your “Workers” table, you should be able to create a Rollup field (let’s call it “Current Plots”) that looks at all of a Worker’s “Assignment” records, and ARRAY_JOIN(values)
the “Current Plot?” field, to see a list of all Plots that Worker has active Assignments for.
Sometimes in life, you ask a question. Invariably, someone nonchalantly chucks out an answer and you stand there dumbstruck because you realise that everyone has been lying to you. Everyone who has every told you that you were smart–your teachers, your parents, Aunt Flo–EVERYONE LIED.
Or the person giving the answer could just be really smart. I hope it’s the latter, because otherwise, I’m going to need to buy me some rubber pants. Can’t wait to try this.
THANKS!!
Sometimes in life, you ask a question. Invariably, someone nonchalantly chucks out an answer and you stand there dumbstruck because you realise that everyone has been lying to you. Everyone who has every told you that you were smart–your teachers, your parents, Aunt Flo–EVERYONE LIED.
Or the person giving the answer could just be really smart. I hope it’s the latter, because otherwise, I’m going to need to buy me some rubber pants. Can’t wait to try this.
THANKS!!
– it has very little to do with being “smart”, and a whole lot more to do with being saturated in the language and conventions of the environment. I’m a web developer, so I work in databases, and think about relationships between tables of data all day, every day. Start asking me questions about how to cultivate plants at scale… I’ll be the one dumbstruck.
– it has very little to do with being “smart”, and a whole lot more to do with being saturated in the language and conventions of the environment. I’m a web developer, so I work in databases, and think about relationships between tables of data all day, every day. Start asking me questions about how to cultivate plants at scale… I’ll be the one dumbstruck.
IT WORKS. One last kvetch. It returns the name of the current assignee, but that name is not a link to his record (unlike ordinary links to other records). Is there a way to make it display as a link?
FYI. I was a web developer / engineer for almost 20 years before I realised I was now too old and wanted to try something new.
Now I’ve been a farmer for about 10. And here I am again, on a web-based db trying to run things like how I used to run everything in my life. Hahahah. You gotta run home to momma sometimes.