At the end of the last post, I had my “Ready to Make” view set up in Airtable. Fifteen patterns, nine with at least one yarn linked, six that I felt genuinely confident about after a more honest pass.
But, something was nagging at me.
The “Ready to Make” view told me that I had linked suitable yarns to a pattern. But it did not tell me whether I had linked enough yarn. A skein of DK weight with 200 yards is not the same as a skein of DK weight with 400 yards, even if they both show up as a linked record. The filter I built was doing its job correctly. But it was answering a slightly different question than the one I actually needed to ask: for this specific pattern, with this specific yarn I am planning to use, do I have enough?
Back in Post 7, I looked at adding a rollup field to my Patterns table that would total up the yardage of all linked yarns and compare it to the yardage required. I decided against it, and I want to revisit why — because understanding the problem with that approach is what points you toward the right approach now.
A rollup works across all linked records at once. If I linked three yarns to a single pattern — say, 400 yards of green wool, 300 yards of beige cotton, and 200 yards of pink mohair — a rollup would add those together and tell me I have 900 yards available. Which is technically true and yet completely meaningless. Those yarns are different colors and different fibers, and they really cannot substitute for each other. The math is real, but the conclusion is nonsense.
What I actually want to know is something much more specific: when I am sitting down to plan a real project — I have picked the pattern, I have a yarn in mind, I am this close to chaining or casting on — does that one yarn have enough yardage to finish the job?
👉 The rollup asks: “how much yarn do I have linked?” The question I need to ask is: “does this specific yarn meet the requirement for this specific pattern?” Those are not the same question.
Once I understood the problem clearly, I could see three realistic options.
Option 1: Manual filter. In the Yarn Inventory table, add a filter where Total Yards is greater than a number you type in. It works. It takes about ten seconds. But you have to know the required yardage ahead of time and re-enter it every time you switch patterns. Fine as a one-off, tedious if you are doing it repeatedly.
Option 2: Formula field approach. Link a specific pattern to a specific yarn record, use a Lookup field to pull the required yardage from the pattern into the yarn table, then write a formula that compares the yarn’s actual yardage to the requirement. Filter on the result. One-time setup; reusable for every project you actively plan.
Option 3: Scripting block. Write a script that lets you pick a pattern from a dropdown menu and surfaces all yarns with sufficient yardage. Powerful, reusable, and slick. Also requires an Airtable Pro or Business plan and a one-time build investment. Worth it eventually — but more than I need right now.
I went with Option 2, and the reason comes back to the question I was actually asking. I am not looking for yarns that might someday work for patterns I have not chosen yet. I am sitting down to start a real project, I have a pattern in hand, and I need a fast answer about one specific yarn. Option 2 is built for exactly that practical need.
👉 Option 2 is not a browsing tool. It is a project-launch tool. That distinction shapes how you build it and when you use it.
I want to be honest about how this actually went because it did not go perfectly on the first try. And I think that is worth saying out loud.
My first attempt at building Option 2 involved adding a linked record field to my Yarn Inventory table that pointed to my Pattern Library. So far so good. Then I added a Lookup field to pull information from the linked pattern. That part also worked. But the field I told it to look up was “Number of Yarns Required” — which is a count of how many separate yarns a pattern calls for, not the yardage needed. I had grabbed the wrong field entirely.
So, for a while I had a field in my Yarn Inventory that was confidently telling me whether I had one or two yarns available for a pattern, which was not useful information at all. The lookup was working perfectly. It was just answering the wrong question. Again.
👉 Building the right structure is only half the job. Pointing that structure at the right field is the other half. Check both.
I deleted the field and started over, this time pointing the Lookup at “Yarn 1 Yards (medium)” — the actual yardage requirement. That was the fix. The lesson is worth keeping: when something looks right but feels off, trace the lookup back to its source. The structure is usually fine. The field reference is where the mistake hides.
This assumes you already have a Yarn Inventory table and a Pattern Library table in the same Airtable base, and that your Pattern Library has a field for required yardage. Here is the setup, step by step.
Step 1: Add a linked record field to your Yarn Inventory table.
In your Yarn Inventory table, click the + button to add a new field. Choose Linked record and point it to your Pattern Library. Name it “Planned Pattern.” This is where you will link a specific yarn to the specific pattern you are planning to make with it. Only fill this in when you are actively planning a project — not for every yarn in your stash.
Step 2: Add a Lookup field to pull in the required yardage.
Add another new field. Choose Lookup. Set it to look up from your Planned Pattern linked record field, and select the yardage field from your Pattern Library — mine is called “Total Yards Available.” Name this field “Yardage Check.” It will now automatically populate with the pattern’s yardage requirement whenever you link a pattern. And double-check that you are pointing to the yardage field, not the number-of-yarns field. I made that mistake so you do not have to.
Step 3: Add a formula field that does the comparison.
Add a new field and choose Formula. Enter this:
IF(SUM({Yards Required}) = 0, “No pattern linked”, IF({Total Yards Available} >= SUM({Yards Required}), “Enough”, “Not enough”))
Adjust the field names to match what you actually called yours. Name this field “Yardage Check.” The formula uses SUM() around the Yards Required field because Lookup fields return arrays, not single values — wrapping it in SUM() ensures the comparison works correctly even when only one value is present.
Step 4: Add a filter or create a dedicated view.
In your Yarn Inventory table, create a new view called something like “Project Check.” Filter by: Yardage Check contains Enough. What you get is every yarn you have actively linked to a planned pattern where the yardage clears the bar.
👉 You are not filtering your whole stash. You are filtering your active candidates. That is a short list, which is exactly what makes the answer useful.
While I was building this in my Yarn Inventory table, I noticed something interesting. My Pattern Library table already had its own linked record field pointing back to Yarn Inventory, and its own lookup of total yards from that linked yarn. So I added a second Yardage Check formula there too — the same comparison, just living in the other table.
It turns out these two formulas are asking subtly different questions, and both are worth having.
The Yarn Inventory version asks: “does this yarn have enough yardage for the pattern I am planning to use it for?” You start from the yarn and work toward the pattern. Useful when you are looking at a specific skein and deciding whether to commit it to a project.
The Pattern Library version asks: “do I have enough yarn for this pattern?” You start from the pattern and work toward the stash. Useful when you are browsing your project list and want to see at a glance which ones are actually ready to start.
👉 Same data. Same formula logic. Different entry points into the same question. Having both means you can ask it from whichever direction is most natural in the moment.
I went back to my six “genuinely ready” patterns from the last post and used this setup to run a proper yardage check on each one. For every pattern, I pulled up the yarn I had in mind, linked it in the Planned Pattern field, and let the formula do the comparison.
Out of six patterns, four cleared the yardage check. Two did not — both were patterns where I had been optimistic about a partial skein. I was actually surprised that I had enough of one type of yarn to potentially use it for four different patterns because I’m realizing that I have a tendency to purchase just one or two skeins of yarn at a time, which really usually isn’t enough to make a substantial project. Now, I’m feeling better about my stash and the project options I have.
👉 A yardage check before you start is worth more than a yardage check when you run out.
One thing I want to be clear about: this setup is not designed to browse your stash. If you link every yarn to a pattern speculatively — just to see what passes the yardage check — you will fill your Planned Pattern field with noise and the view will stop meaning anything.
Use the Planned Pattern field when you are genuinely planning a project. Leave it empty the rest of the time. When you finish a project or change direction, unlink the yarn and the record goes back to being a clean inventory.
For browsing — for answering the more general question of which yarns could work for a pattern — the weight-filtered view from Post 7 is still the right tool. Filter to the right weight, scan the short list, check the yardage column with your eyes. Fast, flexible, no linking required.
👉 Weight filter for browsing. Planned Pattern link for committing. Two different tools for two different moments in the process.
Now that I can check whether I have the right yarn and the right amount of it, a new question has surfaced. What if I love a pattern, but I want to make it in a different yarn weight than the one it calls for? I built something on Replit to handle that — a little gauge conversion app that does the math so I don’t have to. I need to play with it a little more before I share it, so more on that soon.
🧶
No posts

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.