<?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 How to script a rolling count using Table Summary? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635188#M83335</link>
    <description>&lt;P&gt;I am trying to find a way to summarize a table over a rolling 3 month period.&amp;nbsp; I’ve tried different approaches with the ‘lag’ and ‘col rolling’ functions but haven’t had success yet.&amp;nbsp; Any advice?&amp;nbsp; I am using JMP 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example original data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Serial # of unit tested&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1001&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1001&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1002&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1002&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1003&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1004&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1005&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired summarized data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;# of tests, prior 3 months&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;# of unique SN tested, prior 3 months&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Fri, 09 Jun 2023 16:10:41 GMT</pubDate>
    <dc:creator>Stewart</dc:creator>
    <dc:date>2023-06-09T16:10:41Z</dc:date>
    <item>
      <title>How to script a rolling count using Table Summary?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635188#M83335</link>
      <description>&lt;P&gt;I am trying to find a way to summarize a table over a rolling 3 month period.&amp;nbsp; I’ve tried different approaches with the ‘lag’ and ‘col rolling’ functions but haven’t had success yet.&amp;nbsp; Any advice?&amp;nbsp; I am using JMP 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example original data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Serial # of unit tested&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1001&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1001&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1002&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1002&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1003&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1004&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1005&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1006&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired summarized data&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;# of tests, prior 3 months&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;# of unique SN tested, prior 3 months&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Jan&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Feb&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Mar&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;6&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Apr&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;7&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 09 Jun 2023 16:10:41 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635188#M83335</guid>
      <dc:creator>Stewart</dc:creator>
      <dc:date>2023-06-09T16:10:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to script a rolling count using Table Summary?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635277#M83343</link>
      <description>&lt;P&gt;I'm not sure how those values are calculated. We can only use Apr as it has three months before it, but shouldn't number of tests be 8 and number of unique serial numbers 6?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Most likely it will be easiest to first create Summary table and then perform the calculations there as you will have only one row for each month.&lt;/P&gt;</description>
      <pubDate>Thu, 25 May 2023 04:59:54 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635277#M83343</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2023-05-25T04:59:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to script a rolling count using Table Summary?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635553#M83374</link>
      <description>&lt;P&gt;Sorry, showing results for Jan and Feb was probably confusing.&amp;nbsp; And I didn't explain "prior 3 months" very well.&amp;nbsp; This is what I mean:&amp;nbsp; For the April summary row, count all the tests ran in Feb, Mar, and April and count all the unique serial numbers for the same time period.&amp;nbsp; The March summary row would be similar, but use Jan, Feb, and March.&amp;nbsp; I would accept either blanks for Jan and Feb summary, or Jan based on only Jan data and Feb summary based on only Jan and Feb data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The key point is that some serial numbers are tested multiple times in different months and if I limit the time frame to just 1 month then the # of tests vs # of unique units tested is not accurate.&lt;/P&gt;</description>
      <pubDate>Thu, 25 May 2023 14:42:52 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635553#M83374</guid>
      <dc:creator>Stewart</dc:creator>
      <dc:date>2023-05-25T14:42:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to script a rolling count using Table Summary?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635697#M83385</link>
      <description>&lt;P&gt;This is definitely not the only way of doing this, but one possible option&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("Untitled",
	Add Rows(10),
	Compress File When Saved(1),
	New Column("Month",
		Character,
		"Nominal",
		Set Values({"Jan", "Jan", "Jan", "Feb", "Feb", "Feb", "Mar", "Mar", "Apr", "Apr"})
	),
	New Column("Serial # of unit tested",
		Numeric,
		"Nominal",
		Format("Best", 12),
		Set Values([1001, 1001, 1002, 1002, 1003, 1004, 1005, 1006, 1006, 1006])
	)
);

dt_results = New Table("Untitled 3",
	Compress File When Saved(1),
	New Column("Month", Character, "Nominal", Set Values({})),
	New Column("# of tests, prior 3 months", Numeric, "Continuous", Format("Best", 12), Set Values([])),
	New Column("# of unique SN tested, prior 3 months", Numeric, "Continuous", Format("Best", 12), Set Values([]))
);

// 
order = {"Jan", "Feb", "Mar", "Apr"};
Summarize(dt, uniq_months = By(:Month));

For Each({cur_month}, uniq_months,
	cur_month_idx = Contains(order, cur_month);
	months_of_interest = If(cur_month_idx &amp;lt; 3,
		order[1::cur_month_idx];
	,
		order[(cur_month_idx - 2)::cur_month_idx];
	);

	// number of tests is same as number of rows
	rows_of_interest = dt &amp;lt;&amp;lt; Get Rows Where(Contains(months_of_interest, :Month));
	nr_of_tests = N Items(rows_of_interest);

	// number of unique items we can get with associative array
	unique_snrs = Associative Array(dt[rows_of_interest, "Serial # of unit tested"]) &amp;lt;&amp;lt; get keys;
	nr_of_unique = N Items(unique_snrs);
	
	cur_month_result = Eval List({cur_month, nr_of_tests, nr_of_unique});
	dt_results &amp;lt;&amp;lt; Add Row(1);
	dt_results[N Row(dt_results), 0] = cur_month_result;
);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1685037323226.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/53136i06DFFEA2226798E4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1685037323226.png" alt="jthi_0-1685037323226.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If you have multiple years it will require modifications&lt;/P&gt;</description>
      <pubDate>Thu, 25 May 2023 17:55:49 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-script-a-rolling-count-using-Table-Summary/m-p/635697#M83385</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2023-05-25T17:55:49Z</dc:date>
    </item>
  </channel>
</rss>

