<?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 properly use LAG function in Conditional Statements? in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725003#M90882</link>
    <description>&lt;P&gt;You can use col cumulative sum&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;If(
	Row() == 1, :Column 1
,  
	:Column 2 - Col Cumulative Sum(:Column 1) + :Column 1
)
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("Untitled 4",
	Add Rows(8),
	Compress File When Saved(1),
	New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([10, 2, 5, 3, 2, 1, 3, 4])),
	New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([20, 20, 20, 20, 15, 15, 15, 15])),
	New Column("Result", Numeric, "Continuous", Format("Best", 12), Set Values([10, 10, 8, 3, 2, 13, 12, 9]))
);

dt &amp;lt;&amp;lt; New Column("Calc",
	Numeric,
	Continuous,
	Formula(
		If(
			Row() == 1, :Column 1
		,  
			:Column 2 - Col Cumulative Sum(:Column 1) + :Column 1
		)
	)
);&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-1708582418422.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/61342iF0D3F3F4B4EAFE2F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1708582418422.png" alt="jthi_0-1708582418422.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I guess Column 2 is some sort of grouping which should reset your "counter"? You can use Col Min to detect that change and use that column as byVar if needed&lt;/P&gt;</description>
    <pubDate>Thu, 22 Feb 2024 06:14:29 GMT</pubDate>
    <dc:creator>jthi</dc:creator>
    <dc:date>2024-02-22T06:14:29Z</dc:date>
    <item>
      <title>How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724985#M90875</link>
      <description>&lt;P&gt;I have this formula&amp;nbsp;but it is adding the value on the same row.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;If(
	:Column 2 != Lag( :Column 2 ) | Row() == 1, :Column 1,
	Row() == 2 | Lag( :Column 2, 1 ) != :Column 2, :Column 2 - (:Column 1 + Lag( :Column 1, 1 )),
	Lag( :Result ) - :Column 1
)&lt;/CODE&gt;&lt;/PRE&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I would want to do is something like this:&lt;/P&gt;&lt;P&gt;Column 1 and Column 2 are given values. If Column 2 value changes, the result should be like the starting value in Column 1.&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Column 1&lt;/TD&gt;&lt;TD&gt;Column 2&lt;/TD&gt;&lt;TD&gt;Result&lt;/TD&gt;&lt;TD&gt;(should be computation)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;same value in Column 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 row 1 (20-10)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 rows 1 to 2 (20 - 12 +2)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 rows 1 to 3 (20 - 12 +2 +5)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;How can I create a table equation like this?&lt;/P&gt;</description>
      <pubDate>Thu, 22 Feb 2024 02:27:23 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724985#M90875</guid>
      <dc:creator>UserID16644</dc:creator>
      <dc:date>2024-02-22T02:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724996#M90879</link>
      <description>&lt;P&gt;Where is the value 12 coming from to row 3+ calculations?&lt;/P&gt;</description>
      <pubDate>Thu, 22 Feb 2024 05:16:15 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724996#M90879</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-02-22T05:16:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724997#M90880</link>
      <description>&lt;P&gt;Sorry, that's 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Column 1&lt;/TD&gt;&lt;TD&gt;Column 2&lt;/TD&gt;&lt;TD&gt;Result&lt;/TD&gt;&lt;TD&gt;(should be computation)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;same value in Column 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 row 1 (20-10)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 rows 1 to 2 (20 - 10 +2)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;Column 2 - Column 1 rows 1 to 3 (20 - 10 +2 +5)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 22 Feb 2024 05:27:21 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/724997#M90880</guid>
      <dc:creator>UserID16644</dc:creator>
      <dc:date>2024-02-22T05:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725003#M90882</link>
      <description>&lt;P&gt;You can use col cumulative sum&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;If(
	Row() == 1, :Column 1
,  
	:Column 2 - Col Cumulative Sum(:Column 1) + :Column 1
)
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = New Table("Untitled 4",
	Add Rows(8),
	Compress File When Saved(1),
	New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([10, 2, 5, 3, 2, 1, 3, 4])),
	New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([20, 20, 20, 20, 15, 15, 15, 15])),
	New Column("Result", Numeric, "Continuous", Format("Best", 12), Set Values([10, 10, 8, 3, 2, 13, 12, 9]))
);

dt &amp;lt;&amp;lt; New Column("Calc",
	Numeric,
	Continuous,
	Formula(
		If(
			Row() == 1, :Column 1
		,  
			:Column 2 - Col Cumulative Sum(:Column 1) + :Column 1
		)
	)
);&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-1708582418422.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/61342iF0D3F3F4B4EAFE2F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1708582418422.png" alt="jthi_0-1708582418422.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I guess Column 2 is some sort of grouping which should reset your "counter"? You can use Col Min to detect that change and use that column as byVar if needed&lt;/P&gt;</description>
      <pubDate>Thu, 22 Feb 2024 06:14:29 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725003#M90882</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-02-22T06:14:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725011#M90886</link>
      <description>&lt;P&gt;Yes, Column 2 acts like a reset counter. How do you use byVar in this? Haven't heard and used that function before&lt;/P&gt;</description>
      <pubDate>Thu, 22 Feb 2024 06:32:46 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725011#M90886</guid>
      <dc:creator>UserID16644</dc:creator>
      <dc:date>2024-02-22T06:32:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725015#M90888</link>
      <description>&lt;P&gt;By vars are arguments which you can use with Col statistical functions&amp;nbsp;&lt;A href="https://www.jmp.com/support/help/en/17.2/#page/jmp/statistical-functions-2.shtml?os=win&amp;amp;source=application#ww6133039" target="_blank"&gt;Statistical Functions (jmp.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1708584518911.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/61348i0C67C5CEF4D9E1E4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jthi_0-1708584518911.png" alt="jthi_0-1708584518911.png" /&gt;&lt;/span&gt;&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 = New Table("Untitled 4",
	Add Rows(8),
	Compress File When Saved(1),
	New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([10, 2, 5, 3, 2, 1, 3, 4])),
	New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([20, 20, 20, 20, 15, 15, 15, 15])),
	New Column("Result", Numeric, "Continuous", Format("Best", 12), Set Values([10, 10, 8, 3, 2, 13, 12, 9]))
);

dt &amp;lt;&amp;lt; New Column("Calc",
	Numeric,
	Continuous,
	Formula(
		If(Row() == Col Min(Row(), :Column 2),
			:Column 1
		,  
			:Column 2 - Col Cumulative Sum(:Column 1, :Column 2) + :Column 1
		)
	)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 22 Feb 2024 06:50:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725015#M90888</guid>
      <dc:creator>jthi</dc:creator>
      <dc:date>2024-02-22T06:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly use LAG function in Conditional Statements?</title>
      <link>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725050#M90905</link>
      <description>&lt;P&gt;&lt;a href="https://community.jmp.com/t5/user/viewprofilepage/user-id/16644"&gt;@UserID16644&lt;/a&gt;,&amp;nbsp;if your :Column2 ever has the same value again, you'll get undesired results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;New Table( "Untitled 155",
	Add Rows( 12 ),
	New Column( "Column 1",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Set Values( [10, 2, 5, 3, 2, 1, 3, 4, 6, 2, 5, 3] )
	),
	New Column( "Column 2",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Set Values( [20, 20, 20, 20, 15, 15, 15, 15, 20, 20, 20, 20] )
	),
	New Column( "Result",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Formula(
			If(
				:Column 2 != Lag( :Column 2 ) | Row() == 1, :Column 1,
				Row() == 2 | Lag( :Column 2, 2 ) != :Column 2,
					:Column 2 - Lag( :Column 1 ),
				Lag( :Result ) - Lag( :Column 1 )
			)
		)
	),
	New Column( "Result 2",
		Numeric,
		"Continuous",
		Format( "Best", 12 ),
		Formula(
			If( Row() == Col Min( Row(), :Column 2 ),
				:Column 1,
				(:Column 2 - Col Cumulative Sum( :Column 1, :Column 2 )) + :Column 1
			)
		)
	)
)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mmarchandTSI_0-1708608906052.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/61354i7B4AED059092456A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="mmarchandTSI_0-1708608906052.png" alt="mmarchandTSI_0-1708608906052.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Feb 2024 13:36:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/How-to-properly-use-LAG-function-in-Conditional-Statements/m-p/725050#M90905</guid>
      <dc:creator>mmarchandTSI</dc:creator>
      <dc:date>2024-02-22T13:36:32Z</dc:date>
    </item>
  </channel>
</rss>

