<?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 Re: Data Profiling across Fields in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107127#M7318</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Though ideally ill be able to create a KPI showing the percentage of Nulls in the data model as if it's like a density KPI&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Jul 2018 07:20:17 GMT</pubDate>
    <dc:creator>ghaliabed</dc:creator>
    <dc:date>2018-07-23T07:20:17Z</dc:date>
    <item>
      <title>Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107120#M7311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I recently found this blog post in regards to Data Profiling with QLik&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.quickintelligence.co.uk/qlikview-data-profiler/#comment-1056714" title="https://www.quickintelligence.co.uk/qlikview-data-profiler/#comment-1056714"&gt;https://www.quickintelligence.co.uk/qlikview-data-profiler/#comment-1056714&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It leverages the system fields $Field &amp;amp; $Table to allow you to review data of each column in your model.&lt;/P&gt;&lt;P&gt;One of the calculation you are able to do is to get number of NULLS present in a single field.&lt;/P&gt;&lt;P&gt;This is done using this calculation:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;sum(if(isnull( [$(=minstring($Field))]), 1, 0)) // Number of NULL values&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have been trying to replicate this but across columns ex:&lt;/P&gt;&lt;P&gt;Number of Null Values across multiple fields(or multiple tables)&lt;/P&gt;&lt;P&gt;Number of Blank Values across multiple fields(or multiple tables)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have tried a combination of Pivot charts and also using the Agrr function to iterate over the fields and apply the same calculation but it is not working.&lt;/P&gt;&lt;P&gt;Ex:&lt;/P&gt;&lt;P&gt;sum&lt;/P&gt;&lt;P&gt;(&lt;/P&gt;&lt;P&gt;Aggr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(if(isnull( [$(=minstring($Field))]), 1, 0)) // Number of NULL values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,$Field&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help on how to do this would be great&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Jul 2018 15:15:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107120#M7311</guid>
      <dc:creator>ghaliabed</dc:creator>
      <dc:date>2018-07-19T15:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107121#M7312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm afraid this is not possible in a chart,&lt;/P&gt;&lt;P&gt;as you notice in this blog you select one field in $Field.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in a chart with $field as dimension: $ expansion $(= xxxxx($Field)xxxx) can't work&lt;/P&gt;&lt;P&gt;so you can do this in the script and calculate for all fields, but not dinamically in front end by a chart&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 12:02:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107121#M7312</guid>
      <dc:creator>ogautier62</dc:creator>
      <dc:date>2018-07-20T12:02:01Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107122#M7313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;okay i am not sure why it does not work on chart level though, but will look more into that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding doing the calculation in the script level, from what i read the $Field, and other system fields are not accessible at the script level am i mistaken on that ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 13:28:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107122#M7313</guid>
      <dc:creator>ghaliabed</dc:creator>
      <dc:date>2018-07-20T13:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107123#M7314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I used to write something like that in script to work on data model and acces table and field name :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for itable = 0 to&amp;nbsp; NoOfTables()-1;&lt;/P&gt;&lt;P&gt;let vTable = TableName(itable);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ifield= 1 to NoOfFields(vTable) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; let vField = FieldName(ifield,tableName(itable));&lt;/P&gt;&lt;P&gt;................;&lt;/P&gt;&lt;P&gt;next&lt;/P&gt;&lt;P&gt;next&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 13:47:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107123#M7314</guid>
      <dc:creator>ogautier62</dc:creator>
      <dc:date>2018-07-20T13:47:02Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107124#M7315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;it's for qlikview,&lt;/P&gt;&lt;P&gt;I couldn't say for Q sense&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 13:48:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107124#M7315</guid>
      <dc:creator>ogautier62</dc:creator>
      <dc:date>2018-07-20T13:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107125#M7316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You're right that $Field and it's siblings aren't available in script only in the running app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you considered using NullCount() and the other similar count functions instead.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Jul 2018 14:13:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107125#M7316</guid>
      <dc:creator>petter</dc:creator>
      <dc:date>2018-07-20T14:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107126#M7317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The idea is to have a sheet that you can move from one sense application to antoher and you can use it to profile your data regardless of the data model in the back end.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure if NullCount() can do this, i would need think about it more to see if i can have the $Fields as dimension maybe in a pivot and see if the NullCount() would aggregate over all of them ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but will need to test this out &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jul 2018 07:19:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107126#M7317</guid>
      <dc:creator>ghaliabed</dc:creator>
      <dc:date>2018-07-23T07:19:10Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107127#M7318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Though ideally ill be able to create a KPI showing the percentage of Nulls in the data model as if it's like a density KPI&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jul 2018 07:20:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107127#M7318</guid>
      <dc:creator>ghaliabed</dc:creator>
      <dc:date>2018-07-23T07:20:17Z</dc:date>
    </item>
    <item>
      <title>Re: Data Profiling across Fields</title>
      <link>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107128#M7319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I complete script code above :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;profiling:&lt;/P&gt;&lt;P&gt;load * inline [myTable,myField,nullCount&lt;/P&gt;&lt;P&gt;];&lt;/P&gt;&lt;P&gt;for itable = 0 to&amp;nbsp; NoOfTables()-1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;let vTable = TableName(itable);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for ifield= 1 to NoOfFields(vTable) ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; let vField = FieldName(ifield,tableName(itable));&lt;/P&gt;&lt;P&gt;profiling:&lt;/P&gt;&lt;P&gt;concatenate load '$(vTable)' as myTable, '$(vField)' as myField, NullCount($(vField)) as nullCount resident $(vTable);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;next ifield;&lt;/P&gt;&lt;P&gt;next itable;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so you have your kpi in nullCount :&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/208532_pastedImage_5.png" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I let you complete code for other kpi (total, distinct and duplicate count &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt; )&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jul 2018 08:51:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/Data-Profiling-across-Fields/m-p/107128#M7319</guid>
      <dc:creator>ogautier62</dc:creator>
      <dc:date>2018-07-23T08:51:41Z</dc:date>
    </item>
  </channel>
</rss>

