Hallo,
Ich habe Probleme damit, Spalten zu teilen und sie als Überschrift und Wert zu transponieren. Benötige hier Hilfe beim Schreiben des Codes.
Meine Datentabelle besteht aus vier Spalten: Artikel, Teilenummer, Bestellnummer und Menge.
Ich muss die Bestellnummer aufteilen und als Überschrift in eine neue Spalte übertragen und die Spalte „Menge“ aufteilen und in die entsprechende Zelle übertragen.
Ich füge hier meine Datentabelle und das erforderliche Ergebnis als Referenz bei.
Ich weiß, dass dies mit Tabulate() möglich ist. Aber ich möchte es nicht verwenden, weil ich brauche, dass meine Ergebnisdatentabelle zur weiteren Verarbeitung mit der Originaldatentabelle verknüpft werden kann.
</CODE></PRE><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 999px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Capture.PNG" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="Capture.PNG" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/35536i8BFFBFE73DC658B5/Capture.PNG" role="button" title="Capture.PNG" alt="Capture.PNG" /></span></SPAN></SPAN></P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-415521" slang="en-US" mode="NONE"><LINGO-LABEL>Datenmischung und -bereinigung</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-415545" slang="en-US" mode="NONE">Betreff: Eine Spalte teilen und als Kopfzeile transponieren</LINGO-SUB><LINGO-BODY id="lingo-body-415545" slang="en-US" mode="NONE"><P>Danke Jim</P><P>Danke TS</P></LINGO-BODY><LINGO-SUB id="lingo-sub-415540" slang="en-US" mode="NONE">Betreff: Eine Spalte teilen und als Kopfzeile transponieren</LINGO-SUB><LINGO-BODY id="lingo-body-415540" slang="en-US" mode="NONE"><P>Hallo,</P>
<P>Ich bin nicht sicher, ob ich Ihr Problem verstehe: Wenn Sie die Spalte „Menge“ einfach nach „Bestellnummer“ aufteilen und nach „Artikel“ und „Teilenummer“ gruppieren, erhalten Sie das Ergebnis wie in Ihrem Beitrag gezeigt, mit der Ausnahme, dass die Werte fehlen werden als „fehlend“ und nicht als „0“ codiert.</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Thierry_S_0-1630733524994.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="Thierry_S_0-1630733524994.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="Thierry_S_0-1630733524994.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/35539i906F34321961B54E/Thierry_S_0-1630733524994.png" role="button" title="Thierry_S_0-1630733524994.png" alt="Thierry_S_0-1630733524994.png" /></span></SPAN></SPAN></P>
<P>Mit einer einfachen Neukodierung aus den Standardisierungsattributen können Sie alle fehlenden Werte auf Null setzen.</P>
<P>Angenommen, ich habe Ihre ursprüngliche Anfrage nicht verstanden, könnten Sie mir dann erklären, welcher Teil des Prozesses für Sie nicht funktioniert hat?</P>
<P>Am besten,</P>
<P>TS</P></LINGO-BODY><LINGO-SUB id="lingo-sub-415536" slang="en-US" mode="NONE">Betreff: Eine Spalte teilen und als Kopfzeile transponieren</LINGO-SUB><LINGO-BODY id="lingo-body-415536" slang="en-US" mode="NONE"><P>Was Sie wollen, können Sie mit dem erreichen</P>
<P>Tabellen=>Geteilt</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="txnelson_0-1630733183189.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="txnelson_0-1630733183189.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="txnelson_0-1630733183189.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/35537i8E626CF1FE4F430D/txnelson_0-1630733183189.png" role="button" title="txnelson_0-1630733183189.png" alt="txnelson_0-1630733183189.png" /></span></SPAN></SPAN></P>
<P> </P>
<P>Unten finden Sie ein einfaches Skript, das die von der Split-Plattform bereitgestellte JSL verwendet und dann einfach die JSL aus der Recode-Funktion hinzufügt</P>
<PRE><CODE class=" language-jsl">Names Default To Here( 1 );
dt = Current Data Table();
// Get the column names that will need to recoded to 0 if missing
Summarize( dt, colnames = by( :Order Number ) );
// Do the simple split to transform the data table
dtSplit = dt << Split(
Split By( :Order Number ),
Split( :Quantity ),
Group( :Item, :Part Number ),
Sort by Column Property
);
// Loop across all split columns and recode missing values to zeros
For( i = 1, i <= N Items( colnames ), i++,
dtSplit << Begin Data Update;
dtSplit << Recode Column(
As Column( dtSplit, colnames[i] ),
{Map Value( _rcOrig, {., 0}, Unmatched( _rcNow ) )},
Update Properties( 1 ),
Target Column( As Column( dtSplit, colnames[i] ) )
);
dt << End Data Update;
);