<?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: Convert TableBox to StraightTable with Macro Solution in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Convert-TableBox-to-StraightTable-with-Macro-Solution/m-p/1700018#M451157</link>
    <description>&lt;P&gt;I have copied some more items from the table box, such as window title, show condition, etc. However, I do not manage to copy the exact same Position (top, left, width, height) of the table box to the new straigt table. Maybe somebody knows how to do so:&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;&amp;nbsp; 'Copy tablebox title&lt;BR /&gt;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.WindowTitle.v = tbp.Layout.Frame.Name.v&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the calculation condition&lt;BR /&gt;&amp;nbsp; cp.EvaluationCondition.v = tbp.EvaluationCondition.v&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the show condition&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.Frame.Show.Always = false&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.Frame.Show.Expression.v = tbp.Layout.Frame.Show.Expression.v&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the calculation errors messages&lt;BR /&gt;&amp;nbsp; for i = 0 to cp.GraphLayout.ErrorMessageOverrides.Count-1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.GraphLayout.ErrorMessageOverrides.Item(i).v = tbp.ErrorMessageOverrides(i).v&lt;BR /&gt;&amp;nbsp; next&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy position: does not work, new chart does not take exact position of tablebox&lt;BR /&gt;&amp;nbsp; 'mh dim dummy(0) 'all parts&lt;BR /&gt;&amp;nbsp; 'mh set fr = chart.GetFrameDef&lt;BR /&gt;&amp;nbsp; 'mh set pos = fr.Rect&lt;BR /&gt;&amp;nbsp; 'mh pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Top&lt;BR /&gt;&amp;nbsp; 'mh pos.Left&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Left&lt;BR /&gt;&amp;nbsp; 'mh pos.Width&amp;nbsp; = tbp.Layout.Frame.Rect.Width&lt;BR /&gt;&amp;nbsp; 'mh pos.Height = tbp.Layout.Frame.Rect.Height&lt;BR /&gt;&amp;nbsp; 'mh set pos = fr.MinimizedRect&lt;BR /&gt;&amp;nbsp; 'mh pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Top&lt;BR /&gt;&amp;nbsp; 'mh pos.Left&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Left&lt;BR /&gt;&amp;nbsp; 'mh pos.Width&amp;nbsp; = tbp.Layout.Frame.Rect.Width&lt;BR /&gt;&amp;nbsp; 'mh pos.Height = tbp.Layout.Frame.Rect.Height&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'mh chart.SetFrame fr, true, dummy&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy position: does not work, new chart does not take exact position of tablebox&lt;BR /&gt;&amp;nbsp; pos = chart.GetRect&lt;BR /&gt;&amp;nbsp; pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tb.GetRect.Top&lt;BR /&gt;&amp;nbsp; pos.Left&amp;nbsp;&amp;nbsp; = tb.GetRect.Left&lt;BR /&gt;&amp;nbsp; pos.Width&amp;nbsp; = tb.GetRect.Width&lt;BR /&gt;&amp;nbsp; pos.Height = tb.GetRect.Height&lt;BR /&gt;&amp;nbsp; chart.SetRect pos&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Apply table box format to chart format&lt;BR /&gt;&amp;nbsp; 'Do it manually once new straigt table exists.&lt;BR /&gt;&amp;nbsp; chart.SetProperties cp &lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 07 May 2020 22:10:49 GMT</pubDate>
    <dc:creator>hugmarcel</dc:creator>
    <dc:date>2020-05-07T22:10:49Z</dc:date>
    <item>
      <title>Convert TableBox to StraightTable with Macro Solution</title>
      <link>https://community.qlik.com/t5/QlikView/Convert-TableBox-to-StraightTable-with-Macro-Solution/m-p/1699217#M451113</link>
      <description>&lt;DIV&gt;&lt;FONT&gt;'Copy theTableBox as new straight table, use theExcludeField of theTableBox as dimension or expression, if not ""&lt;BR /&gt;'Call CopyTableBox2NewStraightTable("TB01", true, false, "&amp;lt;expressionfield&amp;gt;")&lt;BR /&gt;'Call CopyTableBox2NewStraightTable("TB02", false, true, "&amp;lt;dimensionfield&amp;gt;")&lt;BR /&gt;sub CopyTableBox2NewStraightTable(theTableBox, asDimensions, asExpressions, theExcludeField)&lt;BR /&gt;&amp;nbsp; 'Create new chart:&lt;BR /&gt;&amp;nbsp; set chart = ActiveDocument.Activesheet.CreateStraightTable&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Read theTableBox items, add to new chart&lt;BR /&gt;&amp;nbsp; set tb = ActiveDocument.GetSheetObject(theTableBox)&lt;BR /&gt;&amp;nbsp; set tbp = tb.GetProperties&lt;BR /&gt;&amp;nbsp; set cols = tbp.Layout.ColLayouts&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; for i = 0 to tb.GetColumnCount-1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set fld = tb.GetField(i)&lt;BR /&gt;&amp;nbsp;vColumnField = fld.Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vColumnLabel = fld.Name&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (Len(cols.Item(i).Label.v) &amp;gt; 0) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vColumnLabel = cols.Item(i).Label.v&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT&gt;&amp;nbsp;'Set items either as dimensions or as expressions&lt;BR /&gt;&amp;nbsp;If (asDimensions) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 'Add dimension&lt;BR /&gt;&amp;nbsp;&amp;nbsp; If (vColumnField &amp;lt;&amp;gt; theExcludeField) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.AddDimension vColumnField&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add label to dimension if &amp;lt;&amp;gt; dimension&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (vColumnLabel &amp;lt;&amp;gt; vColumnField) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set dims = cp.Dimensions&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dims(i).Title.v = vColumnLabel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.SetProperties cp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set dims = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add dummy expression, finally&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.AddExpression "=Only([" &amp;amp; vColumnField &amp;amp; "])"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set expression name and total mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = cp.Expressions.Count - 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.Expressions.Item(j).Item(0).Data.ExpressionVisual.Label.v = vColumnLabel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.Expressions.Item(j).Item(0).Data.ExpressionData.UsePartialSum = false&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.SetProperties cp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;ElseIf (asExpressions) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 'Set dimension to chart&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (vColumnField = theExcludeField) Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.AddDimension theExcludeField&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set dims = cp.Dimensions&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dims(0).Title.v = vColumnLabel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.SetProperties cp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set dims = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set new expression&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.AddExpression "=Only([" &amp;amp; vColumnField &amp;amp; "])"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set expression name and total mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = cp.Expressions.Count - 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.Expressions.Item(j).Item(0).Data.ExpressionVisual.Label.v = vColumnLabel&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.Expressions.Item(j).Item(0).Data.ExpressionData.UsePartialSum = false&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chart.SetProperties cp&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;End If&lt;BR /&gt;&amp;nbsp; Next&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Apply table box format to chart format&lt;BR /&gt;&amp;nbsp; 'Do it manually once new straigt table exists.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Finish&lt;BR /&gt;&amp;nbsp; set fld&amp;nbsp; = Nothing&lt;BR /&gt;&amp;nbsp; set cols = Nothing&lt;BR /&gt;&amp;nbsp; set tbp&amp;nbsp; = Nothing&lt;BR /&gt;&amp;nbsp; set tb&amp;nbsp;&amp;nbsp; = Nothing&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; set chart = Nothing&lt;BR /&gt;end sub&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 16 Nov 2024 18:41:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Convert-TableBox-to-StraightTable-with-Macro-Solution/m-p/1699217#M451113</guid>
      <dc:creator>hugmarcel</dc:creator>
      <dc:date>2024-11-16T18:41:35Z</dc:date>
    </item>
    <item>
      <title>Re: Convert TableBox to StraightTable with Macro Solution</title>
      <link>https://community.qlik.com/t5/QlikView/Convert-TableBox-to-StraightTable-with-Macro-Solution/m-p/1700018#M451157</link>
      <description>&lt;P&gt;I have copied some more items from the table box, such as window title, show condition, etc. However, I do not manage to copy the exact same Position (top, left, width, height) of the table box to the new straigt table. Maybe somebody knows how to do so:&lt;/P&gt;&lt;P&gt;&lt;FONT&gt;&amp;nbsp; 'Copy tablebox title&lt;BR /&gt;&amp;nbsp; set cp = chart.GetProperties&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.WindowTitle.v = tbp.Layout.Frame.Name.v&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the calculation condition&lt;BR /&gt;&amp;nbsp; cp.EvaluationCondition.v = tbp.EvaluationCondition.v&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the show condition&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.Frame.Show.Always = false&lt;BR /&gt;&amp;nbsp; cp.GraphLayout.Frame.Show.Expression.v = tbp.Layout.Frame.Show.Expression.v&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy the calculation errors messages&lt;BR /&gt;&amp;nbsp; for i = 0 to cp.GraphLayout.ErrorMessageOverrides.Count-1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp.GraphLayout.ErrorMessageOverrides.Item(i).v = tbp.ErrorMessageOverrides(i).v&lt;BR /&gt;&amp;nbsp; next&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy position: does not work, new chart does not take exact position of tablebox&lt;BR /&gt;&amp;nbsp; 'mh dim dummy(0) 'all parts&lt;BR /&gt;&amp;nbsp; 'mh set fr = chart.GetFrameDef&lt;BR /&gt;&amp;nbsp; 'mh set pos = fr.Rect&lt;BR /&gt;&amp;nbsp; 'mh pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Top&lt;BR /&gt;&amp;nbsp; 'mh pos.Left&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Left&lt;BR /&gt;&amp;nbsp; 'mh pos.Width&amp;nbsp; = tbp.Layout.Frame.Rect.Width&lt;BR /&gt;&amp;nbsp; 'mh pos.Height = tbp.Layout.Frame.Rect.Height&lt;BR /&gt;&amp;nbsp; 'mh set pos = fr.MinimizedRect&lt;BR /&gt;&amp;nbsp; 'mh pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Top&lt;BR /&gt;&amp;nbsp; 'mh pos.Left&amp;nbsp;&amp;nbsp; = tbp.Layout.Frame.Rect.Left&lt;BR /&gt;&amp;nbsp; 'mh pos.Width&amp;nbsp; = tbp.Layout.Frame.Rect.Width&lt;BR /&gt;&amp;nbsp; 'mh pos.Height = tbp.Layout.Frame.Rect.Height&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'mh chart.SetFrame fr, true, dummy&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Copy position: does not work, new chart does not take exact position of tablebox&lt;BR /&gt;&amp;nbsp; pos = chart.GetRect&lt;BR /&gt;&amp;nbsp; pos.Top&amp;nbsp;&amp;nbsp;&amp;nbsp; = tb.GetRect.Top&lt;BR /&gt;&amp;nbsp; pos.Left&amp;nbsp;&amp;nbsp; = tb.GetRect.Left&lt;BR /&gt;&amp;nbsp; pos.Width&amp;nbsp; = tb.GetRect.Width&lt;BR /&gt;&amp;nbsp; pos.Height = tb.GetRect.Height&lt;BR /&gt;&amp;nbsp; chart.SetRect pos&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; 'Apply table box format to chart format&lt;BR /&gt;&amp;nbsp; 'Do it manually once new straigt table exists.&lt;BR /&gt;&amp;nbsp; chart.SetProperties cp &lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2020 22:10:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Convert-TableBox-to-StraightTable-with-Macro-Solution/m-p/1700018#M451157</guid>
      <dc:creator>hugmarcel</dc:creator>
      <dc:date>2020-05-07T22:10:49Z</dc:date>
    </item>
  </channel>
</rss>

