I believe this is by design, since the original calculation was created pre-blending and it cannot recognize the blend. I could be wrong, though as I don't have a whole lot of experience with this.
Hi Matthew - I'm not quite sure what you mean about the pre-blend - its probably just my ignorance to how blending works. I see it being similar behaviour to a 'left outer join' in SQL, so assume I can to every field from my primary source supplemented by fields from my secondary source if a match is found via the blend condition.... Just to clarify, this is the scenario :
I have my primary data source with dimensions customer and order no and a secondary data source with customer, postcode and an 'is vat exempt' boolean field. The data is blended on customer. I want to do a basic data listing showing customer, order no, postcode & vat exempt. I can get all the fields into the view apart from the 'is vat exempt'.
I just meant that I assumed your Boolean field was created based on fields in the primary source, before the blend was setup. Anyway, I don't know much else--but I set up a blend myself and could not use a Boolean from the secondary source either. I don't know the precise reasoning.
Can you post a workbook, so that I can test that one?
I've tried several times to post a very basic workbook, but something's going a bit strange - have tried in IE10 and chrome via the advanced editor option & adding attachment, but nothing seems to appear on this thread. Sorry. Its very easy to replicate though.
I believe the issue is that data from secondary data sources must be aggregated.
Boolean fields cannot be aggregated (in Tableau, anyway), but your text version of the field can--Tableau by default uses the ATTR() function. If all of the values are True/Yes or False/No, ATTR() will generate Yes or No. If there are a mix of values, ATTR() will return '*'. You could force a mix to False by using MIN().
You can see this behavior more clearly by creating a new calculated field in the primary data source. In the Calculated Field dialog box, select the secondary data source and double click on your Boolean field. Sine it's coming from a secondary source, Tableau will add it with the aggregate function ATTR() and you'll get an error that ATTR() is not applicable to Boolean fields. Replace the Boolean field with your Yes/No text field and again you'll see it's added with the ATTR() function---this time it's valid and you can change ATTR() to MIN() or MAX().