What I mean is not whether the attributes are literally shown as separate rows of the CBC, but whether or not respondents are able to understand all the key aspects of each concept. For example, imagine if you had two attributes and your calculation was to multiply them together. A concept with values 4 and 4 would produce the same calculated result as a concept with values 2 and 8. If you were to just show the score of 16 in both concepts, respondents would have no idea what the underlying difference is. But if you show the calculated value as well as the level values like it looks like you plan to, the confusion goes away.
I would start by adding this HTML to each level of the CBC:
<input type="hidden" class="att1" value="100"/>
The "att1" should be updated with the attribute number and the "100" should be updated with the value for this level. You may want to apply an internal label so this HTML doesn't show up in analysis.
Then I'd use a merged row to combine all attributes.
// Read levels
var att1 = Number($(this).find('.att1').val());
var att2 = Number($(this).find('.att2').val());
var att3 = Number($(this).find('.att3').val());
var product = att1 * att2 * att3;
var label = 'att1 is ' + att1 + ' and att2 is ' + att2 + ' and att3 is ' + att3 + ' total is ' + product;
Lines 5-7 are an example of how to read in each value. The calculation on line 10 and label on line 13 can be updated however you need.