<?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: Concatenating string with text and values for lookup in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827373#M326819</link>
    <description>&lt;P&gt;The WHERE clause is the problem.&amp;nbsp; You cannot reference a variable that does not yet exist like that.&lt;/P&gt;
&lt;P&gt;Here is a simpler example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1099  proc sql;
1100  create table want as
1101  select *,age*age as agesq from sashelp.class
1102  where agesq in (121)
1103  ;
ERROR: The following columns were not found in the contributing tables: agesq.
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can just add the CALCULATED keyword to let PROC SQL know that you want it to use the new derived variable and not something that was on the inputs.&lt;/P&gt;
&lt;PRE&gt;1104  proc sql;
1105  create table want as
1106  select *,age*age as agesq from sashelp.class
1107  where calculated agesq in (121)
1108  ;
NOTE: Table WORK.WANT created, with 2 rows and 6 columns.
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;So try:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;CREATE TABLE PROD_SN AS
SELECT T.PRODUCTNM
     , T.SERIALNBR
     , T.MKTID
     , T.SCHEDULETYPE
     , CATX('_', T.PRODUCTNM, T.SERIALNBR) AS PROD_SN
FROM tbl.ProductDetail T
WHERE calculated PROD_SN in ('CONT_123','CONT_233','STAR_4329')
GROUP BY T.PRODUCTNM
       , T.SERIALNBR
       , T.MKTID
       , T.SCHEDULETYPE
       , calculated PROD_SN
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 05 Aug 2022 14:42:59 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2022-08-05T14:42:59Z</dc:date>
    <item>
      <title>Concatenating string with text and values for lookup</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827339#M326800</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am a new user to SAS, and I would like to concatenate two fields as a variable that I can look up in my query. I'm not 100% on this, but I wonder if the issue is due to the Product Name being in Text format, while Serial Number is in Values, causing the concatenation to fail. Can someone help me understand this better? Below is the code I'm using:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;CREATE TABLE PROD_SN AS&lt;/P&gt;&lt;P&gt;SELECT T.PRODUCTNM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.SERIALNBR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.MKTID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.SCHEDULETYPE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CATX(“_”, T.PRODUCTNM, T.SERIALNBR) AS PROD_SN&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;FROM tbl.ProductDetail T&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;WHERE PROD_SN in (‘CONT_123’,’CONT_233’,’STAR_4329’)&lt;BR /&gt;&lt;BR /&gt;GROUP BY T.PRODUCTNM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.SERIALNBR&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.MKTID&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,T.SCHEDULETYPE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CATX(“_”, T.PRODUCTNM, T.SERIALNBR) AS PROD_SN&lt;/P&gt;&lt;P&gt;;&lt;BR /&gt;RUN;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 12:38:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827339#M326800</guid>
      <dc:creator>supersasnewbie</dc:creator>
      <dc:date>2022-08-05T12:38:24Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenating string with text and values for lookup</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827357#M326812</link>
      <description>&lt;P&gt;Can you please post your log? Copy just the part with the error, and paste it using the `&amp;lt;/&amp;gt;` icon section of your reply.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 13:42:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827357#M326812</guid>
      <dc:creator>maguiremq</dc:creator>
      <dc:date>2022-08-05T13:42:20Z</dc:date>
    </item>
    <item>
      <title>Re: Concatenating string with text and values for lookup</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827373#M326819</link>
      <description>&lt;P&gt;The WHERE clause is the problem.&amp;nbsp; You cannot reference a variable that does not yet exist like that.&lt;/P&gt;
&lt;P&gt;Here is a simpler example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;1099  proc sql;
1100  create table want as
1101  select *,age*age as agesq from sashelp.class
1102  where agesq in (121)
1103  ;
ERROR: The following columns were not found in the contributing tables: agesq.
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can just add the CALCULATED keyword to let PROC SQL know that you want it to use the new derived variable and not something that was on the inputs.&lt;/P&gt;
&lt;PRE&gt;1104  proc sql;
1105  create table want as
1106  select *,age*age as agesq from sashelp.class
1107  where calculated agesq in (121)
1108  ;
NOTE: Table WORK.WANT created, with 2 rows and 6 columns.
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;So try:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;CREATE TABLE PROD_SN AS
SELECT T.PRODUCTNM
     , T.SERIALNBR
     , T.MKTID
     , T.SCHEDULETYPE
     , CATX('_', T.PRODUCTNM, T.SERIALNBR) AS PROD_SN
FROM tbl.ProductDetail T
WHERE calculated PROD_SN in ('CONT_123','CONT_233','STAR_4329')
GROUP BY T.PRODUCTNM
       , T.SERIALNBR
       , T.MKTID
       , T.SCHEDULETYPE
       , calculated PROD_SN
;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Aug 2022 14:42:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Concatenating-string-with-text-and-values-for-lookup/m-p/827373#M326819</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2022-08-05T14:42:59Z</dc:date>
    </item>
  </channel>
</rss>

