<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Boolean values interpretation/presentation inconsistency in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295160#M839329</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; I encountered the following Boolean values interpretation/presentation inconsistency, Boolean False/0 is interpreted/presented as False, while True/-1 is interpreted as -1. I also found out that Boolean value interpretation/presentation varies depending on the order of the input records, the result is thus nondeterministic. I am wondering if there is a way to make it consistent/deterministic so that I don't get different results for exactly the same data depending on the way records were ordered:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Start of script:&amp;gt;&lt;/P&gt;&lt;P&gt;Set fBoolean# = If($1 = 0 or $1 = -1, $1, If($1 = 'True', True(), If($1 = 'False', False(), $1)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Boolean:&lt;/P&gt;&lt;P&gt;Load Xc, Yc, $(fBoolean#(Xc)) as X, $(fBoolean#(Yc)) as Y&lt;/P&gt;&lt;P&gt;Inline [&lt;/P&gt;&lt;P&gt;Xc, Yc&lt;/P&gt;&lt;P&gt;False, False&lt;/P&gt;&lt;P&gt;-1, 0&lt;/P&gt;&lt;P&gt;0, 0&lt;/P&gt;&lt;P&gt;0, -1&lt;/P&gt;&lt;P&gt;-1, 0&lt;/P&gt;&lt;P&gt;-1, -1&lt;/P&gt;&lt;P&gt;, 0&lt;/P&gt;&lt;P&gt;, -1&lt;/P&gt;&lt;P&gt;-1,&lt;/P&gt;&lt;P&gt;0,&lt;/P&gt;&lt;P&gt;False, True&lt;/P&gt;&lt;P&gt;True, False&lt;/P&gt;&lt;P&gt;True, True&lt;/P&gt;&lt;P&gt;False,&lt;/P&gt;&lt;P&gt;True,&lt;/P&gt;&lt;P&gt;, False&lt;/P&gt;&lt;P&gt;, True&lt;/P&gt;&lt;P&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;End of script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xc,Yc,X,Y&lt;/P&gt;&lt;P&gt;False,False,False,False&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;0,0,False,False&lt;/P&gt;&lt;P&gt;0,-1,False,-1&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;-1,-1,-1,-1&lt;/P&gt;&lt;P&gt;,0,,False&lt;/P&gt;&lt;P&gt;,-1,,-1&lt;/P&gt;&lt;P&gt;-1,,-1,&lt;/P&gt;&lt;P&gt;0,,False,&lt;/P&gt;&lt;P&gt;False,True,False,-1&lt;/P&gt;&lt;P&gt;True,False,-1,False&lt;/P&gt;&lt;P&gt;True,True,-1,-1&lt;/P&gt;&lt;P&gt;False,,False,&lt;/P&gt;&lt;P&gt;True,,-1,&lt;/P&gt;&lt;P&gt;,False,,False&lt;/P&gt;&lt;P&gt;,True,,-1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Nov 2020 16:16:04 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2020-11-25T16:16:04Z</dc:date>
    <item>
      <title>Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295160#M839329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; I encountered the following Boolean values interpretation/presentation inconsistency, Boolean False/0 is interpreted/presented as False, while True/-1 is interpreted as -1. I also found out that Boolean value interpretation/presentation varies depending on the order of the input records, the result is thus nondeterministic. I am wondering if there is a way to make it consistent/deterministic so that I don't get different results for exactly the same data depending on the way records were ordered:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Start of script:&amp;gt;&lt;/P&gt;&lt;P&gt;Set fBoolean# = If($1 = 0 or $1 = -1, $1, If($1 = 'True', True(), If($1 = 'False', False(), $1)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Boolean:&lt;/P&gt;&lt;P&gt;Load Xc, Yc, $(fBoolean#(Xc)) as X, $(fBoolean#(Yc)) as Y&lt;/P&gt;&lt;P&gt;Inline [&lt;/P&gt;&lt;P&gt;Xc, Yc&lt;/P&gt;&lt;P&gt;False, False&lt;/P&gt;&lt;P&gt;-1, 0&lt;/P&gt;&lt;P&gt;0, 0&lt;/P&gt;&lt;P&gt;0, -1&lt;/P&gt;&lt;P&gt;-1, 0&lt;/P&gt;&lt;P&gt;-1, -1&lt;/P&gt;&lt;P&gt;, 0&lt;/P&gt;&lt;P&gt;, -1&lt;/P&gt;&lt;P&gt;-1,&lt;/P&gt;&lt;P&gt;0,&lt;/P&gt;&lt;P&gt;False, True&lt;/P&gt;&lt;P&gt;True, False&lt;/P&gt;&lt;P&gt;True, True&lt;/P&gt;&lt;P&gt;False,&lt;/P&gt;&lt;P&gt;True,&lt;/P&gt;&lt;P&gt;, False&lt;/P&gt;&lt;P&gt;, True&lt;/P&gt;&lt;P&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;End of script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xc,Yc,X,Y&lt;/P&gt;&lt;P&gt;False,False,False,False&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;0,0,False,False&lt;/P&gt;&lt;P&gt;0,-1,False,-1&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;-1,-1,-1,-1&lt;/P&gt;&lt;P&gt;,0,,False&lt;/P&gt;&lt;P&gt;,-1,,-1&lt;/P&gt;&lt;P&gt;-1,,-1,&lt;/P&gt;&lt;P&gt;0,,False,&lt;/P&gt;&lt;P&gt;False,True,False,-1&lt;/P&gt;&lt;P&gt;True,False,-1,False&lt;/P&gt;&lt;P&gt;True,True,-1,-1&lt;/P&gt;&lt;P&gt;False,,False,&lt;/P&gt;&lt;P&gt;True,,-1,&lt;/P&gt;&lt;P&gt;,False,,False&lt;/P&gt;&lt;P&gt;,True,,-1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Nov 2020 16:16:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295160#M839329</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-11-25T16:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295161#M839330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not quite sure what do you want to do but maybe the following approach is helpful in your case:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set fBoolean# = alt(pick(wildmatch($1, 0, -1, 'True', 'False', '*'),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('False', false()),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('True', true()),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('True', true()),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('False', false()),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual($1, $1)),&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Null');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/162405_pastedImage_0.png" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 May 2017 11:26:58 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295161#M839330</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2017-05-06T11:26:58Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295162#M839331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The idea was to try not to treat 0 and -1 as Boolean False and True respectively but simply as 0 and -1, instead, what I got was an inconsistent presentation, 0 was treated by QlikView as Boolean False and presented as 'False', while -1 was not presented as 'True' but as -1 although it's treated as Boolean True. Here is the slightly modified fBoolean# variable which yields exactly the same result as before:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Script:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P&gt;Set fBoolean# = If($1 = 0 or $1 = -1, $1, If($1 = 'True', Dual('True', True()), If($1 = 'False', Dual('False', False()), $1)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Boolean:&lt;BR /&gt;Load Xc, Yc, $(fBoolean#(Xc)) as X, $(fBoolean#(Yc)) as Y&lt;BR /&gt;Inline [&lt;BR /&gt;Xc, Yc&lt;BR /&gt;False, False&lt;BR /&gt;-1, 0&lt;BR /&gt;0, 0&lt;BR /&gt;0, -1&lt;BR /&gt;-1, 0&lt;BR /&gt;-1, -1&lt;BR /&gt;, 0&lt;BR /&gt;, -1&lt;BR /&gt;-1,&lt;BR /&gt;0,&lt;BR /&gt;False, True&lt;BR /&gt;True, False&lt;BR /&gt;True, True&lt;BR /&gt;False,&lt;BR /&gt;True,&lt;BR /&gt;, False&lt;BR /&gt;, True&lt;BR /&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xc,Yc,X,Y&lt;/P&gt;&lt;P&gt;False,False,False,False&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;0,0,False,False&lt;/P&gt;&lt;P&gt;0,-1,False,-1&lt;/P&gt;&lt;P&gt;-1,0,-1,False&lt;/P&gt;&lt;P&gt;-1,-1,-1,-1&lt;/P&gt;&lt;P&gt;,0,,False&lt;/P&gt;&lt;P&gt;,-1,,-1&lt;/P&gt;&lt;P&gt;-1,,-1,&lt;/P&gt;&lt;P&gt;0,,False,&lt;/P&gt;&lt;P&gt;False,True,False,-1&lt;/P&gt;&lt;P&gt;True,False,-1,False&lt;/P&gt;&lt;P&gt;True,True,-1,-1&lt;/P&gt;&lt;P&gt;False,,False,&lt;/P&gt;&lt;P&gt;True,,-1,&lt;/P&gt;&lt;P&gt;,False,,False&lt;/P&gt;&lt;P&gt;,True,,-1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 May 2017 17:35:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295162#M839331</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-05-06T17:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295163#M839332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is another example which proves my point, the code is exactly the same, the only thing different is that I moved the first record (False, False) down below, QlikView/Qlik Sense now changes the presentation of Boolean values False and True depending on the order of records, when "False, False" is the first record in the previous example then 0 is going to be treated as Boolean False and shown as 'False', -1 is going to be treated as Boolean True but shown as -1; when the first record contains numerical values "-1, 0" then Boolean values False and True are going to be shown as 0 and -1 respectively; the treatment of 0 and -1 by QlikView/Qlik Sense is not deterministic/consistent without having to use a fairly complex transformation from your example just to be able to deal with Boolean values in a consistent manner and to be sure what to expect in the end:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Script:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P&gt;Set fBoolean# = If($1 = 0 or $1 = -1, $1, If($1 = 'True', Dual('True', True()), If($1 = 'False', Dual('False', False()), $1)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Boolean:&lt;BR /&gt;Load Xc, Yc, $(fBoolean#(Xc)) as X, $(fBoolean#(Yc)) as Y&lt;BR /&gt;Inline [&lt;BR /&gt;Xc, Yc&lt;BR /&gt;-1, 0&lt;BR /&gt;0, 0&lt;BR /&gt;0, -1&lt;BR /&gt;-1, 0&lt;BR /&gt;-1, -1&lt;BR /&gt;, 0&lt;BR /&gt;, -1&lt;BR /&gt;-1,&lt;BR /&gt;0,&lt;BR /&gt;False, False&lt;BR /&gt;False, True&lt;BR /&gt;True, False&lt;BR /&gt;True, True&lt;BR /&gt;False,&lt;BR /&gt;True,&lt;BR /&gt;, False&lt;BR /&gt;, True&lt;BR /&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Xc,Yc,X,Y&lt;/P&gt;&lt;P&gt;-1,0,-1,0&lt;/P&gt;&lt;P&gt;0,0,0,0&lt;/P&gt;&lt;P&gt;0,-1,0,-1&lt;/P&gt;&lt;P&gt;-1,0,-1,0&lt;/P&gt;&lt;P&gt;-1,-1,-1,-1&lt;/P&gt;&lt;P&gt;,0,,0&lt;/P&gt;&lt;P&gt;,-1,,-1&lt;/P&gt;&lt;P&gt;-1,,-1,&lt;/P&gt;&lt;P&gt;0,,0,&lt;/P&gt;&lt;P&gt;False,False,0,0&lt;/P&gt;&lt;P&gt;False,True,0,-1&lt;/P&gt;&lt;P&gt;True,False,-1,0&lt;/P&gt;&lt;P&gt;True,True,-1,-1&lt;/P&gt;&lt;P&gt;False,,0,&lt;/P&gt;&lt;P&gt;True,,-1,&lt;/P&gt;&lt;P&gt;,False,,0&lt;/P&gt;&lt;P&gt;,True,,-1&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 May 2017 17:50:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295163#M839332</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-05-06T17:50:50Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295164#M839333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think this posting: &lt;A href="https://community.qlik.com/qlik-blogpost/2830"&gt;Data Types in QlikView&lt;/A&gt; and the both links on the end of them will be explain your observation. It's not a bug - it's designed in this way and if you need a certain representation you could force them by the consequent use of formatting-functions and/or the dual-function. Here an example of both load-orders:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/162422_pastedImage_1.png" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;and their checking within excel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 May 2017 07:44:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295164#M839333</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2017-05-07T07:44:22Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295165#M839334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Marcus, thanks for your insight into Boolean type representation in QlikView/Qlik Sense.To me, based on what I've observed this appears as a design flaw rather than a design feature, I don't know of any other product that behaves like this, that the results of an expression would be dependent on the contents of the first record in a table. Your approach seems to be the only way to ensure a consistent Boolean value interpretation/presentation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Set fBoolean# = alt(pick(wildmatch($1, 0, -1, 'True', 'False', '*'),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('False', false()),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('True', true()),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('True', true()),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual('False', false()),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dual($1, $1)),&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Null');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Goran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 May 2017 18:52:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295165#M839334</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-05-08T18:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295166#M839335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set fBoolean# = Num(If($1 = false(), false(), if($1=true(), true())));&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 May 2017 20:10:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295166#M839335</guid>
      <dc:creator>swuehl</dc:creator>
      <dc:date>2017-05-08T20:10:29Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295167#M839336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Here is another much simpler example of the behavior I've observed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// &amp;lt;Start of script&amp;gt;&lt;/P&gt;&lt;P&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P&gt;NullPropagation:&lt;BR /&gt;Load *, X &amp;amp; Y as [X &amp;amp; Y], Text(X &amp;amp; Y) as [Text(X &amp;amp; Y)];&lt;BR /&gt;Load X, Y&lt;BR /&gt;Inline [&lt;BR /&gt;X, Y&lt;BR /&gt;0, 1&lt;BR /&gt;1, 0&lt;BR /&gt;, 1&lt;BR /&gt;1,&lt;BR /&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;Store NullPropagation into [lib://Data/NullPropagation.csv] (txt);&lt;BR /&gt;Store NullPropagation into [lib://Data/NullPropagation.qvd] (qvd);&lt;/P&gt;&lt;P&gt;Set NullInterpret =;&lt;/P&gt;&lt;P&gt;// &amp;lt;End of script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; This is the result I get, the last 2 records indicate that concatenation of a Null with 1 and 1 with a Null gives "01" in field [X &amp;amp; Y] as a consequence of a prior concatenation of 0 with 1 (first record). It also appears that in order to have a Null properly concatenated with a numeric, I'll always have to use the Text() function to wrap the X &amp;amp; Y expression, Text(X &amp;amp; Y):&lt;/P&gt;&lt;P&gt;X,Y,X &amp;amp; Y,Text(X &amp;amp; Y)&lt;/P&gt;&lt;P&gt;0,1,01,01&lt;/P&gt;&lt;P&gt;1,0,10,10&lt;/P&gt;&lt;P&gt;,1,01,1&lt;/P&gt;&lt;P&gt;1,,01,1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I am wondering if there is a way for string concatenation (&amp;amp;) to work without having to use Text() function, as in Text(X &amp;amp; Y), in order to have numbers properly concatenated, in this example, a Null gets interpreted as 0 in either X or Y fields in the last two records. In general, one might have a mix of numeric and alphanumeric values in both X and Y fields, Qlik Sense is not necessarily going to concatenate numbers properly, that will depend on the (numeric) values that appeared in the previous records, thus output from X &amp;amp; Y is not deterministic, it's rather speculative.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 24 Dec 2017 02:32:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295167#M839336</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-24T02:32:38Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295168#M839337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I could confirm your observed behaviour of qlik data-interpretation is correct and that the load-order made a difference how the data of a column are interpreted and that the first record determined the &lt;STRONG style="text-decoration: underline;"&gt;format&lt;/STRONG&gt;. Whereby it's particularly interesting that an existing NULL value could become 0 if fields are string-concatenated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not sure if this behaviour is a pitfall of the intentionally simplified qlik-design of using no real data-types or if it should be more considered as a bug. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the end it meant that you might need to adjust / to transform the data-input to your expected data-output like in many other tools or languages where you must define in beforehand which data-type and length a field/variable has which often leads to a lot of wasted resources and to mismatch-errors if the assumption of the data-input is wrong or if there is a poor data-quality. From this point of view I appreciate the qlik-logic more as a benefit than as a disadvantage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To check if there are alternatives I have extended your example to a few more ways of interpreting the input and concatenating the fields and unless your already used text(X &amp;amp; Y) - which is the common suggestion for reading fields with particular demands - there seems nothing of the ordinary measures which seems helpful (including also various NULL settings). This was of course not very satisfactory and went on and I discovered that it only touched the format / display within the UI and not the data itself by checking the field-content with len() and ord().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This meant by using this concatenated field only within the script no adjustments seems necessary and for displaying them within the UI a measure like text() or also a user-defined function (I have included one) should work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style=": ; color: blue; font-size: 8pt; font-family: 'Courier New';"&gt;set&lt;/STRONG&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;STRONG&gt;&lt;EM&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: gray;"&gt;SetNull&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; = if(len(trim($1))=0,chr(8203),$1);&lt;BR /&gt; &lt;BR /&gt; AutomaticFormat:&lt;BR /&gt; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;Load&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &lt;BR /&gt; *, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;rowno&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;() &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;RowNo&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[X &amp;amp; Y]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;Text&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[Text(X &amp;amp; Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;Text&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;text&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[Text(X) &amp;amp; text(Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;num&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;num&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[num(X) &amp;amp; num(Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;num#&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;num#&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[num#(X) &amp;amp; num#(Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;dual&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;dual&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[dual(X, X) &amp;amp; dual(Y, Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;alt&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, '') &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;alt&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, '') &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[alt(X, '') &amp;amp; alt(Y, '')]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: gray;"&gt;$(SetNull(X))&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: gray;"&gt;$(SetNull(Y))&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;SetNull&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;trim&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;trim&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[trim X &amp;amp; Y]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;len&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[len(X &amp;amp; Y)]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;ord&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;mid&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, 1, 1)) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[ord(mid(X &amp;amp; Y, 1, 1))]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;ord&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;mid&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, 2, 1)) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[ord(mid(X &amp;amp; Y, 2, 1))]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;,&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; + 10 &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[X &amp;amp; Y + 10]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;;&lt;BR /&gt; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;Load&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;Inline&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[&lt;BR /&gt; X,Y&lt;BR /&gt; 0,1&lt;BR /&gt; 1,0&lt;BR /&gt; ,1&lt;BR /&gt; 1,&lt;BR /&gt; ]&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; (&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;txt&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;delimiter&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;is&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; ',', &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;msq&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;embedded&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;labels&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;);&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;left&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;join&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(AutomaticFormat)&lt;BR /&gt; &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;load&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;concat&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;(&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; &amp;amp; &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;) &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;[concat(X &amp;amp; Y)]&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;resident&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt; AutomaticFormat &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;group&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: blue;"&gt;by&lt;/SPAN&gt; &lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;X&lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black;"&gt;, &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: maroon;"&gt;Y&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 8pt; font-family: 'Courier New';"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/188232_pastedImage_2.png" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Marcus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2017 10:26:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295168#M839337</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2017-12-27T10:26:19Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295169#M839338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For nulls, short answer is that INLINE works the same way than a CSV or XLS file: there can be empty values, or blank values if no value is present, but they cannot be "true null".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For first line defining the interpretation of following values in same column, short answer is that has been like that as far as I can remember, and actually used it for development years ago, bug or feature.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your example for the concatenation, you are using a preceding load and NullInterpret is applied on it, but if you use instead&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;// &amp;lt;Start of script&amp;gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;NullPropagation:&lt;BR /&gt;Load *, X &amp;amp; Y as [X &amp;amp; Y], Text(X &amp;amp; Y) as [Text(X &amp;amp; Y)]&lt;BR /&gt;Inline [&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;...&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;You will get the nulls so both [X &amp;amp; Y] and [Text(X &amp;amp; Y)] will display "1" instead of "01".&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;I use this approach of "first-record-defines" in most cases when I don't know how the driver to the data source is configured, e.g.: some drivers remove some non-ASCII characters like blanks which could impact the expected output, similar to what the &lt;A href="http://help.qlik.com/en-US/qlikview/November2017/Subsystems/Client/Content/Scripting/SystemVariables/Verbatim.htm"&gt;Verbatim&lt;/A&gt; script variable does.&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Finally, note that as mentioned by &lt;A href="https://community.qlik.com/qlik-users/27943"&gt;marcus_sommer&lt;/A&gt;‌, there are no data types in QlikView, so any value will be both&amp;nbsp; literal and numeric (unless a numeric value is not possible for the string, e.g.: Num(String) if "String" is not a variable or a field with only one possible value given the selection status) and therefore can be represented in either way.&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;Yes, this is different to how databases work, because in fact, QlikView is not a database (although it has its own storage format with QVD files).&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;EDIT: "first line definition" can be found in the official help site at &lt;A href="http://help.qlik.com/en-US/qlikview/November2017/Subsystems/Client/Content/Scripting/data-types.htm" title="http://help.qlik.com/en-US/qlikview/November2017/Subsystems/Client/Content/Scripting/data-types.htm"&gt;Data types in QlikView ‒ QlikView&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2017 14:33:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295169#M839338</guid>
      <dc:creator>Miguel_Angel_Baeyens</dc:creator>
      <dc:date>2017-12-27T14:33:19Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295170#M839339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If one first creates a stub table with zero rows you can force columns X &amp;amp; Y to be Boolean :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM style="color: #993300;"&gt;Boolean :&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;Load&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; True()&amp;nbsp; as X ,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; True()&amp;nbsp; as Y &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM style="color: #993300;"&gt;autogenerate 0&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Then &lt;SPAN style="font-size: 13.3333px;"&gt;one &lt;/SPAN&gt;can concatenate the data onto this zero row stub and &lt;SPAN style="font-size: 13.3333px;"&gt;columns X &amp;amp; Y will remain &lt;SPAN style="font-size: 13.3333px;"&gt;Boolean as they have been pre-forced &lt;/SPAN&gt;&lt;/SPAN&gt;:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Set fBoolean# = If($1 = 0 or $1 = -1&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , $1&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , If($1 = 'True'&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , True()&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , If($1 = 'False'&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , False()&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , $1 ) ) ) ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;Concatenate (Boolean)&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;Load &lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Xc, &lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Yc, &lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(fBoolean#(Xc)) as X, &lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(fBoolean#(Yc)) as Y&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;Inline [&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;Xc, Yc&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;False, False&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;-1, 0&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;0, 0&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;0, -1&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;-1, 0&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;-1, -1&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;, 0&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;, -1&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;-1,&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;0,&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;False, True&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;True, False&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;True, True&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;False,&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;True,&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;, False&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;, True&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;];&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then one should find that all the values for X and Y are Boolean -1 or 0, with the exception of those with nothing defined for them in the Inline Load for Xc and Yc which are interpreted as zero length strings, which are not trapped in the &lt;SPAN style="font-size: 13.3333px;"&gt;&lt;EM&gt;fBoolean#&lt;/EM&gt; function.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;If one wanted to make them False() , then changing the &lt;EM style="color: #993300; font-size: 13.3333px;"&gt;fBoolean#&lt;/EM&gt;&lt;SPAN style="font-size: 13.3333px;"&gt; function to this should suffice :&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM style="color: #993300;"&gt;Set fBoolean# = If ( len($1) = 0 &lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , False()&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , If($1 = 0 or $1 = -1&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , $1&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , If($1 = 'True'&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , True()&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , If($1 = 'False'&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , False()&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM style="color: #993300;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , $1 ) ) ) ) ;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Dec 2017 17:58:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295170#M839339</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-12-27T17:58:12Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295171#M839340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Even without the preceding load I used originally, I get exactly the same behavior I used to get in the past in the most recent Qlik Sense version, X &amp;amp; Y will still display "01" and Text(X &amp;amp; Y) will still display "1" when X is an empty string, i.e. null and Y = 1. As you've already mentioned, the first string representation/format encountered for X = 0 &amp;amp; Y = 1, which is "01", will be used for any X &amp;amp; Y which results in a numerical value of 1 as per: &lt;A href="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm" title="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm"&gt;https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm&lt;/A&gt;, which is the default behavior I am having a problem with since it may lead to confusion, it's representation versus actual value that's stored and they are not necessarily aligned. To make concatenation of numbers or even alphanumerical strings work in general as I would expect it to work is to use the Text() function as in Text(X &amp;amp; Y) instead of X &amp;amp; Y, for instance, this would be the way to preserve original leading zeros if they are significant, like in ID alphanumerical fields where every character is significant.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Jan 2018 18:13:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295171#M839340</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-06T18:13:59Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295172#M839341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great idea, to use a stub.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Jan 2018 18:15:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295172#M839341</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-06T18:15:05Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295173#M839342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Marcus, in the end, it appears that the only safe way of concatenating alphanumeric fields in general is to always wrap the concatenation expression with the Text() function as in Text(X &amp;amp; Y). This will make Qlik Sense use the number representations of both X and Y (actual numeric values stored in these two fields) and not use the string representation of the numbers being concatenated instead, that eliminates this anomaly caused by Qlik's default string representation/formatting of numbers, I don't see a reason for having this feature in Qlik Sense which should be based on a sound mathematical foundation instead where this feature will have no place (&lt;A href="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm" title="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm"&gt;https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S.&lt;/P&gt;&lt;P&gt;After I added a resident load step and slightly changed one input value for X, I tried to concatenate X and Y there as well which resulted in an unexpected result:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// &amp;lt;Start of script&amp;gt;&lt;/P&gt;&lt;P&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P&gt;NullPropagation1:&lt;BR /&gt;Load *,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Text([X &amp;amp; Y]) as "Text([X &amp;amp; Y])";&lt;BR /&gt;Load *,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X &amp;amp; Y as [X &amp;amp; Y], Text(X &amp;amp; Y) as [Text(X &amp;amp; Y)];&lt;BR /&gt;Load X, Y&lt;BR /&gt;Inline [&lt;BR /&gt;X, Y&lt;BR /&gt;0, 1&lt;BR /&gt;01, 0&lt;BR /&gt;, 1&lt;BR /&gt;1,&lt;BR /&gt;] (delimiter is ',');&lt;/P&gt;&lt;P&gt;NullPropagation:&lt;BR /&gt;Load *,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Text(X &amp;amp; Y) as "Text(X &amp;amp; Y)-resident",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Text([X &amp;amp; Y]) as "Text([X &amp;amp; Y])-resident" Resident NullPropagation1;&lt;/P&gt;&lt;P&gt;Drop Table NullPropagation1;&lt;/P&gt;&lt;P&gt;Store NullPropagation into [lib://Data/NullPropagation.csv] (txt);&lt;BR /&gt;Store NullPropagation into [lib://Data/NullPropagation.qvd] (qvd);&lt;/P&gt;&lt;P&gt;Set NullInterpret =;&lt;/P&gt;&lt;P&gt;Exit Script;&lt;/P&gt;&lt;P&gt;// &amp;lt;End of script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is what I got, it turns out that concatenation during resident load produces wrong result, field "Text(X &amp;amp; Y)-resident" has "01" instead of "1" in the last record due to the fact that what's loaded/stored in fields X and Y in the final table NullPropagation is not the original values from resident table NullPropagation1, but their formatted values, which is something I'll have to keep in mind and investigate further. What I'll do, I'll export both tables into qvd files in order to see what exactly was stored in fields X and Y in each of them, whether the original number or it was string representation/formatted value that was stored instead:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;X,Y,X &amp;amp; Y,Text(X &amp;amp; Y),Text([X &amp;amp; Y]),Text(X &amp;amp; Y)-resident,Text([X &amp;amp; Y])-resident&lt;/P&gt;&lt;P&gt;0,1,01,01,01,01,01&lt;/P&gt;&lt;P&gt;01,0,010,010,010,010,010&lt;/P&gt;&lt;P&gt;,1,01,1,1,1,01&lt;/P&gt;&lt;P&gt;01,,01,1,1,01,01&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Jan 2018 22:01:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295173#M839342</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-06T22:01:12Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295174#M839343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you use this variable-function definition you will get consistent Qlik booleans:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Set fBoolean# = If($1=0,False(),If($1=-1,True(), If($1 = 'True', True(), If($1 = 'False', False(), $1))));&lt;IMG alt="2018-01-07 04_23_56-QlikView x64 - [C__Users_Petter_Downloads_# QC - 2018-01-07 Booleans.qvw_].png" class="jive-image image-1" src="/legacyfs/online/189151_2018-01-07 04_23_56-QlikView x64 - [C__Users_Petter_Downloads_# QC - 2018-01-07 Booleans.qvw_].png" style="height: auto;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Jan 2018 03:24:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295174#M839343</guid>
      <dc:creator>petter</dc:creator>
      <dc:date>2018-01-07T03:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295175#M839344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As far as I know, the QV load script language (I guess QS is still quite similar) has no "Boolean" concept. There are only these certainties:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;True().is a function returning -1&lt;/LI&gt;&lt;LI&gt;False() is a function returning 0&lt;/LI&gt;&lt;LI&gt;Non-zero means success&lt;/LI&gt;&lt;LI&gt;Zero means failure&lt;/LI&gt;&lt;LI&gt;Formatting is up to you&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could call 3 &amp;amp; 4 true and false, but that's paint on top of behavior that strongly resembles early languages like C where every non-zero value meant true but "true" didn't really exist. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a another link to "early languages". Remember that the Load Script Language is not a managed code OOP language and doesn't protect programmers against themselves in any way, as most modern languages tend to do. IMHO this is -as Marcus already hinted at - because the language serves only one emperor: &lt;EM&gt;speed&lt;/EM&gt;. I tend to believe that all anomalies that have been discovered by the community through the years, all so-called "design flaws", all inconsistencies are there simply because of design decisions and the results thereof that serve the god of speed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just to say that there are&lt;SPAN style="font-size: 13.3333px;"&gt; probably a few&lt;/SPAN&gt; pragmatic reasons why this behavior is what it is. We just need to figure out what they are. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 07 Jan 2018 19:17:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295175#M839344</guid>
      <dc:creator>Peter_Cammaert</dc:creator>
      <dc:date>2018-01-07T19:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295176#M839345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can upload a QlikView version (I cannot install Qlik Sense in this computer) in the coming days to show how it works and that null is null (not displayed or converted into 0). I already made the example but I have to find it, if that is useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the LOAD INLINE if you want to explicit the format you expect, but bear in mind that QlikView does not have "boolean" types as it does not have any other type: all values can be represented as a string (&lt;SPAN style="font-size: 13.3333px;"&gt;e.g.: 00001, 08/01/2018&lt;/SPAN&gt;) numeric (e.g.: 1, 0.00396 -which equals to 8 divided by 1 divided by 2018), or both. False is 0 and True is -1 (actually, true is everything that is not 0, e.g.: If(Len('Text'), 1, 0), you needn't specify "&amp;gt;0").&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Jan 2018 17:23:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295176#M839345</guid>
      <dc:creator>Miguel_Angel_Baeyens</dc:creator>
      <dc:date>2018-01-08T17:23:14Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295177#M839346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I agree, I view this particular design decision regarding the string representation/formatting of numbers as per &lt;A href="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm" title="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm"&gt;https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/data-types.htm&lt;/A&gt;, as an arbitrary decision, not based on a solid mathematical theory. I don't believe that the speed of execution was a factor in this particular case as there is an additional cost associated with figuring out which particular string representation/format should be assigned to each distinct numerical value anyways, it was just plain wrong to do it this particular way. That has lead to anomalies described above as well as the one you'll find in this example, please note the transition from the original numeric value of field X in the first table to the string representation/formatted value of X in the second table in the Text(X) calculation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// &amp;lt;Start of script&amp;gt;&lt;/P&gt;&lt;P&gt;Set NullInterpret = '';&lt;/P&gt;&lt;P&gt;NumberStringRepresentation:&lt;BR /&gt;Load 'NumberStringRepresentation1' as Source, X, Text(X) as [Text(X)]&lt;BR /&gt;Inline [&lt;BR /&gt;X, Y&lt;BR /&gt;1.0&lt;BR /&gt;1&lt;BR /&gt;1.000&lt;BR /&gt;] (delimiter is ',', msq, embedded labels);&lt;/P&gt;&lt;P&gt;Concatenate(NumberStringRepresentation)&lt;BR /&gt;Load 'NumberStringRepresentation2' as Source, X, Text(X) as [Text(X)]&lt;BR /&gt;Resident NumberStringRepresentation;&lt;/P&gt;&lt;P&gt;Store NumberStringRepresentation into [lib://Data/NumberStringRepresentation.csv] (txt);&lt;BR /&gt;Store NumberStringRepresentation into [lib://Data/NumberStringRepresentation.qvd] (qvd);&lt;/P&gt;&lt;P&gt;Set NullInterpret =;&lt;/P&gt;&lt;P&gt;// &amp;lt;End of script&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the result:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Source,X,Text(X)&lt;/P&gt;&lt;P&gt;NumberStringRepresentation1,1.0,1.0&lt;/P&gt;&lt;P&gt;NumberStringRepresentation1,1.0,1&lt;/P&gt;&lt;P&gt;NumberStringRepresentation1,1.0,1.000&lt;/P&gt;&lt;P&gt;NumberStringRepresentation2,1.0,1.0&lt;/P&gt;&lt;P&gt;NumberStringRepresentation2,1.0,1.0&lt;/P&gt;&lt;P&gt;NumberStringRepresentation2,1.0,1.0&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Jan 2018 03:16:13 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295177#M839346</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-09T03:16:13Z</dc:date>
    </item>
    <item>
      <title>Re: Boolean values interpretation/presentation inconsistency</title>
      <link>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295178#M839347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe have a look at&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/qlik-blogpost/2848"&gt;Symbol Tables and Bit-Stuffed Pointers&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;QlikView is not able to store distinct formats of the same number per data table record, but only one format per symbol.&lt;/P&gt;&lt;P&gt;Your numbers 1, 1.0, 1.000 will be seen as one symbol, text value '1.0' (because of the first encounter) and numerical value one (please refer to the data type blog by HIC to learn about about duals).&lt;/P&gt;&lt;P&gt;[edit: This is referring to your X column. Your Text(x) column creates 3 different symbols, one per input record in your first load.]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;While your first LOAD is accessing your original input records, the second is only able to map the symbols, that's why you get the same text representation for all records in your second load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this makes it somewhat clearer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Stefan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Jan 2018 11:27:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Boolean-values-interpretation-presentation-inconsistency/m-p/1295178#M839347</guid>
      <dc:creator>swuehl</dc:creator>
      <dc:date>2018-01-09T11:27:44Z</dc:date>
    </item>
  </channel>
</rss>

