<?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: How to eliminate Macro code to replace with triggers at Document/Sheet level. in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394765#M564282</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Unfortunately, you can't eliminate all of this code and replace it with Actions. Actions have a limited scope - they can make and modify selections, set variables, activate sheets or sheet objects. They can't, however, manipulate the contents of a Group or modify properties of any objects such as charts...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only thing you can do is add an Action at the appropriate trigger level and call the macro subroutine to perform this logic, triggered by sertain Document and Sheet events...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Oleg Troyansky &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Feb 2013 17:13:00 GMT</pubDate>
    <dc:creator>Oleg_Troyansky</dc:creator>
    <dc:date>2013-02-01T17:13:00Z</dc:date>
    <item>
      <title>How to eliminate Macro code to replace with triggers at Document/Sheet level.</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394764#M564281</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;I'm using QlikView version 10.00.9274.8 SR4 x64 &lt;/P&gt;&lt;P&gt;Need help converting the below macro code into the triggers on the document/sheet. Any help would be greatly appreciated and thanks a lot in advance for your time and input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The variable 'DocumentLevel' has the definition:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;=&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;DISTINCT&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;ALL&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 8pt;"&gt;[Territory Number]&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;)=1,'Territory',&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;DISTINCT&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;ALL&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 8pt;"&gt;Region&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;)=1,'Region',&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;DISTINCT&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;ALL&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 8pt;"&gt;Area&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;)=1,'Area',&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;count&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;DISTINCT&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;ALL&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #800000; font-size: 8pt;"&gt;[Sales Team]&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;)=1,'Sales Team',&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'All Data')))) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;and Variable 'SalesGroupCurrentField' has the definition &lt;/SPAN&gt;=&lt;SPAN style="color: #0000ff; font-size: 8pt;"&gt;GetCurrentField&lt;/SPAN&gt;&lt;SPAN style="font-size: 8pt;"&gt;(SalesGroup) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;Have created a cyclic group called 'SalesGroup'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;==============================================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;Macro code to be eliminated and replaced with triggers at document/sheet level&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;==============================================================&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; line-height: 115%; font-family: &amp;amp;quot;Courier New&amp;amp;quot;; font-size: 9pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;"&gt;Sub SetSalesGroup&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDocumentLevel =&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActiveDocument.Variables("DocumentLevel").GetContent.String&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set group = ActiveDocument.GetGroup("SalesGroup")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set gp=group.GetProperties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gdims = gp.FieldDefs.Count&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Clear current fields from group&lt;BR /&gt;&lt;BR /&gt;for i = gdims-1 to 0 step -1&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.RemoveField i&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 'set gp=group.GetProperties&lt;BR /&gt;&lt;BR /&gt;next&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;if mDocumentLevel = "All Data" then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Sales Team"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Total&lt;BR /&gt;Market"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Area"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Region"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;group.AddField "Territory"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;elseif mDocumentLevel = "Sales Team" then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Area"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Total&lt;BR /&gt;Market"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Region"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Territory"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;elseif mDocumentLevel = "Area" then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Region"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Total&lt;BR /&gt;Market"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Territory"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;elseif mDocumentLevel = "Region" then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Territory"&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; group.AddField "Total&lt;BR /&gt;Market"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;else group.AddField "Territory"&lt;BR /&gt;&lt;BR /&gt;end if&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'if SalesGroup cyclic group value is Total Market set PlanTrendMgrs chart to show Trellis as 1x1&lt;BR /&gt;&lt;BR /&gt;Sub PlanTrendMgrsProperties&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDocumentLevel =&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActiveDocument.Variables("DocumentLevel").GetContent.String&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mSalesGroup =&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActiveDocument.Variables("SalesGroupCurrentField").GetContent.String&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if mDocumentLevel = "Territory" OR mSalesGroup = "Total Market" then&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTColumns=1&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTRows=1&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else PTColumns=2&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTRows=3&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end if&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set chart = ActiveDocument.GetSheetObject("PlanTrendMgrs")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set p = chart.GetProperties&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p.ChartProperties.TrellisProperties.Columns = PTColumns&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p.ChartProperties.TrellisProperties.Rows = PTRows&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'v10 IR bug; some prop on chart must change to recalculate chart so set Error Bar Color to some random color&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; randnum = round(rnd()*255)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p.ChartProperties.ErrorBarColor.PrimaryCol.Col = RGB(randnum,randnum,randnum)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.SetProperties p&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 16:59:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394764#M564281</guid>
      <dc:creator />
      <dc:date>2013-02-01T16:59:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate Macro code to replace with triggers at Document/Sheet level.</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394765#M564282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Unfortunately, you can't eliminate all of this code and replace it with Actions. Actions have a limited scope - they can make and modify selections, set variables, activate sheets or sheet objects. They can't, however, manipulate the contents of a Group or modify properties of any objects such as charts...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only thing you can do is add an Action at the appropriate trigger level and call the macro subroutine to perform this logic, triggered by sertain Document and Sheet events...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Oleg Troyansky &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 17:13:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394765#M564282</guid>
      <dc:creator>Oleg_Troyansky</dc:creator>
      <dc:date>2013-02-01T17:13:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to eliminate Macro code to replace with triggers at Document/Sheet level.</title>
      <link>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394766#M564283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Oleg! Appreciate your feedback and prompt reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This could be listed as one of QlikView's future enhancements TBD.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 17:39:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/How-to-eliminate-Macro-code-to-replace-with-triggers-at-Document/m-p/394766#M564283</guid>
      <dc:creator />
      <dc:date>2013-02-01T17:39:53Z</dc:date>
    </item>
  </channel>
</rss>

