tag:blogger.com,1999:blog-6248043124025283718.post576358336425535522..comments2024-03-07T00:57:28.278-05:00Comments on Tableau Friction: Technical-, not Human-Oriented Field CalculationsChris Gerrardhttp://www.blogger.com/profile/01598731155784487000noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-6248043124025283718.post-3043297949590980872013-01-02T22:43:37.423-05:002013-01-02T22:43:37.423-05:00I think a big part of the challenge is Tableau'...I think a big part of the challenge is Tableau's documentation needs work (as has been pointed out in other posts on Chris's blog). Somehow, common "gotcha's" like Null handling, that make things very challenging for non-technical users to wrap their brains around (and sometime trip-up experienced users), should be highlighted in Tableau's documentation, rather than buried in forums or third-party blogs. Clicking help for various functions should come up with more than the most simplistic explanation and obvious use case, or at least a link to additional examples, or to a forum/kb search for articles on the function.<br /><br />Personally, I need to make note of the ZN() function and see how my workbooks could be simplified through its use. I have many Tableau workbooks that rely on database views built primarily to aggregate and/or fully-populate sparse datasets and force nulls to be converted to zeros before the data gets into Tableau.Anonymoushttps://www.blogger.com/profile/05123258175627289276noreply@blogger.comtag:blogger.com,1999:blog-6248043124025283718.post-34065160643889895252012-12-06T20:05:31.463-05:002012-12-06T20:05:31.463-05:00Chris,
In my experience, Tableau defaults to how...Chris, <br /><br />In my experience, Tableau defaults to how SQL deals with null, and tries to be consistent with that logic. But I see your point, in some languages a sum with null will be null, it is something Tableau can change to make it easier for those who do not already know SQL, and how much pain would it be for someone who does know SQL.<br /><br />So the question becomes, whose expectations do they build an application for?<br /><br />You have so many great ideas, why not develop your own application? I would likely buy it :)Joe Makohttps://www.blogger.com/profile/15643500270169278424noreply@blogger.comtag:blogger.com,1999:blog-6248043124025283718.post-15075019427168134792012-12-05T20:10:03.009-05:002012-12-05T20:10:03.009-05:00Ay, Joe, there's the rub: the old "as exp...Ay, Joe, there's the rub: the old "as expected." If one's familiar with the technical distinction between null and zero then there's a case to be made for Tableau's behavior being as expected.<br /><br />But for the great majority of ordinary run-of-the-mill people, the concept is that when I'm subtracting one thing-'Spent' from another-'Budget' to see how much is unspent and there's no record of anything being spent than the unspent amount must be the entire budget amount.<br /><br />Those of use who've spent our professional lives in technical programming environments know the "null isn't zero so an expression that uses it must evaluate to null" rule, but that's an artifact of a technical view of the world in a product that's in most aspects designed for nontechnical people.<br /><br />And even when the null-not-zero treatment holds, why isn't the total of the "Spent" columns in the Tableau tables above null? It should be, if when one member of a sum is null the result is null, or am I missing the special case that says otherwise?Chris Gerrardhttps://www.blogger.com/profile/01598731155784487000noreply@blogger.comtag:blogger.com,1999:blog-6248043124025283718.post-31995532475267316362012-12-05T19:21:32.508-05:002012-12-05T19:21:32.508-05:00Tableau handles Null as expected in both examples....Tableau handles Null as expected in both examples. <br /><br />If you change your formulas to:<br />ZN([Budget])-ZN([Spent])<br />and<br />ZN(SUM([Budget]))-ZN(SUM([Spent]))<br />or<br />SUM(ZN([Budget]))-SUM(ZN([Spent]))<br /><br />maybe that would produce the results you are looking for. Null is something different from zero.<br /><br />If you want to treat Null as zero, Tableau provides a ZN() function. If you think Tableau should should ZN() Null values by default, then I disagree with you.<br /><br />I like how Tableau treats Null, it works exactly as expected, and I think Excel is the application that does the wrong thing.Joe Makohttps://www.blogger.com/profile/15643500270169278424noreply@blogger.comtag:blogger.com,1999:blog-6248043124025283718.post-64095511527255935932012-12-05T18:30:11.123-05:002012-12-05T18:30:11.123-05:00Andy: I think I've addressed your concerns, le...Andy: I think I've addressed your concerns, let me know if it's still unclear.Chris Gerrardhttps://www.blogger.com/profile/01598731155784487000noreply@blogger.comtag:blogger.com,1999:blog-6248043124025283718.post-2508785245756149682012-12-04T02:19:50.109-05:002012-12-04T02:19:50.109-05:00Chris, I don't understand what you are getting...Chris, I don't understand what you are getting at? I know what the confusion is with using aggregated or non aggregated calculations is, and it is a blog post worth writing. However, your examples don't match what your text says. Also, the data is sorted differently in the tableau table, making it hard to compare. And as far as I can tell, the tableau examples match excel in every example in this post. Can you try and make things clearer? Also, is there an alternative approach you recommend tableau should take?Andyhttps://www.blogger.com/profile/08888598176070009724noreply@blogger.com