<?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: Skip Filter for Data Filter Context Boxes? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705664#M89016</link>
    <description>&lt;P&gt;Wonderful, thanks&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4587"&gt;@danschikore&lt;/a&gt;&amp;nbsp; :)&lt;/img&gt;&lt;BR /&gt;I will use it a hundred times and more!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6342352448112w880h358r407" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6342352448112" data-account="6058004218001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6058004218001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6342352448112w880h358r407');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://community.jmp.com/t5/video/gallerypage/video-id/6342352448112"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Selection Filter",
	Data Filter Context Box(
		H List Box(
			dfsb = Data Filter Source Box(
				gb = Graph Builder(
	Show Control Panel( 0 ),
	Show Legend( 0 ),
	Variables( X( :age ), Y( :sex ) ),
	Elements( Heatmap( X, Y, Legend( 4 ) ) )
)
			),
Graph Builder(
	Size( 534, 464 ),
	Show Control Panel( 0 ),
	Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
	Elements( Points( X, Y, Legend( 11 ) ), Smoother( X, Y, Legend( 12 ) ) )
)
		)
	)
);
Wait( 1 );

t0=hptime();
f= Function({x},
	rs = dfsb &amp;lt;&amp;lt; Get Row States();
	myrows = loc(rs,0);
	myages= associative array(dt[myrows,"age"]) &amp;lt;&amp;lt; get keys;
	myrows = dt &amp;lt;&amp;lt; get rows where(:age == myages[1]);
	rs[1::Nitems(rs)]=0;
	rs[myrows] = 1;
	dfsb &amp;lt;&amp;lt; Set Row States( dt,rs );	
	Print(rs);
	rsh = dfsb &amp;lt;&amp;lt; Make RowState Handler (dt,f); // sometimes I have to set the rowstate handler again - loop detection?
);

rsh = dfsb &amp;lt;&amp;lt; Make RowState Handler (dt,f);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 05 Dec 2023 15:59:33 GMT</pubDate>
    <dc:creator>hogi</dc:creator>
    <dc:date>2023-12-05T15:59:33Z</dc:date>
    <item>
      <title>Skip Filter for Data Filter Context Boxes?</title>
      <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705311#M88985</link>
      <description>&lt;P&gt;Hover Label Graphlets are a nice alternative to Data Filter Context Boxes.&lt;/P&gt;&lt;P&gt;With &lt;STRONG&gt;Data Filter Context Boxes&lt;/STRONG&gt;, a user can select the data points which are displayed in another graph.&lt;/P&gt;&lt;P&gt;Similarly, when a user hovers over a a data point, the Graphlet in the &lt;STRONG&gt;Hover Label&lt;/STRONG&gt; just shows a plot which is restricted to the rows corresponding to the data point.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For Hover Labels, there is the &lt;STRONG&gt;Skip Filter&lt;/STRONG&gt; option which allows the user to open the row selection.&lt;BR /&gt;e.g. by selecting sex as Skip Filter, one can generate a hover label for male and female 14 years old students, although the user just hovered over 14 years old male:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1701640888469.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/59252i273C64177A93DA5A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hogi_0-1701640888469.png" alt="hogi_0-1701640888469.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a similar Skip Filter option for &lt;STRONG&gt;Data Filter Context Boxes&lt;/STRONG&gt;&amp;nbsp;(~&amp;nbsp;&amp;nbsp;Dashboards with Filter By )?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_1-1701641092781.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/59253iC826E7DE1C646ED1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hogi_1-1701641092781.png" alt="hogi_1-1701641092781.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Dec 2023 22:05:45 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705311#M88985</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2023-12-03T22:05:45Z</dc:date>
    </item>
    <item>
      <title>Re: Skip Filter for Data Filter Context Boxes?</title>
      <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705397#M88994</link>
      <description>&lt;P&gt;I think one distinction between the two drill-down methods is that Hover Labels are based on selecting a single element in a graph, while the selection filter (DataFilterContextBox + DataFilterSourceBox) uses the aggregate selection in the graph.&amp;nbsp; So you are free to select multiple components in the source graph:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="danschikore_0-1701694712648.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/59263iE5BF1D24D37F1E26/image-size/medium?v=v2&amp;amp;px=400" role="button" title="danschikore_0-1701694712648.png" alt="danschikore_0-1701694712648.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;The selection filter works by row-states alone - it does not really have knowledge of the underlying display segs, or that the data is partitioned by age/sex.&lt;/P&gt;</description>
      <pubDate>Mon, 04 Dec 2023 13:00:56 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705397#M88994</guid>
      <dc:creator>danschikore</dc:creator>
      <dc:date>2023-12-04T13:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: Skip Filter for Data Filter Context Boxes?</title>
      <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705607#M89002</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4587"&gt;@danschikore&lt;/a&gt;&amp;nbsp;- and is there a possibility to script it?&lt;/P&gt;&lt;P&gt;e.g.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;&lt;STRIKE&gt;myRows= (myDataFilterSourceBox &amp;lt;&amp;lt; ...) &amp;lt;&amp;lt; get selected rows();&lt;BR /&gt;&lt;/STRIKE&gt;edit&amp;nbsp;-&amp;nbsp;see&amp;nbsp;below&amp;nbsp;...&lt;/CODE&gt;&lt;CODE class=" language-jsl"&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;myRows = myDataFilterSourceBox &amp;lt;&amp;lt; get row states();&lt;BR /&gt;&lt;BR /&gt;myages= associative array(dt[myRows,"age"]) &amp;lt;&amp;lt; get keys();
ldf2&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;change&amp;nbsp;...&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;CODE class=" language-jsl"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class=" language-jsl"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 23 Jun 2024 10:07:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705607#M89002</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2024-06-23T10:07:11Z</dc:date>
    </item>
    <item>
      <title>Re: Skip Filter for Data Filter Context Boxes?</title>
      <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705612#M89005</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/26800"&gt;@hogi&lt;/a&gt;&amp;nbsp;- this is an example from the scripting index, using the `Data Filter Source Box &amp;lt;&amp;lt; Set Row States()` message.&amp;nbsp; Within the Data Filter Source Box, only the select row states is preserved - the remaining states come from the source data table.&amp;nbsp; The rows that you select in the Data Filter Source Box will be seen as included by the other reports within the Data Filter Context Box.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Selection Filter",
	Data Filter Context Box(
		H List Box(
			dfsb = Data Filter Source Box(
				Graph Builder(
					Size( 208, 207 ),
					Show Control Panel( 0 ),
					Show Legend( 0 ),
					Variables( X( :age ) ),
					Elements( Bar( X, Legend( 3 ) ) ),
					SendToReport(
						Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Filter" )} )
					)
				)
			),
			Platform(
				Current Data Table(),
				Bubble Plot( X( :weight ), Y( :height ), Sizes( :age ), Title Position( 0, 0 ) )
			)
		)
	)
);
Wait( 1 );
rs = dt &amp;lt;&amp;lt; Get Row States();
rows14 = dt &amp;lt;&amp;lt; Get Rows Where( :age == 14 );
rs[rows14] = 1;
dfsb &amp;lt;&amp;lt; Set Row States( dt, rs );&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 04 Dec 2023 18:38:26 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705612#M89005</guid>
      <dc:creator>danschikore</dc:creator>
      <dc:date>2023-12-04T18:38:26Z</dc:date>
    </item>
    <item>
      <title>Re: Skip Filter for Data Filter Context Boxes?</title>
      <link>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705664#M89016</link>
      <description>&lt;P&gt;Wonderful, thanks&amp;nbsp;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/4587"&gt;@danschikore&lt;/a&gt;&amp;nbsp; :)&lt;/img&gt;&lt;BR /&gt;I will use it a hundred times and more!&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;div class="lia-vid-container video-embed-center"&gt;&lt;div id="lia-vid-6342352448112w880h358r309" class="lia-video-brightcove-player-container"&gt;&lt;video-js data-video-id="6342352448112" data-account="6058004218001" data-player="default" data-embed="default" class="vjs-fluid" controls="" data-application-id="" style="width: 100%; height: 100%;"&gt;&lt;/video-js&gt;&lt;/div&gt;&lt;script src="https://players.brightcove.net/6058004218001/default_default/index.min.js"&gt;&lt;/script&gt;&lt;script&gt;(function() {  var wrapper = document.getElementById('lia-vid-6342352448112w880h358r309');  var videoEl = wrapper ? wrapper.querySelector('video-js') : null;  if (videoEl) {     if (window.videojs) {       window.videojs(videoEl).ready(function() {         this.on('loadedmetadata', function() {           this.el().querySelectorAll('.vjs-load-progress div[data-start]').forEach(function(bar) {             bar.setAttribute('role', 'presentation');             bar.setAttribute('aria-hidden', 'true');           });         });       });     }  }})();&lt;/script&gt;&lt;a class="video-embed-link" href="https://community.jmp.com/t5/video/gallerypage/video-id/6342352448112"&gt;(view in My Videos)&lt;/a&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Selection Filter",
	Data Filter Context Box(
		H List Box(
			dfsb = Data Filter Source Box(
				gb = Graph Builder(
	Show Control Panel( 0 ),
	Show Legend( 0 ),
	Variables( X( :age ), Y( :sex ) ),
	Elements( Heatmap( X, Y, Legend( 4 ) ) )
)
			),
Graph Builder(
	Size( 534, 464 ),
	Show Control Panel( 0 ),
	Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
	Elements( Points( X, Y, Legend( 11 ) ), Smoother( X, Y, Legend( 12 ) ) )
)
		)
	)
);
Wait( 1 );

t0=hptime();
f= Function({x},
	rs = dfsb &amp;lt;&amp;lt; Get Row States();
	myrows = loc(rs,0);
	myages= associative array(dt[myrows,"age"]) &amp;lt;&amp;lt; get keys;
	myrows = dt &amp;lt;&amp;lt; get rows where(:age == myages[1]);
	rs[1::Nitems(rs)]=0;
	rs[myrows] = 1;
	dfsb &amp;lt;&amp;lt; Set Row States( dt,rs );	
	Print(rs);
	rsh = dfsb &amp;lt;&amp;lt; Make RowState Handler (dt,f); // sometimes I have to set the rowstate handler again - loop detection?
);

rsh = dfsb &amp;lt;&amp;lt; Make RowState Handler (dt,f);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 05 Dec 2023 15:59:33 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/Skip-Filter-for-Data-Filter-Context-Boxes/m-p/705664#M89016</guid>
      <dc:creator>hogi</dc:creator>
      <dc:date>2023-12-05T15:59:33Z</dc:date>
    </item>
  </channel>
</rss>

