<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Como concatenar dois campos e usar como chave no proc sql do SAS, assim como é feito no trecho s in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/729021#M226839</link>
    <description>&lt;P&gt;No problem-I'm happy to help. I went ahead and adapted the code based on what you provided. I think this is what you need, but please feel free to let me know if it doesn't capture something you need. The only issue I see with it is that it creates a Cartesian product, which may be problematic if you're working with a large data set or database. / Não há problema. Terei todo o gosto em ajudar. Eu fui em frente e adaptei o código com base no que você forneceu. Acho que é disso que você precisa, mas sinta-se à vontade para me avisar se não houver algo de que você precisa. O único problema que vejo é que ele cria um produto cartesiano, o que pode ser problemático se você estiver trabalhando com um grande conjunto de dados ou banco de dados.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cadastro;
input cod_operadora :$3. instalacao $10.;
datalines;
003 ABCDEFGHIJ
001 ABCDEFGHII
002 ABCDEFGHHH
006 ABCDEFGGGG
;
run;

data cliente;
infile datalines delimiter = ",";
input num_contrato assinante $ tipo_contrato $;
datalines;
123456789,A,XYZ
987654321,B,ABC
929193921,C,ABC
999239123,D,EFG
;
run;

proc sql;
	select
				cad.cod_operadora,
				cad.instalacao,
				cli.num_contrato,
				cli.assinante,
				cli.tipo_contrato
	from
				cadastro cad, /* ou cadastro AS cad */
				cliente cli /* ou cliente AS cli */
	where
				catx(" | ", cod_operadora, num_contrato) in ("003 | 123456789", "001 | 987654321");
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 25 Mar 2021 12:05:48 GMT</pubDate>
    <dc:creator>maguiremq</dc:creator>
    <dc:date>2021-03-25T12:05:48Z</dc:date>
    <item>
      <title>Como concatenar dois campos e usar como chave no proc sql do SAS, assim como é feito no trecho sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728713#M226733</link>
      <description>&lt;P&gt;Bom dia sou iniciante no SAS e estou coma seguinte dificuldade - Transformar o trecho do código sql abaixo para o formato do proc sql no SAS.&lt;/P&gt;&lt;P&gt;No código SQL ficaria assim: where cod_operadora || '|' || num_contrato in ('003 | 123456789', '001 | 987654321')&lt;/P&gt;&lt;P&gt;Detalhe: o campo cod_operadora é um campo texto e o campo num_contrato é um campo numérico.&lt;/P&gt;&lt;P&gt;Como eu poderia converter o trecho do sql para o proc sql do SAS, conseguem me ajudar?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Mar 2021 11:09:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728713#M226733</guid>
      <dc:creator>Jose_Roberto</dc:creator>
      <dc:date>2021-03-24T11:09:11Z</dc:date>
    </item>
    <item>
      <title>Re: Como concatenar dois campos e usar como chave no proc sql do SAS, assim como é feito no trecho s</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728762#M226747</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/375315"&gt;@Jose_Roberto&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Bom dia sou iniciante no SAS e estou coma seguinte dificuldade - Transformar o trecho do código sql abaixo para o formato do proc sql no SAS.&lt;/P&gt;
&lt;P&gt;No código SQL ficaria assim: where cod_operadora || '|' || num_contrato in ('003 | 123456789', '001 | 987654321')&lt;/P&gt;
&lt;P&gt;Detalhe: o campo cod_operadora é um campo texto e o campo num_contrato é um campo numérico.&lt;/P&gt;
&lt;P&gt;Como eu poderia converter o trecho do sql para o proc sql do SAS, conseguem me ajudar?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Translated via Google from Portuguese to English--not sure how correct it is, but it translated it well enough for me to understand.&lt;/P&gt;
&lt;PRE id="tw-target-text" class="tw-data-text tw-text-large XcVN5d tw-ta" dir="ltr" style="text-align: left;" data-placeholder="Translation"&gt;&lt;SPAN&gt;Good morning I am a beginner in SAS and I am having the following difficulty - Transform the sql code snippet below to the format of the sql proc in SAS.

In the SQL code it would look like this: where cod_operadora || '|' || num_contrato in ('003 | 123456789', '001 | 987654321')

Detail: the cod_operadora field is a text field and the num_contract field is a numeric field.

How could I convert the sql snippet to the SAS sql proc, can you help me?&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Here's my solution. Try running this code. / Aqui está minha solução. Tente executar este código.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input cod_operadora :$3. num_contrato;
datalines;
003 123456789
001 987654321
002 929193921
006 999239123
;
run;

proc print data = have;
run;

proc sql;
	select
				*
	from
				have
	where
				catx(" | ", cod_operadora, num_contrato) in ("003 | 123456789", "001 | 987654321");
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The CATX function trims leading and trailing blanks, and inserts the " | " delimiter. / A função CATX apara os espaços em branco à esquerda e à direita e insere o caractere " | " delimitador.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Mar 2021 14:51:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728762#M226747</guid>
      <dc:creator>maguiremq</dc:creator>
      <dc:date>2021-03-24T14:51:00Z</dc:date>
    </item>
    <item>
      <title>Re: Como concatenar dois campos e usar como chave no proc sql do SAS, assim como é feito no trecho s</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728983#M226825</link>
      <description>Bom dia! Obrigado pelo retorno.&lt;BR /&gt;&lt;BR /&gt;A sua solução atende quando eu crio uma tabela com os dois campos, mas no&lt;BR /&gt;cenário em que tenho os dados distribuídos em duas tabelas distintas como&lt;BR /&gt;ficaria no proc sql do SAS o código sql abaixo?&lt;BR /&gt;&lt;BR /&gt;select&lt;BR /&gt;cad.cod_operadora,&lt;BR /&gt;cad.instalacao,&lt;BR /&gt;cli.num_contrato,&lt;BR /&gt;cli.assinante,&lt;BR /&gt;cli.tipo_contrato&lt;BR /&gt;&lt;BR /&gt;from&lt;BR /&gt;cadastro cad,&lt;BR /&gt;cliente cli&lt;BR /&gt;where&lt;BR /&gt;cad.cod_operadora || '|' || cli.num_contrato in ('003 | 123456789', '001 |&lt;BR /&gt;987654321')&lt;BR /&gt;&lt;BR /&gt;Detalhe: o campo cad.cod_operadora é um campo texto e o campo&lt;BR /&gt;cli.num_contrato é um campo numérico.&lt;BR /&gt;&lt;BR /&gt;Muito obrigado pela atenção e ajuda!&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 25 Mar 2021 07:07:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/728983#M226825</guid>
      <dc:creator>Jose_Roberto</dc:creator>
      <dc:date>2021-03-25T07:07:31Z</dc:date>
    </item>
    <item>
      <title>Re: Como concatenar dois campos e usar como chave no proc sql do SAS, assim como é feito no trecho s</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/729021#M226839</link>
      <description>&lt;P&gt;No problem-I'm happy to help. I went ahead and adapted the code based on what you provided. I think this is what you need, but please feel free to let me know if it doesn't capture something you need. The only issue I see with it is that it creates a Cartesian product, which may be problematic if you're working with a large data set or database. / Não há problema. Terei todo o gosto em ajudar. Eu fui em frente e adaptei o código com base no que você forneceu. Acho que é disso que você precisa, mas sinta-se à vontade para me avisar se não houver algo de que você precisa. O único problema que vejo é que ele cria um produto cartesiano, o que pode ser problemático se você estiver trabalhando com um grande conjunto de dados ou banco de dados.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data cadastro;
input cod_operadora :$3. instalacao $10.;
datalines;
003 ABCDEFGHIJ
001 ABCDEFGHII
002 ABCDEFGHHH
006 ABCDEFGGGG
;
run;

data cliente;
infile datalines delimiter = ",";
input num_contrato assinante $ tipo_contrato $;
datalines;
123456789,A,XYZ
987654321,B,ABC
929193921,C,ABC
999239123,D,EFG
;
run;

proc sql;
	select
				cad.cod_operadora,
				cad.instalacao,
				cli.num_contrato,
				cli.assinante,
				cli.tipo_contrato
	from
				cadastro cad, /* ou cadastro AS cad */
				cliente cli /* ou cliente AS cli */
	where
				catx(" | ", cod_operadora, num_contrato) in ("003 | 123456789", "001 | 987654321");
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 25 Mar 2021 12:05:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Como-concatenar-dois-campos-e-usar-como-chave-no-proc-sql-do-SAS/m-p/729021#M226839</guid>
      <dc:creator>maguiremq</dc:creator>
      <dc:date>2021-03-25T12:05:48Z</dc:date>
    </item>
  </channel>
</rss>

