使用 JSL 连接表<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我是使用 JSL 的初学者,并尝试使用 JSL 连接两个数据表。 但是,代码不起作用:它返回一个包含空列的表
谁能帮我?
回复:使用 JSL 连接表耶,谢谢!
回复:使用 JSL 连接表dt3 << set name("新名称");
回复:使用 JSL 连接表有效! 谢啦!
如何重命名 dt3?
回复:使用 JSL 连接表我的建议是,您将脚本运行到要进行连接的位置。但不要运行连接。然后进入交互式 JMP、Tables==>Join 并按照您希望的方式手动执行连接。完成后,转到新加入的数据表,然后转到表面板并单击“源”红色小三角,然后编辑代码。在那里您将找到按照您想要的方式连接数据所需的代码。
此外,我对您的脚本做了一些细微的更改,这不会更改代码的功能,但使代码更加精确:
// 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
);
回复:使用 JSL 连接表很难说为什么如果没有一些数据来测试它就不起作用,但我对您的代码做了一些更正/添加。
1. 您对两个表使用了相同的表变量 (dt)。将其更改为 dt1 和 dt2。
2.添加了用于创建新公式列的表变量
3. 在 join 命令中使用表变量 dt1 和 dt2。
3.在join命令中添加“输出表”,然后将dt3指向连接后的输出。
4. 使用 dt3 表变量添加新列。
// 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
);