Hi,
Ich habe eine Datentabelle mit 2 Spalten wie der folgenden:
group value
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">10</SPAN>
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">20</SPAN>
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">25</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">5</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">10</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">15</SPAN>
Ich möchte eine neue Spalte "diff" erstellen, die die Unterschiede zwischen aufeinanderfolgenden Zeilen berechnet, gruppiert nach "Gruppe", also hätte ich ungefähr Folgendes:
group value diff
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">10</SPAN> . <SPAN class="hljs-comment"># because there is a no previous value</SPAN>
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">20</SPAN> <SPAN class="hljs-number">10</SPAN> <SPAN class="hljs-comment"># value[2] - value[1]</SPAN>
<SPAN class="hljs-number">1</SPAN> <SPAN class="hljs-number">25</SPAN> <SPAN class="hljs-number">5</SPAN> <SPAN class="hljs-comment"># value[3] value[2]</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">5</SPAN> . <SPAN class="hljs-comment"># because group is changed</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">10</SPAN> <SPAN class="hljs-number">5</SPAN> <SPAN class="hljs-comment"># value[5] - value[4]</SPAN>
<SPAN class="hljs-number">2</SPAN> <SPAN class="hljs-number">15</SPAN> <SPAN class="hljs-number">5</SPAN> <SPAN class="hljs-comment"># value[6] - value[5]</SPAN>
</CODE><CODE class="hljs language-r">
Können Sie mir bitte mit der JSL für die Spaltenformel helfen?
Vielen Dank,
Alicia
Wenn die Tabelle immer nach Gruppen sortiert ist, wie in Ihrem Beispiel, können Sie dies mit einer if-Anweisung tun:
If( Lag( :group ) == :group,
:value - Lag( :value ),
.
)
Funktioniert perfekt! Vielen Dank