Hallo allerseits,
Ich denke, was ich tun möchte, ist wirklich einfach, ich habe nur keinen guten Weg gefunden, es zu tun. Ich habe eine große Tabelle mit einer beträchtlichen Anzahl identischer Zeilen, die ich eindeutig, aber reproduzierbar umbenennen möchte. Derzeit habe ich ein Skript, das die folgende Spalte enthält:
Eine Nummer 1
B-Nummer 1
Eine Nummer 2
Eine Nummer 3
Eine Nummer 3
Eine Nummer 3
B-Nummer 3
B-Nummer 3
B-Nummer 3
...
In eine neue Namensspalte unter Verwendung der Zeilenindexkennung:
Eine Nummer 1
B-Nummer 1
Eine Nummer 2
Eine Nummer 3
Eine Zahl 3 5
Eine Zahl 3 6
B-Nummer 3
B-Nummer 3 8
B-Nummer 3 9
Dieser Code ist
Names Default To Here( 0 );
RawFile << New Column( "itemname2", Character, Nominal );
Current Data Table( RawFile );
For( i = 2, i <= N Rows( RawFile ), i++,
If( :itemname[i] == :itemname[i - 1],
:itemname2[i] = :itemname[i] || " " || Char( i ),
:itemname2[i] = :itemname[i];
);
);
Das funktioniert gut genug, aber das Problem hier ist, dass ich möchte, dass die Ausgabe stattdessen jedes Mal von 1 erhöht wird, wenn sie verwendet werden muss, um so etwas wie zu geben
Eine Nummer 1
B-Nummer 1
Eine Nummer 2
Eine Nummer 3
Eine Nummer 3 1
Eine Zahl 3 2
B-Nummer 3
B-Nummer 3 1
B Nummer 3 2
Ich weiß, dass dies einfach sein sollte, aber ich bin mir nicht sicher, wie ich die Schleife strukturieren/begrenzen soll....Jede Hilfe wäre willkommen. Vielen Dank!
Vergiss es ... ich habe gemerkt, dass ich nur die Initialisierung des zweiten Zählers außerhalb der Schleife brauchte. Beifall!
<SPAN class="token function">Names Default To Here</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token number">0</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
RawFile <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> New Column</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"itemname2"</SPAN><SPAN class="token punctuation">,</SPAN> Character<SPAN class="token punctuation">,</SPAN> Nominal <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token function">Current Data Table</SPAN><SPAN class="token punctuation">(</SPAN> RawFile <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;<BR /></SPAN>k=1;
<SPAN class="token function">For</SPAN><SPAN class="token punctuation">(</SPAN> i <SPAN class="token operator">=</SPAN> <SPAN class="token number">2</SPAN><SPAN class="token punctuation">,</SPAN> i <SPAN class="token operator"><=</SPAN> N Rows<SPAN class="token punctuation">(</SPAN> RawFile <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> i<SPAN class="token operator">++</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">If</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>itemname<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">==</SPAN> <SPAN class="token punctuation">:</SPAN>itemname<SPAN class="token punctuation">[</SPAN>i <SPAN class="token operator">-</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token punctuation">:</SPAN>itemname2<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">=</SPAN> <SPAN class="token punctuation">:</SPAN>itemname<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token string">" "</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> k <SPAN class="token punctuation">);<BR /></SPAN> k++,
<SPAN class="token punctuation">:</SPAN>itemname2<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">=</SPAN> <SPAN class="token punctuation">:</SPAN>itemname<SPAN class="token punctuation">[</SPAN>i<SPAN class="token punctuation">]</SPAN><SPAN class="token punctuation">;<BR /></SPAN> k=1
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>