Hello everyone,
I’m currently working on a skill matrix solution using Baserow (self-hosted, Advanced Plan, Docker).
My goal:
To display all skills (from the “Skills” table) for each employee and allow maintaining a skill level for each skill. These skill levels should be stored in a linking table (“Employee-Skills”) that connects employees and skills.
My current setup:
- I have three tables:
- Skills (list of all skills)
- Employees
- Employee-Skills (linking table with fields: Skill, Employee, Skill Level)
- In the Application Builder, I created a repeating element (“Repeat”) that shows all skills.
- For each skill, there is an input field (dropdown) to select the skill level.
My challenge:
I want to achieve that:
- The skill level field in the repeat is linked to the linking table.
- When changing or entering a skill level for a skill (and a selected employee),
either a new entry is created or
an existing entry is updated in the linking table.
- The repeat should also display whether a skill level already exists for the current skill/employee combination.
What I have done so far:
- The Application Builder is enabled and usable.
- The Advanced license is applied and the container has been restarted.
- I can create pages, repeats, and input fields.
- However, events/actions for dropdown change are greyed out and not selectable in the Application Builder.
My questions:
- How can I link the skill level field in the repeat so that on change, an entry in the linking table is created or updated?
- How can I display in the repeat whether a value already exists for the current skill/employee combination?
I appreciate any tips, example workflows, or hints - thank you!
Best regards,
Robert
@frederikdc we would need your help here 
Hi, looks like a nice project.
There are no events to update / insert records on a field change. So, you will need to make it two separate actions
- An action that inserts or removes a skill for an employee. Assume that you show all the employees in a repeat element, you can have a form inside with a record selector that allows to select one or more skills. But you will need to use a button to confirm.
2.Maybe you can have a repeat inside the employees repeat to show all the skills. The inner repeat element will also need to have a form with an input element to set the skill level.
hello, at the moment I have a form which shows with repeat all skills.
I have a labels the information from the skill table. The page is only logged in available (the employees should be maintain this for himself)
I have also a select for skills (not connected to anything yet.
I think I need in each repeat form a button. And then I need anyhow to catch the attributed of the related skill + employ id + select skill rate and create a new entrance right?
I created a small prototype:
Table Skills
with just a name
Table Employees
with just a name
Table Employee_Skills
that links both and creates Link to table fields in both Skills
and Employees
I’ve added a lookup field Assigned employees
in the Skills
table to get more information about the Employee (required in the app builder)
I created a page with 2 data source
* Skill for employee
: Get all records from the Employee_Skills table where the Employe is the current user.
Skills not assigned
: I get all the skills from the Skills table that are not assigned to the employee (that’s why I needed that username in the lookup field)
On the page I have a Repeat element for the Skill for employee
data source. This element contains a button with a delete action on the Employee_Skills table and refreshes both data sources.
There is also a form that updates the level of the skill
Below the repeat element, I use a table element for the Skills not assigned
data source. The table has a button element to assign the skill with a default value of 1.