Tabellen mit JSL verbinden<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich bin ein Anfänger in der Verwendung von JSL und habe versucht, zwei Datentabellen mithilfe von JSL zu verbinden. Der Code funktioniert jedoch nicht: Er gibt eine Tabelle mit leeren Spalten zurück
Kann mir jemand helfen?
Betreff: Tabellen mit JSL verbindenJa, danke!
Betreff: Tabellen mit JSL verbindendt3 << set name("der neue Name");
Betreff: Tabellen mit JSL verbindenEs funktionierte! Danke, Mann!
Wie kann ich den dt3 umbenennen?
Betreff: Tabellen mit JSL verbindenIch schlage vor, dass Sie Ihr Skript bis zu der Stelle ausführen, an der Sie die Verknüpfung durchführen möchten.Aber führen Sie den Join nicht aus.Gehen Sie dann in interaktives JMP, Tables==>Join und führen Sie den Join manuell durch, genau so, wie Sie es möchten.Sobald dies abgeschlossen ist, gehen Sie zur neu verknüpften Datentabelle, gehen Sie zum Tabellenbereich, klicken Sie auf das rote Dreieck „Quelle“ und bearbeiten Sie den Code.Dort finden Sie den Code, den Sie benötigen, um die Daten nach Ihren Wünschen zusammenzuführen.
Zusätzlich habe ich einige kleinere Änderungen an Ihrem Skript vorgenommen, die die Funktionalität des Codes nicht verändern, ihn aber präziser machen:
// open and retain a reference
dt = Open("P:\CompComercialDPK\Inteligencia de Mercado DPK\Theodora\Projetos\Áreas de Influência\Estudos Preliminares\Raio 50 KM - DF.xlsx");
// criando a coluna de cidades, oncatenando cidade e estado
dt<< New Column( "Cidades",
Character,
Nominal,
Formula(:Nome || ", " || :Estado ),
Set Selected
);
// Abre a base de dados de vendas de 2015
dt2 = Open("P:\CompComercialDPK\Inteligencia de Mercado DPK\Theodora\Projetos\Áreas de Influência\Vendas 2015.xlsx");
// criando a coluna de cidades, concatenando cidade e estado
dt2<< New Column( "Cidades",
Character,
Nominal,
Formula(:Desc. Município Cadastro || ", " || :Cód. U.F. Cadastro ),
Set Selected
);
//TA DANDO ERRO AQUI MINA
// Join para obter vendas e clientes das cidades
dtjoined= dt << Join(
With( dt2 ),
By Matching Columns( :Cidades = :Cidades ),
Drop multiples( 0, 0 ),
Name( "Include non-matches" )(1, 0),
Preserve main table order( 1 )
)
);
dtjoined<< New Column( "MKT Share",
Numeric, Continuous, Formula(:Name("Sum(Vlr. Venda Comercial)") /
(:Name("Mean(Pot. Consumo Estimado por Categoria (2015) - Manutenção e acessórios/)") * 0.127)),
Set Selected
);
Betreff: Tabellen mit JSL verbindenSchwer zu sagen, warum es ohne Daten zum Testen nicht funktioniert, aber ich habe ein paar Korrekturen/Ergänzungen an Ihrem Code vorgenommen.
1. Sie haben für beide Tabellen dieselbe Tabellenvariable (dt) verwendet.Dies wurde in dt1 und dt2 geändert.
2. Tabellenvariablen zum Erstellen der neuen Formelspalten hinzugefügt
3. Verwenden Sie die Tabellenvariablen dt1 und dt2 im Join-Befehl.
3. „Ausgabetabelle“ zum Join-Befehl hinzugefügt, dann dt3 auf die verbundene Ausgabe verweisen.
4. Verwenden Sie die Tabellenvariable dt3 zum Hinzufügen der neuen Spalte.
// open and retain a reference
dt1 = Open("P:\CompComercialDPK\Inteligencia de Mercado DPK\Theodora\Projetos\Áreas de Influência\Estudos Preliminares\Raio 50 KM - DF.xlsx");
// criando a coluna de cidades, concatenando cidade e estado
dt1 << New Column( "Cidades", Character, Nominal, Formula( :Nome || ", " || :Estado ), Set Selected );
// Abre a base de dados de vendas de 2015
dt2 = Open("P:\CompComercialDPK\Inteligencia de Mercado DPK\Theodora\Projetos\Áreas de Influência\Vendas 2015.xlsx");
// criando a coluna de cidades, concatenando cidade e estado
dt2 << New Column( "Cidades", Character, Nominal, Formula( :Desc. Município Cadastro || ", " || :Cód. U.F. Cadastro ),
Set Selected );
//TA DANDO ERRO AQUI MINA
// Join para obter vendas e clientes das cidades
(dt1 << Join(
With( dt2 ),
By Matching Columns( :Cidades = :Cidades ),
Drop multiples( 0, 0 ),
Name( "Include non-matches" )(1, 0),
Preserve main table order( 1 ),
output table("Joined Table")
)
);
dt3 = data table("Joined Table");
dt3 << New Column( "MKT Share", Numeric, Continuous,
Formula(:Name("Sum(Vlr. Venda Comercial)") / (:Name("Mean(Pot. Consumo Estimado por Categoria (2015) - Manutenção e acessórios/)") * 0.127)),
Set Selected
);