Uniendo tablas con JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Soy un principiante en el uso de JSL e intenté unir dos tablas de datos usando JSL. Sin embargo, el código no funciona: devuelve una tabla con columnas vacías
¿Alguien puede ayudarme?
Re: Unir tablas con JSL¡Yaay, gracias!
Re: Unir tablas con JSLdt3 << establecer nombre("el nuevo nombre");
Re: Unir tablas con JSL¡Funcionó! ¡Gracias hombre!
¿Cómo puedo cambiar el nombre del dt3?
Re: Unir tablas con JSLLo que sugiero es que ejecute su secuencia de comandos hasta donde vaya a realizar la unión.Pero no ejecutes la combinación.Luego vaya a JMP interactivo, Tables==>Join y haga la unión manualmente, tal como usted quiere que se haga.Una vez que esté completo, vaya a la tabla de datos recién unida, vaya al panel de tablas y haga clic en el triángulo rojo "Fuente" y edite el código.Allí encontrará el código que necesita para unir los datos de la manera que desee.
Además, realicé algunos cambios menores en su secuencia de comandos, lo que no cambia la funcionalidad del código, pero hace que el código sea más 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
);
Re: Unir tablas con JSLEs difícil saber por qué no funciona sin algunos datos para probar cosas, pero hice algunas correcciones/adiciones a su código.
1. Usó la misma variable de tabla (dt) para ambas tablas.Cambié esto a dt1 y dt2.
2. Se agregaron variables de tabla para crear las nuevas columnas de fórmula.
3. Use las variables de tabla dt1 y dt2 en el comando de unión.
3. Se agregó "tabla de salida" al comando de unión, luego apunte dt3 a la salida unida.
4. Use la variable de tabla dt3 para agregar la nueva columna.
// 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
);