Unire tabelle con JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sono un principiante nell'usare JSL e ho provato a unire due tabelle di dati usando JSL. Tuttavia, il codice non funziona: restituisce una tabella con colonne vuote
Qualcuno può aiutarmi?
Ri: Unire tabelle con JSLSì, grazie!
Ri: Unire tabelle con JSLdt3 << set name("il nuovo nome");
Ri: Unire tabelle con JSLHa funzionato! Grazie uomo!
Come posso rinominare il dt3?
Ri: Unire tabelle con JSLQuello che suggerisco è di eseguire il tuo script fino al punto in cui eseguirai il join.Ma non eseguire il join.Quindi vai in JMP interattivo, Tables==>Join ed esegui il join manualmente, proprio come vuoi che sia fatto.Una volta completato, vai alla tabella dei dati appena unita, vai al pannello delle tabelle e fai clic sul triangolo rosso "Sorgente" e modifica il codice.Lì troverai il codice necessario per unire i dati nel modo desiderato.
Inoltre, ho apportato alcune modifiche minori al tuo script, che non modificano la funzionalità del codice, ma rendono il codice più preciso:
// 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
);
Ri: Unire tabelle con JSLDifficile dire perché non funziona senza alcuni dati per testare le cose, ma ho apportato alcune correzioni/aggiunte al tuo codice.
1. Hai utilizzato la stessa variabile di tabella (dt) per entrambe le tabelle.Cambiato questo in dt1 e dt2.
2. Aggiunte variabili di tabella per la creazione delle nuove colonne formula
3. Utilizzare le variabili di tabella dt1 e dt2 nel comando join.
3. Aggiunta "output table" al comando join, quindi punta dt3 all'output unito.
4. Utilizzare la variabile di tabella dt3 per aggiungere la nuova colonna.
// 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
);