Assigning Students to Various Organizations
I have a student data set and an organization dataset.
In the student data set, the students are ranked by a "matching score".
In the organization data set, there is a list of organizations that need to fill 'x' number of vacancies (the vacancies vary by organization). The organizations are also ranked by a priority. The higher ranked organizations will be filled first.
I want to match the top ranked students to the highest ranked organization until it's vacancy is filled. Then once the organization is filled, the next student will fill the next organization. So on and so on.
It's pretty straightforward, but I have no idea how to do this. Any ideas?
I have the student version of DOMO. Not sure if it's different than full versions.
Best Answer
-
Since you already have the rank and priority in each, your ETL will be a little simpler. Here is how I would lay it out.
The filter tile filters to departments that have a vacancy as I noticed you had one that had no vacancies so they shouldn't get any student.s
The Rank & Window tile creates a running total using the sum function and select unbounded and 0 following in priority ascending order.
In the formula tile, I create the start and ending vacancy amounts.
This will create values like this:
Create constants for both the student and department flows like this that you will use in the next join tile.
Join on that Join key with the join tile.
Finally, use the filter tile to filter down so each student is assigned to the appropriate department based on their rank
Hope this does the trick for you.
**Check out my Domo Tips & Tricks Videos
**Make sure to any users posts that helped you.
**Please mark as accepted the ones who solved your issue.1
Answers
-
This is an interesting one. First, your student version will be the same as the full version, from what I understand.
I would start by creating a running total of the organization "vacancies" by the highest priority. You would use the rank & window tile for this. This would allow you to create a start and ending amount. For example, if each org had 10 vacancies, the highest priority org would have a start of 0 and ending of 10. The 2nd org would have a start of 11 and ending of 20, etc.
On the student dataset, you would use the rank & window tile to create a ranking of students based on their score from 1 to x number of students.
Add a constant to each datastet and then join the two on that constant. This will temporarily link every student to every organization.
Next, add a filter tile where the student rank is between the organization start and end counts.
This KB article about Rank & Window will help you.
**Check out my Domo Tips & Tricks Videos
**Make sure to any users posts that helped you.
**Please mark as accepted the ones who solved your issue.3 -
@MarkSnodgrass Awesome solution! I immediately thought that this would have to be a loop in python but I love your non-python solution!
If I solved your problem, please select "yes" above
1 -
@MarkSnodgrass Thanks so much for the quick response.
I think I understand what you're saying. Would I need to have a row for each vacancy spot within an organization/department to do that?
Here's a couple screenshots of what I'm working with right now (I filtered out some other columns for simplicity):
0 -
oh, and the non-python solution is definitely appreciated. In my student license version, I'm not seeing the scripting tiles to do python :(
0 -
Since you already have the rank and priority in each, your ETL will be a little simpler. Here is how I would lay it out.
The filter tile filters to departments that have a vacancy as I noticed you had one that had no vacancies so they shouldn't get any student.s
The Rank & Window tile creates a running total using the sum function and select unbounded and 0 following in priority ascending order.
In the formula tile, I create the start and ending vacancy amounts.
This will create values like this:
Create constants for both the student and department flows like this that you will use in the next join tile.
Join on that Join key with the join tile.
Finally, use the filter tile to filter down so each student is assigned to the appropriate department based on their rank
Hope this does the trick for you.
**Check out my Domo Tips & Tricks Videos
**Make sure to any users posts that helped you.
**Please mark as accepted the ones who solved your issue.1 -
@MarkSnodgrass I'll give this a try. Thank you!
0
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.6K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 2.9K Transform
- 101 SQL DataFlows
- 622 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 748 Beast Mode
- 59 App Studio
- 41 Variables
- 686 Automate
- 176 Apps
- 453 APIs & Domo Developer
- 47 Workflows
- 10 DomoAI
- 36 Predict
- 15 Jupyter Workspaces
- 21 R & Python Tiles
- 396 Distribute
- 113 Domo Everywhere
- 276 Scheduled Reports
- 7 Software Integrations
- 125 Manage
- 122 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 10 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 109 Community Announcements
- 4.8K Archive