<?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 date in Discussions</title>
    <link>https://community.jmp.com/t5/Discussions/date/m-p/678734#M86510</link>
    <description>&lt;P&gt;Bonjour à tous,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je dispose d’une base de données comme ceci (il s’agit d’un résumé ici) :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_0-1695041743424.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56726i4B8BB0F45D3B98D6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_0-1695041743424.png" alt="hcarr01_0-1695041743424.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Cette base de données est issue d’un script qui fonctionne bien jusqu’ici, cependant la dernière colonne permettrait de calculer une dernière durée différente des autres.&lt;/P&gt;&lt;P&gt;Les valeurs dans cette dernière colonne représentent des OP qui correspondent à des objets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Par exemple pour la 1ère ligne : la valeur 60 correspond à l’objet 2041, il nous faudrait une formule permettant de faire durée 2041 = date fin 2041 - date début 2041 ainsi de suite pour chaque ligne.&lt;/P&gt;&lt;P&gt;Quand la valeur est égale à 0 nous pourrions affecter la valeur 0 à durée 2041.&lt;/P&gt;&lt;P&gt;Ainsi de suite..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J’ai commencé avec le script ci-dessous :&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = current data table();

If( !Is Missing(:"valeur ST1-2"n),
	For Each Row(
		idx = dt[row(), :"valeur ST1-2"n]
		dt[idx, durée[idx]] = dt[idx, date fin[idx]] - dt[idx, date début[idx]];
	),
	0
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 18 Sep 2023 13:17:53 GMT</pubDate>
    <dc:creator>hcarr01</dc:creator>
    <dc:date>2023-09-18T13:17:53Z</dc:date>
    <item>
      <title>date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/678734#M86510</link>
      <description>&lt;P&gt;Bonjour à tous,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Je dispose d’une base de données comme ceci (il s’agit d’un résumé ici) :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_0-1695041743424.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56726i4B8BB0F45D3B98D6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_0-1695041743424.png" alt="hcarr01_0-1695041743424.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Cette base de données est issue d’un script qui fonctionne bien jusqu’ici, cependant la dernière colonne permettrait de calculer une dernière durée différente des autres.&lt;/P&gt;&lt;P&gt;Les valeurs dans cette dernière colonne représentent des OP qui correspondent à des objets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Par exemple pour la 1ère ligne : la valeur 60 correspond à l’objet 2041, il nous faudrait une formule permettant de faire durée 2041 = date fin 2041 - date début 2041 ainsi de suite pour chaque ligne.&lt;/P&gt;&lt;P&gt;Quand la valeur est égale à 0 nous pourrions affecter la valeur 0 à durée 2041.&lt;/P&gt;&lt;P&gt;Ainsi de suite..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;J’ai commencé avec le script ci-dessous :&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here(1);

dt = current data table();

If( !Is Missing(:"valeur ST1-2"n),
	For Each Row(
		idx = dt[row(), :"valeur ST1-2"n]
		dt[idx, durée[idx]] = dt[idx, date fin[idx]] - dt[idx, date début[idx]];
	),
	0
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 18 Sep 2023 13:17:53 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/678734#M86510</guid>
      <dc:creator>hcarr01</dc:creator>
      <dc:date>2023-09-18T13:17:53Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/678892#M86521</link>
      <description>&lt;P&gt;Here is the script that I would use to accomplish what you want.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt = Current Data Table();

// Set the display format to a JMP Duration format
:"valeur ST1-2"n &amp;lt;&amp;lt; format("hr:m:s");

// Loop through the rows and assign the new values
For Each Row(
	If(  :"valeur ST1-2"n != 0,
		:"valeur ST1-2"n = :Date fin 2041 -
		:Date début 2041,
		:"valeur ST1-2"n = 0
	)
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 18 Sep 2023 17:13:50 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/678892#M86521</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-09-18T17:13:50Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679204#M86537</link>
      <description>&lt;P&gt;Merci pour votre réponse !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cela fonctionne pour la 1ère ligne mais en suite les valeurs dans la colonne "valeur ST1-2" changent et donc par la suite ce n'est pas la même durée qu'il faut recalculer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Par exemple pour la 3ème ligne : valeur ST1-2 = 82 et 82 correspond à l'objet 2000 donc il faudrait faire durée 2000 = date fin 2000 - date début 2000 pour la 3ème ligne&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;C'est le but d'avoir ici dans la base de données intermédiaire un aperçu de l'affectation de l'OP avec chaque objet (colonnes 711-2041-9916 à l'interieur l'OP correspondante).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Le but est de remplacer les colonnes durées, la colonne "valeur ST1-2" ne sera pas modifié.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;mon script ne fonctionne pas correctement :&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);

dt14 = current data table();

dur_cols = Filter Each( {col_name}, dt14 &amp;lt;&amp;lt; Get Column Names( "String", Continuous ),
	Starts With( col_name, "Durée" )
);


fin_cols = Filter Each( {col_name}, dt14 &amp;lt;&amp;lt; Get Column Names( "String", Continuous ),
	Starts With( col_name, "Date fin" )
);

debut_cols = Filter Each( {col_name}, dt14 &amp;lt;&amp;lt; Get Column Names( "String", Continuous ),
	Starts With( col_name, "Date d" )
);

// for indexing later 
num_colnr = Transform Each( {col_name}, dur_cols, Word( -1, col_name ) );


// Loop through the rows and assign the new values
For Each Row(
	If(  :"valeurs ST1-2"n != 0,
		colidx = Loc(dt14[row(), num_colnr ] == :"valeurs ST1-2"n);
		If( N items (colidx) &amp;gt; 0,
			dt14[colidx,dur_cols] = Eval(dt14[colidx,fin_cols] - dt14[colidx,debut_cols]);
			,
			continue()
		);
		,
		continue()
	);
	//show(colidx);
);&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Sep 2023 11:29:08 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679204#M86537</guid>
      <dc:creator>hcarr01</dc:creator>
      <dc:date>2023-09-19T11:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679210#M86538</link>
      <description>&lt;OL&gt;
&lt;LI&gt;How does one know that a value of 60 corresponds to 2041 and a value of 82 corresponds to 2000?&amp;nbsp; And what is done with a valeur ST1-2 value of 68?&lt;/LI&gt;
&lt;LI&gt;The example data table that was provided does not have a column for a 2000 date.&lt;/LI&gt;
&lt;LI&gt;The JSL can easily be changed to use different calculations for different values of valeur ST1-2, if either the rules for the decision of which columns to use is discernable, or if a list of the valeur ST1-2 is provided, along with the columns to use for the different values.&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Tue, 19 Sep 2023 06:44:11 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679210#M86538</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-09-19T06:44:11Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679212#M86539</link>
      <description>&lt;P&gt;La base de données est ici réduite, mais pour chaque valeur dans la colonne valeurs ST1-2 des colonnes permettent de faire le lien entre la valeur OP et chaque objet (dans la base de données réduite il s'agit des colonnes 711-2041-9916).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;La valeur 60 correspond à 2041 car dans la 1ère ligne :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_0-1695106134768.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56756iFB20A1E1EE8850FE/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_0-1695106134768.png" alt="hcarr01_0-1695106134768.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Ainsi de suite pour chaque ligne… pour 82 qui correspond à 2000 c'est juste un exemple de plus mais cela voudra dire que sur la seconde ligne la colonne 2000 serait rempli par la valeur 82.&lt;/P&gt;</description>
      <pubDate>Tue, 19 Sep 2023 06:50:41 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679212#M86539</guid>
      <dc:creator>hcarr01</dc:creator>
      <dc:date>2023-09-19T06:50:41Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679293#M86550</link>
      <description>&lt;P&gt;I think the below script gets you what you want, or at least close to it&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-jsl"&gt;Names Default To Here( 1 );

dt14 = Current Data Table();

Lookup = Filter Each( {col_name}, dt14 &amp;lt;&amp;lt; Get Column Names( "String", Continuous ),
	Num( col_name ) &amp;gt; 0
);

dtArray = dt14 &amp;lt;&amp;lt; Stack(
	invisible,
	columns( Lookup ),
	Source Label Column( "theKeys" ),
	Stacked Data Column( "valeur ST1-2" ),
	Drop All Other Columns( 1 ),
	Output Table( "Untitled 45.jmp" )
);
dtArray &amp;lt;&amp;lt; delete rows( dtArray &amp;lt;&amp;lt; get rows where( Is Missing( :"valeur ST1-2"n ) ) );

theLookup = Associative Array(
	dtArray:"valeur ST1-2"n &amp;lt;&amp;lt; get values,
	dtArray:theKeys &amp;lt;&amp;lt; get values
);

Close( dtArray, nosave );

// Loop through the rows and assign the new values
For Each Row(
	row = Row();
	If( :"valeur ST1-2"n != 0,
		lookup = theLookup[:"valeur ST1-2"n];
		If( :"valeur ST1-2"n == As Column( lookup ),
			As Column( "Durée " || theLookup[:"valeur ST1-2"n] ) =
			Num(
				As Column( "Date fin " || theLookup[:"valeur ST1-2"n] )
				-As Column( "Date début " || theLookup[:"valeur ST1-2"n] )
			);
			Continue();
		);
	,
		Continue()
	);
);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 19 Sep 2023 13:04:34 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679293#M86550</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-09-19T13:04:34Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679662#M86578</link>
      <description>&lt;P&gt;Merci pour votre réponse !&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Cela semble fonctionner pour les deux premières lignes, mais lorsque la valeur de valeur ST1-2 change il y a une erreur.&lt;/P&gt;&lt;P&gt;Nous remarquons que pour la 4ème ligne, la durée 2231 est nulle alors qu'il devrait y avoir la différence date fin 2231 - date début 2231 (car sur la 4ème ligne la valeur de valeur ST1-2 est 82 et 82 correspond à l'objet 2231).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_0-1695218865350.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56796iDF5F842B21D8A6E5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_0-1695218865350.png" alt="hcarr01_0-1695218865350.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Voici le message d'erreur que j'obtiens :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_1-1695218893800.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56797iF628C4D8740C39D4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_1-1695218893800.png" alt="hcarr01_1-1695218893800.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Peut-être dans la table "TheLookup" il y a une incohérence, car les objets peuvent être affectés à diffrents OP.&lt;/P&gt;&lt;P&gt;Par exemple ci-dessous : on voit que pour "theKeys" = 2041 il y a la valeur "valeur ST1-2" est égale à "60" et "47"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hcarr01_0-1695219492131.png" style="width: 400px;"&gt;&lt;img src="https://community.jmp.com/t5/image/serverpage/image-id/56798i5E6E32868EF55A56/image-size/medium?v=v2&amp;amp;px=400" role="button" title="hcarr01_0-1695219492131.png" alt="hcarr01_0-1695219492131.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2023 14:18:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679662#M86578</guid>
      <dc:creator>hcarr01</dc:creator>
      <dc:date>2023-09-20T14:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: date</title>
      <link>https://community.jmp.com/t5/Discussions/date/m-p/679762#M86585</link>
      <description>&lt;P&gt;To determine the keys, all of the columns named 2041, 711, 2231 are brought together and an Associative Array is created that when number 60 is found in column valeur ST1-2 it will lookup in the Associative Array and it will return 2241.&amp;nbsp; If a 47 was entered, it would also return a 2241.&amp;nbsp; If an 82 is found, a 2231 is returned.&amp;nbsp; I made an assumption that the numbers found in the columns called&amp;nbsp;2041, 711, 2231, etc. have the various numbers that could be found in valeur ST1-2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you could attach the sample data table that you are using, I will try to figure out the issue you are seeing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Sep 2023 17:49:32 GMT</pubDate>
      <guid>https://community.jmp.com/t5/Discussions/date/m-p/679762#M86585</guid>
      <dc:creator>txnelson</dc:creator>
      <dc:date>2023-09-20T17:49:32Z</dc:date>
    </item>
  </channel>
</rss>

