<?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>article On-demand App Generation(ODAG) in QlikSense in Qlik Sense Documents</title>
    <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/ta-p/1479247</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand apps enable you to load and analyze big data sources in Qlik Sense. On-demand app generation service is available in Qlik Sense default services from September 2017 version.&lt;BR /&gt;&lt;BR /&gt;To work with On Demand App Generation User should need Qliksense Server. ODAG won't work on QlikSense Desktop Version. On-demand selection and template apps require special load scripting.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;Enable On-Demand App Service in QMC:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;Before starting ODAG scripting we need to enable On-Demand App Service in QMC like below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Enable On Demand Service on QMC under On-demand app Service Tab.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;By default it was disabled we need to enable by clicking on checkbox.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG class="jive-image" src="https://lh3.googleusercontent.com/MCT1ZsCWdWFJtI8BW9POOolUIj0pKnUGjnXG5DAHDWMSF98lp5gayjgc8-LnjbjRiWfNc3nhaa3KpL_1O7zIcAQ=s600" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG style="color: #b22222;"&gt;On-Demand App Scripting:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-Demand functionality contains Two apps called &lt;STRONG&gt;'Selection App'&lt;/STRONG&gt; and &lt;STRONG&gt;'Template App'&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand selection apps must load data with a modest level of dimension granularity. &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand template apps contain load scripts with data binding expressions used to formulate the queries made on the data sources.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;A selection app can be linked to multiple template apps, and a single template app can be linked to by multiple selection apps. But the template app's data binding expressions must correspond to fields in the selection apps that link to it.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;1. Selection App Script:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;On-demand selection apps is nothing but our Final Project application it must load data with a modest level of dimension granularity.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;ODBC Connect to ...&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;FactTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PURCHASEDATE as [Purchase Date]&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;STORENAME as [Store Name],&lt;BR /&gt;STOREDESCRIPTION as [Store Description],&lt;BR /&gt;PRICE as Price,&lt;BR /&gt;TAX as Tax,&lt;BR /&gt;1 as TOTAL_LINES;&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;to_chat(pp.purchasedate,'DD/MM/YYYY') as purchasedate,&lt;BR /&gt;pp.productid,&lt;BR /&gt;s.storename,&lt;BR /&gt;s.storedescription,&lt;BR /&gt;Sum(pp.price) as price,&lt;BR /&gt;Sum(pp.tax) as tax&lt;BR /&gt;from product_Price pp&lt;BR /&gt;inner join store s on s.storeid = pp.storeid&lt;BR /&gt;Group by pp.productid,s.storename,s.storedescription;&lt;BR /&gt;&lt;BR /&gt;Left Keep(FactTable)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;DimensionTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;PRODUCTYTPE as [Product Type],&lt;BR /&gt;PRODUCTDESCRIPTION as [Product Description],&lt;BR /&gt;CUSTOMERNAME as [Customer Name],&lt;BR /&gt;CUSTOMERADDRESS as [Customer Address];&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;p.productid,&lt;BR /&gt;p.producttype,&lt;BR /&gt;c.productdescription,&lt;BR /&gt;ct.customername,&lt;BR /&gt;ct.customeraddress&lt;BR /&gt;from product_account p&lt;BR /&gt;inner join product_company c on c.productcompanyid = a.productcompanyid&lt;BR /&gt;inner join product_customer_type ct on ct.productcustomertypeid = a.productcustomertypeid;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;2. Template App Script:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;//Created subroutine for fields in DimensionTable&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;BR /&gt;&lt;BR /&gt;SET PRODUCTYTPE = ;&lt;BR /&gt;SET PRODUCTYTPE = $(ods_Product Type); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRODUCTYTPE_COLNAME='p.producttype'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET CUSTOMERNAME = ;&lt;BR /&gt;SET CUSTOMERNAME = $(ods_Customer Name); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET CUSTOMERNAME_COLNAME='ct.customername'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART = '';&lt;BR /&gt;&lt;BR /&gt;FOR EACH fldname IN 'PRODUCTYTPE', 'CUSTOMERNAME'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;// Created Custom Sub Routine for Date Field&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere1(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART1) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART1 = '$(WHERE_PART1) AND ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART1 = ' $(Values) ';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="font-size: 14px;"&gt;SET PURCHASEDATE = ; //In the Load Left hand side PURCHASEDATE mention at first,Second and Third Set variable names&lt;BR /&gt;SET PURCHASEDATE = $(ods_Purchase Date]); // The field inside the $() on the right-hand-side of the SET statement must match with the field from //selection app&lt;BR /&gt;SET PURCHASEDATE_COLNAME='PURCHASEDATE';&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART1 = '';&lt;BR /&gt;&lt;BR /&gt;//First Set Statement Variable field PURCHASEDATE need to mention at For Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 14px;"&gt;FOR EACH fldname IN 'PURCHASEDATE'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere1('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART1);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;//Created subroutine for other fields in FactTable&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere2(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART2) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART2 = '$(WHERE_PART2) AND $(ColName) IN ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART2 = ' WHERE $(ColName) IN ( $(Values) )';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;BR /&gt;&lt;BR /&gt;SET PRODUCTID = ;&lt;BR /&gt;SET PRODUCTID= $(ods_Product); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRODUCTID_COLNAME='pp.productid'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET STORENAME = ;&lt;BR /&gt;SET STORENAME = $(ods_Store Name); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET STORENAME _COLNAME='s.storename'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET PRICE= ;&lt;BR /&gt;SET PRICE = $(ods_Price); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRICE_COLNAME='pp.price'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART2 = '';&lt;BR /&gt;&lt;BR /&gt;FOR EACH fldname IN 'PRODUCTID ', 'STORENAME ', 'PRICE'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere2('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART2);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;ODBC Connect to ...&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;FactTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PURCHASEDATE as [Purchase Date]&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;STORENAME as [Store Name],&lt;BR /&gt;STOREDESCRIPTION as [Store Description],&lt;BR /&gt;PRICE as Price,&lt;BR /&gt;TAX as Tax&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1 as TOTAL_LINES&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;;&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;to_chat(pp.purchasedate,'DD/MM/YYYY') as purchasedate,&lt;BR /&gt;pp.productid,&lt;BR /&gt;s.storename,&lt;BR /&gt;s.storedescription,&lt;BR /&gt;Sum(pp.price) as price,&lt;BR /&gt;Sum(pp.tax) as tax&lt;BR /&gt;from product_Price pp&lt;BR /&gt;inner join store s on s.storeid = pp.storeid&lt;BR /&gt;$(WHERE_PART2) and pp.purchasedate &amp;lt;= to_Date($(WHERE_PART1),'DD/MM/YYYY') ;&lt;BR /&gt;&lt;BR /&gt;Left Keep(FactTable)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;DimensionTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;PRODUCTYTPE as [Product Type],&lt;BR /&gt;PRODUCTDESCRIPTION as [Product Description],&lt;BR /&gt;CUSTOMERNAME as [Customer Name],&lt;BR /&gt;CUSTOMERADDRESS as [Customer Address];&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;p.productid,&lt;BR /&gt;p.producttype,&lt;BR /&gt;c.productdescription,&lt;BR /&gt;ct.customername,&lt;BR /&gt;ct.customeraddress&lt;BR /&gt;from product_account p&lt;BR /&gt;inner join product_company c on c.productcompanyid = a.productcompanyid&lt;BR /&gt;inner join product_customer_type ct on ct.productcustomertypeid = a.productcustomertypeid&lt;BR /&gt;$(WHERE_PART);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; No Need to reload the Template app just model it. Then from selection app, we can reload our template app for the selected values by generating new application.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;Create App Navigation Link In between Selection App and Template App&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Once we have completed the Selection App and Template App building need to create App Navigation Link in Between these two apps like below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Open an on-demand selection app(ProductSelectionapp.qvf) and select Edit.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select App navigation links from the panel on the left side.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Click the Create new button to open the Create new On-demand app navigation link dialog.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;Name &lt;/STRONG&gt;the new on-demand app navigation link as per your wish&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select an &lt;STRONG&gt;On-demand template app&lt;/STRONG&gt;(ProductTemplateapp.qvf) from the drop down&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Write an &lt;STRONG&gt;Expression &lt;/STRONG&gt;that computes the total number of detail records i.e., SUM(TOTAL_LINES) which we have created in the above script&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Specify the &lt;STRONG&gt;Maximum row count&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Note: The Maximum row count should be less than or equal to SUM(TOTAL_LINES) count&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Specify the &lt;STRONG&gt;Maximum number of generated apps&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;In the drop-down menu to the right of the &lt;STRONG&gt;Retention time of generated app &lt;/STRONG&gt;menu, select the unit of time for the retention period.The options for retention time are hours, days, or Never expires.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;In the&lt;STRONG&gt; Default view when opening generated apps&lt;/STRONG&gt; menu, select the sheet to display first when the apps generated from the navigation link are opened.&lt;BR /&gt;You can select App overview or one of the sheets in the selection app from which the navigation link is created.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select a stream from the &lt;STRONG&gt;Publish to&lt;/STRONG&gt; drop-down menu where apps generated from the navigation link will be published&lt;/SPAN&gt;.&amp;nbsp; &lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/u1jh0HclIqV3oah1ydLa0fzmK3EBhrjl5iYdVN-cQBNa7q3wj70bjedaTyUHaJu7DwEbg2_sR71q0Lb1Y8ghDw=s347" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;12. Then do selections on ODAG Filters. When the ODAG2 button turns to green, then user able to generate the app.&lt;BR /&gt;13. Click on On-Demand Button &amp;gt;then click on ”i” icon&amp;gt;it will show you the fetching lines under status&amp;gt;click on generated app button&amp;gt;again click on “i” icon to close the window&lt;BR /&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/mONpmtkx-vhmzk_948QPgV1y_4lZuAHXsqkQR7jJqny2wDhFrC9TcENqeUdDRxSrVDhIGT0fer3Zrk6DwrmjcQz0=s310" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;14. Once the app generated click on open app.&lt;BR /&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/O73wR7ENd_CaIalDdPxXIlUeQhgF_UIY51mrjXoyyy3yjo_Xty4tQd-jMVYWpaBeIVdkAG9vylWpkfRN2ZLJozEs=s350" border="0" alt="" title="" /&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 05 Feb 2020 18:03:29 GMT</pubDate>
    <dc:creator>pawwy1415</dc:creator>
    <dc:date>2020-02-05T18:03:29Z</dc:date>
    <item>
      <title>On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/ta-p/1479247</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand apps enable you to load and analyze big data sources in Qlik Sense. On-demand app generation service is available in Qlik Sense default services from September 2017 version.&lt;BR /&gt;&lt;BR /&gt;To work with On Demand App Generation User should need Qliksense Server. ODAG won't work on QlikSense Desktop Version. On-demand selection and template apps require special load scripting.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;Enable On-Demand App Service in QMC:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;Before starting ODAG scripting we need to enable On-Demand App Service in QMC like below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Enable On Demand Service on QMC under On-demand app Service Tab.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;By default it was disabled we need to enable by clicking on checkbox.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG class="jive-image" src="https://lh3.googleusercontent.com/MCT1ZsCWdWFJtI8BW9POOolUIj0pKnUGjnXG5DAHDWMSF98lp5gayjgc8-LnjbjRiWfNc3nhaa3KpL_1O7zIcAQ=s600" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG style="color: #b22222;"&gt;On-Demand App Scripting:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-Demand functionality contains Two apps called &lt;STRONG&gt;'Selection App'&lt;/STRONG&gt; and &lt;STRONG&gt;'Template App'&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand selection apps must load data with a modest level of dimension granularity. &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;On-demand template apps contain load scripts with data binding expressions used to formulate the queries made on the data sources.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;A selection app can be linked to multiple template apps, and a single template app can be linked to by multiple selection apps. But the template app's data binding expressions must correspond to fields in the selection apps that link to it.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;1. Selection App Script:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;On-demand selection apps is nothing but our Final Project application it must load data with a modest level of dimension granularity.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;ODBC Connect to ...&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;FactTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PURCHASEDATE as [Purchase Date]&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;STORENAME as [Store Name],&lt;BR /&gt;STOREDESCRIPTION as [Store Description],&lt;BR /&gt;PRICE as Price,&lt;BR /&gt;TAX as Tax,&lt;BR /&gt;1 as TOTAL_LINES;&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;to_chat(pp.purchasedate,'DD/MM/YYYY') as purchasedate,&lt;BR /&gt;pp.productid,&lt;BR /&gt;s.storename,&lt;BR /&gt;s.storedescription,&lt;BR /&gt;Sum(pp.price) as price,&lt;BR /&gt;Sum(pp.tax) as tax&lt;BR /&gt;from product_Price pp&lt;BR /&gt;inner join store s on s.storeid = pp.storeid&lt;BR /&gt;Group by pp.productid,s.storename,s.storedescription;&lt;BR /&gt;&lt;BR /&gt;Left Keep(FactTable)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;DimensionTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;PRODUCTYTPE as [Product Type],&lt;BR /&gt;PRODUCTDESCRIPTION as [Product Description],&lt;BR /&gt;CUSTOMERNAME as [Customer Name],&lt;BR /&gt;CUSTOMERADDRESS as [Customer Address];&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;p.productid,&lt;BR /&gt;p.producttype,&lt;BR /&gt;c.productdescription,&lt;BR /&gt;ct.customername,&lt;BR /&gt;ct.customeraddress&lt;BR /&gt;from product_account p&lt;BR /&gt;inner join product_company c on c.productcompanyid = a.productcompanyid&lt;BR /&gt;inner join product_customer_type ct on ct.productcustomertypeid = a.productcustomertypeid;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;2. Template App Script:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;//Created subroutine for fields in DimensionTable&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;BR /&gt;&lt;BR /&gt;SET PRODUCTYTPE = ;&lt;BR /&gt;SET PRODUCTYTPE = $(ods_Product Type); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRODUCTYTPE_COLNAME='p.producttype'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET CUSTOMERNAME = ;&lt;BR /&gt;SET CUSTOMERNAME = $(ods_Customer Name); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET CUSTOMERNAME_COLNAME='ct.customername'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART = '';&lt;BR /&gt;&lt;BR /&gt;FOR EACH fldname IN 'PRODUCTYTPE', 'CUSTOMERNAME'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;// Created Custom Sub Routine for Date Field&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere1(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART1) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART1 = '$(WHERE_PART1) AND ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART1 = ' $(Values) ';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="font-size: 14px;"&gt;SET PURCHASEDATE = ; //In the Load Left hand side PURCHASEDATE mention at first,Second and Third Set variable names&lt;BR /&gt;SET PURCHASEDATE = $(ods_Purchase Date]); // The field inside the $() on the right-hand-side of the SET statement must match with the field from //selection app&lt;BR /&gt;SET PURCHASEDATE_COLNAME='PURCHASEDATE';&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART1 = '';&lt;BR /&gt;&lt;BR /&gt;//First Set Statement Variable field PURCHASEDATE need to mention at For Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 14px;"&gt;FOR EACH fldname IN 'PURCHASEDATE'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere1('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART1);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;SPAN style="color: #b22222;"&gt;//Created subroutine for other fields in FactTable&lt;/SPAN&gt;&lt;BR /&gt;SUB ExtendWhere2(Name, ValVarName)&lt;BR /&gt;LET T = Name &amp;amp; '_COLNAME';&lt;BR /&gt;LET ColName = $(T);&lt;BR /&gt;LET Values = $(ValVarName);&lt;BR /&gt;IF len(Values) &amp;gt; 0 THEN&lt;BR /&gt;IF len(WHERE_PART2) &amp;gt; 0 THEN&lt;BR /&gt;LET WHERE_PART2 = '$(WHERE_PART2) AND $(ColName) IN ( $(Values) )';&lt;BR /&gt;ELSE&lt;BR /&gt;LET WHERE_PART2 = ' WHERE $(ColName) IN ( $(Values) )';&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDIF&lt;BR /&gt;END SUB;&lt;BR /&gt;&lt;BR /&gt;SET PRODUCTID = ;&lt;BR /&gt;SET PRODUCTID= $(ods_Product); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRODUCTID_COLNAME='pp.productid'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET STORENAME = ;&lt;BR /&gt;SET STORENAME = $(ods_Store Name); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET STORENAME _COLNAME='s.storename'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET PRICE= ;&lt;BR /&gt;SET PRICE = $(ods_Price); // Right hand side field should match with Load -UI field&lt;BR /&gt;SET PRICE_COLNAME='pp.price'; // Right hand side field should match with database feild&lt;BR /&gt;&lt;BR /&gt;SET WHERE_PART2 = '';&lt;BR /&gt;&lt;BR /&gt;FOR EACH fldname IN 'PRODUCTID ', 'STORENAME ', 'PRICE'&lt;BR /&gt;LET vallist = $($(fldname));&lt;BR /&gt;WHEN (IsNull(vallist)) LET vallist = '';&lt;BR /&gt;IF len(vallist) &amp;gt; 0 THEN&lt;BR /&gt;CALL ExtendWhere2('$(fldname)','vallist');&lt;BR /&gt;ENDIF&lt;BR /&gt;NEXT fldname&lt;BR /&gt;&lt;BR /&gt;TRACE Generated WHERE clause: ;&lt;BR /&gt;TRACE $(WHERE_PART2);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;ODBC Connect to ...&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #b22222;"&gt;&lt;STRONG&gt;FactTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PURCHASEDATE as [Purchase Date]&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;STORENAME as [Store Name],&lt;BR /&gt;STOREDESCRIPTION as [Store Description],&lt;BR /&gt;PRICE as Price,&lt;BR /&gt;TAX as Tax&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1 as TOTAL_LINES&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;;&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;to_chat(pp.purchasedate,'DD/MM/YYYY') as purchasedate,&lt;BR /&gt;pp.productid,&lt;BR /&gt;s.storename,&lt;BR /&gt;s.storedescription,&lt;BR /&gt;Sum(pp.price) as price,&lt;BR /&gt;Sum(pp.tax) as tax&lt;BR /&gt;from product_Price pp&lt;BR /&gt;inner join store s on s.storeid = pp.storeid&lt;BR /&gt;$(WHERE_PART2) and pp.purchasedate &amp;lt;= to_Date($(WHERE_PART1),'DD/MM/YYYY') ;&lt;BR /&gt;&lt;BR /&gt;Left Keep(FactTable)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;DimensionTable:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Load&lt;BR /&gt;PRODUCTID as Product,&lt;BR /&gt;PRODUCTYTPE as [Product Type],&lt;BR /&gt;PRODUCTDESCRIPTION as [Product Description],&lt;BR /&gt;CUSTOMERNAME as [Customer Name],&lt;BR /&gt;CUSTOMERADDRESS as [Customer Address];&lt;BR /&gt;&lt;BR /&gt;sql select&lt;BR /&gt;p.productid,&lt;BR /&gt;p.producttype,&lt;BR /&gt;c.productdescription,&lt;BR /&gt;ct.customername,&lt;BR /&gt;ct.customeraddress&lt;BR /&gt;from product_account p&lt;BR /&gt;inner join product_company c on c.productcompanyid = a.productcompanyid&lt;BR /&gt;inner join product_customer_type ct on ct.productcustomertypeid = a.productcustomertypeid&lt;BR /&gt;$(WHERE_PART);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; No Need to reload the Template app just model it. Then from selection app, we can reload our template app for the selected values by generating new application.&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="color: #b22222; font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;Create App Navigation Link In between Selection App and Template App&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Once we have completed the Selection App and Template App building need to create App Navigation Link in Between these two apps like below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Open an on-demand selection app(ProductSelectionapp.qvf) and select Edit.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select App navigation links from the panel on the left side.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Click the Create new button to open the Create new On-demand app navigation link dialog.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;&lt;STRONG&gt;Name &lt;/STRONG&gt;the new on-demand app navigation link as per your wish&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select an &lt;STRONG&gt;On-demand template app&lt;/STRONG&gt;(ProductTemplateapp.qvf) from the drop down&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Write an &lt;STRONG&gt;Expression &lt;/STRONG&gt;that computes the total number of detail records i.e., SUM(TOTAL_LINES) which we have created in the above script&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Specify the &lt;STRONG&gt;Maximum row count&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Note: The Maximum row count should be less than or equal to SUM(TOTAL_LINES) count&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Specify the &lt;STRONG&gt;Maximum number of generated apps&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;In the drop-down menu to the right of the &lt;STRONG&gt;Retention time of generated app &lt;/STRONG&gt;menu, select the unit of time for the retention period.The options for retention time are hours, days, or Never expires.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;In the&lt;STRONG&gt; Default view when opening generated apps&lt;/STRONG&gt; menu, select the sheet to display first when the apps generated from the navigation link are opened.&lt;BR /&gt;You can select App overview or one of the sheets in the selection app from which the navigation link is created.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;Select a stream from the &lt;STRONG&gt;Publish to&lt;/STRONG&gt; drop-down menu where apps generated from the navigation link will be published&lt;/SPAN&gt;.&amp;nbsp; &lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/u1jh0HclIqV3oah1ydLa0fzmK3EBhrjl5iYdVN-cQBNa7q3wj70bjedaTyUHaJu7DwEbg2_sR71q0Lb1Y8ghDw=s347" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;12. Then do selections on ODAG Filters. When the ODAG2 button turns to green, then user able to generate the app.&lt;BR /&gt;13. Click on On-Demand Button &amp;gt;then click on ”i” icon&amp;gt;it will show you the fetching lines under status&amp;gt;click on generated app button&amp;gt;again click on “i” icon to close the window&lt;BR /&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/mONpmtkx-vhmzk_948QPgV1y_4lZuAHXsqkQR7jJqny2wDhFrC9TcENqeUdDRxSrVDhIGT0fer3Zrk6DwrmjcQz0=s310" border="0" alt="" title="" /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 14px; font-family: Arial,Helvetica,sans-serif;"&gt;14. Once the app generated click on open app.&lt;BR /&gt;&lt;SPAN class="center outer-image-wrapper xs-img"&gt;&lt;SPAN class="frame"&gt;&lt;IMG style="margin-right: auto; margin-left: auto; display: block;" class="jive-image" src="https://lh3.googleusercontent.com/O73wR7ENd_CaIalDdPxXIlUeQhgF_UIY51mrjXoyyy3yjo_Xty4tQd-jMVYWpaBeIVdkAG9vylWpkfRN2ZLJozEs=s350" border="0" alt="" title="" /&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Feb 2020 18:03:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/ta-p/1479247</guid>
      <dc:creator>pawwy1415</dc:creator>
      <dc:date>2020-02-05T18:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479248#M448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the good post kumar, just a simple question, What is the real use case of ODAG in real world ?&lt;/P&gt;&lt;P&gt;Is it for BigData related applications? can you just elaborate ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2018 16:49:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479248#M448</guid>
      <dc:creator>kkkumar82</dc:creator>
      <dc:date>2018-07-07T16:49:26Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479249#M449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there - for us it was driven by Big Data challenges (and the fact that analyzing daily transactions was extremely difficult due to performance issues caused by data volumes), but I am sure you can use this in different situations too. I am sure some of your users would like to see the links between one app and another, and you can achieve this using ODAG as well. Hope this helps,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;&lt;P&gt;Micha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Jul 2018 10:02:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479249#M449</guid>
      <dc:creator>kuczynska</dc:creator>
      <dc:date>2018-07-13T10:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479250#M450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the answering&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2018 08:17:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479250#M450</guid>
      <dc:creator>kkkumar82</dc:creator>
      <dc:date>2018-07-16T08:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479251#M451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One other thing we are currently working on is max number of apps that can be generated at the same time - as per below:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="odag_max_reloads.png" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/209570_odag_max_reloads.png" style="height: 250px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;We are currently waiting on some confirmation from Qlik if there is any way to overcome this issue (without the need to increase the infrastructure by additional load balancing nodes and upgrade to the most recent release) as this is now vital to the success of our project. We have been told that the value of 10 is a pure limit of the service, but we are still hoping there hardcoded limit of 10 could be removed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone here maybe managed to find any workarounds?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Michalina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Aug 2018 13:01:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479251#M451</guid>
      <dc:creator>kuczynska</dc:creator>
      <dc:date>2018-08-01T13:01:09Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479252#M452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/qlik-users/201164"&gt;kuczynska&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know if there is any way to avoid hard coding the ods_variables in the template app (e.g., &lt;SPAN style="color: #3d3d3d; font-family: Arial, Helvetica, sans-serif; font-size: 14px;"&gt;ods_Product Type). We want to, for example, load in the fields that users can make a selection on from an excel file.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: Arial, Helvetica, sans-serif; font-size: 14px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I posed that question here, but got no reply, which makes me thing it is not possible.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/message/1503727"&gt;Variable Field Names in On-Demand App Generation (ODAG)&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 Aug 2018 13:08:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479252#M452</guid>
      <dc:creator>jonvitale</dc:creator>
      <dc:date>2018-08-01T13:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479253#M453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've written a short blog post on ODAG with a script you can download.&amp;nbsp; Hope it's useful:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://adventuresinqlik.com/2018/10/08/on-demand-app-generation-odag/" title="https://adventuresinqlik.com/2018/10/08/on-demand-app-generation-odag/"&gt;https://adventuresinqlik.com/2018/10/08/on-demand-app-generation-odag/&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2018 07:11:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479253#M453</guid>
      <dc:creator>catalystmichael</dc:creator>
      <dc:date>2018-10-08T07:11:37Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479254#M454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you double-check this link?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2018 13:00:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479254#M454</guid>
      <dc:creator>jonvitale</dc:creator>
      <dc:date>2018-10-08T13:00:35Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479255#M455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Another way to easily build your own ODAG&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/QlikPreSalesDACH/odag_wizard" title="https://github.com/QlikPreSalesDACH/odag_wizard"&gt;https://github.com/QlikPreSalesDACH/odag_wizard&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2018 16:51:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1479255#M455</guid>
      <dc:creator>Ricardo_Gerhard</dc:creator>
      <dc:date>2018-11-07T16:51:25Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1529598#M3545</link>
      <description>&lt;P&gt;Is there any limit on the number of apps that can be created this way?&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jan 2019 17:27:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1529598#M3545</guid>
      <dc:creator>sri_c003</dc:creator>
      <dc:date>2019-01-11T17:27:51Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1564595#M3771</link>
      <description>&lt;P&gt;For those having issues running this, when ExtendWhere is being called in the for loop you have to call '$(vallist)', not 'vallist' because you want to reference the variable.&lt;/P&gt;</description>
      <pubDate>Wed, 03 Apr 2019 13:24:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1564595#M3771</guid>
      <dc:creator>MartinMasMontiel</dc:creator>
      <dc:date>2019-04-03T13:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1571758#M3809</link>
      <description>&lt;P&gt;Hello, thanks for your detailed steps.&lt;/P&gt;&lt;P&gt;I am getting the error "The script of the template app has no on-demand app bindings" when I try to select&amp;nbsp; the template app&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="odag error.JPG" style="width: 479px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/10652i9F47B95BCA5694B5/image-size/large?v=v2&amp;amp;px=999" role="button" title="odag error.JPG" alt="odag error.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 22 Apr 2019 16:33:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1571758#M3809</guid>
      <dc:creator>sharishd</dc:creator>
      <dc:date>2019-04-22T16:33:36Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1578634#M3843</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;does anybody know if there is the option to create two ODAG buttons for different users, I mean enable them for different users/groups?&lt;/P&gt;&lt;P&gt;The two buttons will have the same template, but different options on expire date. I don't think they can be shown only to the respective group, like an "OMIT" on a field.&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;Alessandro&lt;/P&gt;</description>
      <pubDate>Thu, 09 May 2019 17:13:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1578634#M3843</guid>
      <dc:creator>amarti</dc:creator>
      <dc:date>2019-05-09T17:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1610697#M3978</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;Can anyone please write the syntax for selections quantity constraint. In help/documentation it is written as&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;$(od_MYFIELD)[1+]&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;when I am applying on actual code like this&amp;nbsp;&lt;/P&gt;&lt;P&gt;SET YEAR='';&lt;BR /&gt;OdagBinding:&lt;BR /&gt;LOAD * INLINE [&lt;BR /&gt;VAL&lt;BR /&gt;$(odso_Year)[1-]{"quote": "", "delimiter": ""}&lt;BR /&gt;];&lt;BR /&gt;SET YEAR_COLNAME='Year';&lt;/P&gt;&lt;P&gt;I am getting syntax error highlight by Qlik Sense script editor.&lt;/P&gt;&lt;P&gt;what is the correct syntax ? In all the examples so far I couldn't find the code for&amp;nbsp;selections quantity constraint.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Taha&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2019 13:20:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1610697#M3978</guid>
      <dc:creator>taha_mansoor</dc:creator>
      <dc:date>2019-08-08T13:20:20Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1610724#M3979</link>
      <description>&lt;P&gt;Hi Taha,&lt;/P&gt;&lt;P&gt;Try with $(od_Year)[1-]. Do you need at most one value or at least one?&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Alessandro&lt;/P&gt;</description>
      <pubDate>Thu, 08 Aug 2019 14:10:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1610724#M3979</guid>
      <dc:creator>amarti</dc:creator>
      <dc:date>2019-08-08T14:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1613583#M3994</link>
      <description>&lt;P&gt;Hi Alessandro,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried&amp;nbsp;&lt;SPAN&gt;$(od_Year)[1-] still getting the syntax highlight with Red. However, it worked.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 18 Aug 2019 16:08:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1613583#M3994</guid>
      <dc:creator>taha_mansoor</dc:creator>
      <dc:date>2019-08-18T16:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1672510#M4204</link>
      <description>&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/50474"&gt;@pawwy1415&lt;/a&gt; I have followed your method of creating on demand app. The app successfully generates the where clauses and applies them. My problem is I get the field not found error.I have can confirm that field names are entered correctly in the binding script.</description>
      <pubDate>Wed, 05 Feb 2020 12:41:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1672510#M4204</guid>
      <dc:creator>brandk</dc:creator>
      <dc:date>2020-02-05T12:41:20Z</dc:date>
    </item>
    <item>
      <title>Re: On-demand App Generation(ODAG) in QlikSense</title>
      <link>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1675151#M4225</link>
      <description>&lt;P&gt;Good day&lt;/P&gt;&lt;P&gt;Could I get assistance with the set part of the script as below. I want my On demand app to filter using YearMonth. My issue is that in line 3 right hand side, I am required to match YearMonth field&amp;nbsp; with source field but my QVD source does not contain YearMonth field. Instead the YearMonth is being generated during load using a Date field from the source&amp;nbsp; through command Date.autoCalender.YearMonth&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1.&amp;nbsp; SET YearMonth = ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2.&amp;nbsp; SET YearMonth = $(ods_YearMonth); // Right hand side field should match with Load -UI field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3.&amp;nbsp; SE&lt;/SPAN&gt;T&amp;nbsp;&lt;SPAN&gt;YearMonth&lt;/SPAN&gt;&lt;SPAN&gt;_COLNAME=' '; // Right hand side field should match with database field&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Feb 2020 06:53:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Sense-Documents/On-demand-App-Generation-ODAG-in-QlikSense/tac-p/1675151#M4225</guid>
      <dc:creator>brandk</dc:creator>
      <dc:date>2020-02-13T06:53:52Z</dc:date>
    </item>
  </channel>
</rss>

