Importieren von Excel-Tabellen mit umbrochenem ZelleninhaltHallo,
Obwohl ich weiß, dass es besser ist, umbrochene Zellen in Excel for Analysis zu vermeiden, habe ich einen Kunden, der über diese Art von Daten verfügt. Beim Importieren mit dem Excel-Importassistenten werden auch die umgebrochenen Zellen importiert, obwohl Sie die Zeilen größer aufteilen müssen, um alle Einträge anzuzeigen. Diese Spalten sind standardmäßig Zeichen und nominal. Konnte jedoch nicht für die Analyse verwendet werden. Angenommen, die erste Spalte enthält mehrere Länder in einer Zelle (DE, US, ES), die zweite Spalte enthält in einer Zelle die zugehörigen numerischen Werte (z. B. Werte wie 10, 15, 7). Das bedeutet, dass die Punktzahl für Deutschland 10 beträgt, für die USA 15 und ES 7.
Wie gehe ich mit solchen Daten um? Gibt es eine Möglichkeit, es in getrennte Zeilen zu importieren?
(Dies ist nur eine vereinfachte Version der Daten. Sie können sich zusätzliche Variablen und Gruppierungsvariablen wie Studie / Projekt usw. vorstellen, bei denen jeweils eine dieser Zellen zu einer der Studien gehört.)
Was ich bisher ausprobiert habe:
Um diese Daten in JMP zu verwenden, können Sie eine Mehrfachantwortvariable verwenden und die Eigenschaft "Mehrfachantwort" auf ein Trennzeichen "" setzen, da ein Zeilenumbruch kein Trennzeichen wie "," oder ";" hat. Soweit so gut, aber die Daten werden jetzt eher nach Frequenzen als nach numerischen Werten analysiert. Eine Reihe von Analysemethoden kann daher nicht verwendet werden.
Stapeln, Aufteilen und andere Tabellenmanipulationen haben bei mir nicht funktioniert, da sie keine Spalte mit mehreren Antworten berücksichtigen und den gesamten Eintrag als einen Wert angeben. Das Erweitern auf Spalten war auch nicht erfolgreich, obwohl ich den Trick vielleicht nicht gefunden habe. Dies scheint jedoch schon viele Schritte für eine schöne Lösung zu haben, aber besser jede Lösung als keine 
Ich denke, die beste Lösung ist, die Daten bereits in Excel in einer anderen Struktur / einem anderen Format bereitzustellen. Oder haben Sie einen anderen Vorschlag?
Anbei die Excel-Datei und ein Skript zum Importieren und Ändern des Modellierungstyps in Mehrfachantwort.
Vielen Dank,
Martin
Betreff: Importieren von Excel-Tabellen mit umbrochenem ZelleninhaltHallo Brady, vielen Dank! Ich empfehle dem Kunden nachdrücklich, das Format in der Quelle zu ändern, da dies mit JSL möglich ist, aber noch umständlicher werden könnte, wenn es zusätzlich mehr Spalten gibt, für die gesorgt werden muss.
Die Stapeloption mit zusammenhängenden und mehreren Reihen ist mir jetzt auch klarer.
Vielen Dank,
Martin
Betreff: Importieren von Excel-Tabellen mit umbrochenem ZelleninhaltDiese Daten sind aufgrund der Umhüllung wirklich hässlich. Überprüfen Sie, ob dies funktioniert. es scheint für mich zu funktionieren.
Die Hauptideen sind:
Reduzieren Sie Leerzeichen, ersetzen Sie Zeilenumbrüche durch Kommas, geben Sie Text in Spalten ein und stapeln Sie mehrere aufeinander folgende Reihen.
Darüber hinaus gibt es einige Bereinigungsvorgänge wie Spaltenlöschvorgänge, Löschvorgänge für leere Zeilen und Typkonvertierungen.
Names Default To Here(1);
dt = Open(pickfile(),
Worksheets( "Sheet1" ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
)
);
dt << new column("C2", formula(collapse whitespace(substitute(:Country, "\!n",","))));
dt << new column("D2", formula(collapse whitespace(substitute(:Data, "\!n",","))));
dt << select columns({"C2", "D2"});
dt << text to columns(delimiter(","));
dt << Delete Columns;
dt << Delete Columns (1,2);
collist = dt << get column names(string);
colExpr = insert(expr(columns()), colList);
stackExpr = Expr(
dtStack = dt << Stack(
_CCC_,
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 2 ),
Contiguous
)
);
substituteInto(stackExpr, expr(_CCC_), nameexpr(colExpr));
stackExpr;
dtStack << delete Columns (1,3);
dtStack << select where (:Data == "") << delete rows();
close(dt, nosave);
column(dtStack,1)<<SET name=""></SET>Betreff: Importieren von Excel-Tabellen mit umbrochenem ZelleninhaltHmm, gute Idee, aber ich kann es nicht verwenden, da es verlangt, dass 2 Spalten gestapelt werden, aber ich kann nur eine auswählen. Anbei eine Beispieltabelle, darf ich sie nur falsch verwenden.
Korrektur, ich kann es verwenden, wenn ich das Trennzeichen in der Tabelle auf "," mit ändere
For Each Row(
new1 = Substitute( Column( 1 )[], "\!n", "," );
Column( 1 )[] = new1;
);
For Each Row(
new2 = Substitute( Column( 2 )[], "\!n", "," );
Column( 2 )[] = new2;
);
Es sieht jedoch immer noch nicht so aus, als würde ich erwarten, dass der Beistelltisch so etwas wie:
|
ICH WÜRDE
|
Land
|
DATEN
|
|
1
|
DE
|
10
|
|
1
|
Arg.
|
fünfzehn
|
|
1
|
Vereinigte Staaten von Amerika
|
13
|
| 2 |
DE |
10 |
Betreff: Importieren von Excel-Tabellen mit umbrochenem ZelleninhaltMit der von Ihnen vorgeschlagenen Idee der Multiple Response Column sind Sie in einer hervorragenden Position @brady_brady Add-In für Datentabelle-Tools. Es gibt ein Hilfsprogramm, mit dem Sie zwischen Multiple Response und Stacked wechseln können. Sobald es gestapelt ist, können Sie einfach die Modellierung und die Datentypen so ändern, dass sie für die Daten geeignet sind.
Beste,
M