Here's the way we do the pricing in our template catalog for SKU cabinets that is pretty simple:
You'll see we just base the price off of 1) the door style/finish option and 2) the size chosen. (Of course, those names are just what we happened to call them. You may or may not offer finish options so maybe yours would just be called door style)
In this example, the price will vary when the customer chooses either a more/less expensive style or a more/less expensive size (BNS12 meaning "Base No Shelf, 12 inch").
Here's the way that pricing formula looks on the back end, it's a simple formula and I'll explain the variables/setup:
This formula basically reads as "If they choose a door style in group 1 then give me the price from group A of the cabinet size attribute" and then continues for all the other options.
Now let's look at where those variables are coming from/what information they're spitting out.
You can see here the 1, 2, and 3 in the formulas are coming from the 'identifier' column of the door style/finish option attribute. The different styles are grouped (1, 2 or 3).
Then the A, B, and C in the formula come from the size attribute. You can see here there are columns for A, B, and C and there are corresponding prices in each cell. The price in column A is what is given if they choose the door style/finish option with an identifier of 1 (the least expensive style). The price in column A is what is given if they choose the door style/finish option with an identifier of 2, and so on with the next column.
So if you look back at the formula you'll see that the customer chooses a door style/finish option which will give the formula an identifier of 1,2 or 3 and then when they choose the size it will give the formula the corresponding dollar amount from column A, B or C.