<?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 How to address Note 49-169: The meaning of an identifier after a quoted string.... in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690069#M209861</link>
    <description>&lt;P&gt;I am cleaning some extraneous strings from a text field&lt;/P&gt;
&lt;PRE&gt;Data SASCDC_2.Arias_County_RC_ETHNICITY_FILL;
  Set SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
     If Identify_Race_or_Ethnicity in ("American_Indian", "American_Indian_(Cheeroke)", "American_Indian_or_Alaskan Native", "Apache", "Caucasian/_NAtive_American_Cow_Creek", "Caucasian/_Native_American",
          "Native_American", "Native_American_-_Cherokee", "Native_American_-_Turtle_Mountain_Reservation", "Native_American_German", "Native_American_Irish", 
          "Native_American_and_White", "Native_American,_Hispanic,_Caucasian", "Native_American/Hispanic", "Native_America/Mexican", "Native_American/White", "Native/Indigenous",
          "Rosebud_Sioux_Tribe", "native_American", "native_american", "American_Indian_+_Other_White", "American_Indian_and_Caucasion", "Alaska_Native", "Alaskan_Native",
           "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN';
run;
&lt;/PRE&gt;
&lt;P&gt;In the survey the developers allowed individuals to provide free-form descriptions of R/E.&amp;nbsp; Then these free form responses are to be put into the stylized R/E buckets used by the Census and others.&amp;nbsp; Here is the log&lt;/P&gt;
&lt;PRE&gt;Set SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
577       If  Identify_Race_or_Ethnicity in
577! ("American_Indian","American_Indian_(Cheeroke)","American_Indian_or_Alaskan
                      ---                          ---                                 ---
---
---
                      49                           49                                  49
49
49
577! Native","Apache","Caucasian/_NAtive_American_Cow_Creek","Caucasian/_Native_American",
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.

581             "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN'
581! ;
582  run;
581             "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN'
                                         ------------------------------------------------------
                                         49
581! ;
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.

583  Data SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
584     Set SASCDC_2.Arias_County_RC_ETHNICITY_A;
585
586     If Identify_Race_or_Ethnicity in ("Mexican-Indian (these were their own words)", "US
                                                                                      ----
----
----
----
                                                                                      49
49
49
49
&lt;/PRE&gt;
&lt;P&gt;I am not sure what the log is trying to tell me?&amp;nbsp; It is a note not an error technically, however when I check the field that is to be changed many of the free form texts are still there. I am searching for answers or remedies (that is why there are underscores between letters and other text expressions in the above).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In some other coding like Python that is sensitive to whitespace there is at least and explanation of how to correct and then the code runs as expected.&amp;nbsp; Here I think SAS is ambiguous (maybe not - so that is why I am asking how to correct this - even though it is just a note because the code doesn't produce the expected result.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;wlierman&lt;/P&gt;</description>
    <pubDate>Thu, 08 Oct 2020 15:53:09 GMT</pubDate>
    <dc:creator>wlierman</dc:creator>
    <dc:date>2020-10-08T15:53:09Z</dc:date>
    <item>
      <title>How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690069#M209861</link>
      <description>&lt;P&gt;I am cleaning some extraneous strings from a text field&lt;/P&gt;
&lt;PRE&gt;Data SASCDC_2.Arias_County_RC_ETHNICITY_FILL;
  Set SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
     If Identify_Race_or_Ethnicity in ("American_Indian", "American_Indian_(Cheeroke)", "American_Indian_or_Alaskan Native", "Apache", "Caucasian/_NAtive_American_Cow_Creek", "Caucasian/_Native_American",
          "Native_American", "Native_American_-_Cherokee", "Native_American_-_Turtle_Mountain_Reservation", "Native_American_German", "Native_American_Irish", 
          "Native_American_and_White", "Native_American,_Hispanic,_Caucasian", "Native_American/Hispanic", "Native_America/Mexican", "Native_American/White", "Native/Indigenous",
          "Rosebud_Sioux_Tribe", "native_American", "native_american", "American_Indian_+_Other_White", "American_Indian_and_Caucasion", "Alaska_Native", "Alaskan_Native",
           "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN';
run;
&lt;/PRE&gt;
&lt;P&gt;In the survey the developers allowed individuals to provide free-form descriptions of R/E.&amp;nbsp; Then these free form responses are to be put into the stylized R/E buckets used by the Census and others.&amp;nbsp; Here is the log&lt;/P&gt;
&lt;PRE&gt;Set SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
577       If  Identify_Race_or_Ethnicity in
577! ("American_Indian","American_Indian_(Cheeroke)","American_Indian_or_Alaskan
                      ---                          ---                                 ---
---
---
                      49                           49                                  49
49
49
577! Native","Apache","Caucasian/_NAtive_American_Cow_Creek","Caucasian/_Native_American",
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.

581             "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN'
581! ;
582  run;
581             "American_Indian/Hispanic") then Identify_Race_or_Ethnicity = 'NATIVE_AMERICAN'
                                         ------------------------------------------------------
                                         49
581! ;
NOTE 49-169: The meaning of an identifier after a quoted string might change in a future SAS
             release.  Inserting white space between a quoted string and the succeeding
             identifier is recommended.

583  Data SASCDC_2.Arias_County_RC_ETHNIC_CLEANUP;
584     Set SASCDC_2.Arias_County_RC_ETHNICITY_A;
585
586     If Identify_Race_or_Ethnicity in ("Mexican-Indian (these were their own words)", "US
                                                                                      ----
----
----
----
                                                                                      49
49
49
49
&lt;/PRE&gt;
&lt;P&gt;I am not sure what the log is trying to tell me?&amp;nbsp; It is a note not an error technically, however when I check the field that is to be changed many of the free form texts are still there. I am searching for answers or remedies (that is why there are underscores between letters and other text expressions in the above).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In some other coding like Python that is sensitive to whitespace there is at least and explanation of how to correct and then the code runs as expected.&amp;nbsp; Here I think SAS is ambiguous (maybe not - so that is why I am asking how to correct this - even though it is just a note because the code doesn't produce the expected result.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;wlierman&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 15:53:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690069#M209861</guid>
      <dc:creator>wlierman</dc:creator>
      <dc:date>2020-10-08T15:53:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690074#M209864</link>
      <description>Add a space between the quotes and comma. Or you can remove the comma's entirely within a data step. &lt;BR /&gt;&lt;BR /&gt;"American_Indian"_,&lt;BR /&gt;The compiler would like to see that underscore as a space. &lt;BR /&gt;&lt;BR /&gt;The rationale is because SAS literals use a similar notation where the character after the quote does have meaning, ie &lt;BR /&gt;&lt;BR /&gt;'01Jan2019'd -&amp;gt; d here tells SAS to read that as a date not as a character or 'My date'n tells SAS this is a variable name, not just a string of characters. &lt;BR /&gt;&lt;BR /&gt;The log is warning you that this could be an issue in the future, but it's not an error. I would fix it because otherwise you don't know if you have a new issue or if it's the same ol' issue. &lt;BR /&gt;</description>
      <pubDate>Thu, 08 Oct 2020 16:00:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690074#M209864</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2020-10-08T16:00:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690082#M209870</link>
      <description>&lt;P&gt;Of course it depends on exactly which race/ethnicity coding you are emulating. There is more than one "census" encoding scheme and you have several of those that would fall into "more than one race" in at least one of the schemes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've often used custom informats to address such issues to map relatively open text to specific values with an Other= _error_ option to have the log tell me when there are values I didn't expect.&lt;/P&gt;
&lt;P&gt;One small advantage of this is you can use the UPCASE option with the invalue so that the case is converted to all uppercase when the comparison is made so that these are the same:&lt;/P&gt;
&lt;PRE&gt; "Native_American" "native_American" "native_american"&lt;/PRE&gt;
&lt;P&gt;as well as any other mix of capitalization.&lt;/P&gt;
&lt;P&gt;Yes it can lead to longish Proc Format code but sometimes having all the values in one place makes keeping track of such things easier.&lt;/P&gt;
&lt;P&gt;And the proc informat code currently doesn't generate such warnings:&lt;/P&gt;
&lt;PRE&gt;13   proc format;
14   invalue $re (upcase)
15   "AMERICAN_INDIAN", "AMERICAN_INDIAN_(CHEEROKE)",
15 ! "AMERICAN_INDIAN_OR_ALASKAN NATIVE", "APACHE",
15 ! "CAUCASIAN/_NATIVE_AMERICAN_COW_CREEK",
15 ! "CAUCASIAN/_NATIVE_AMERICAN",
16    "NATIVE_AMERICAN", "NATIVE_AMERICAN_-_CHEROKEE",
16 ! "NATIVE_AMERICAN_-_TURTLE_MOUNTAIN_RESERVATION",
16 ! "NATIVE_AMERICAN_GERMAN", "NATIVE_AMERICAN_IRISH",
17    "NATIVE_AMERICAN_AND_WHITE",
17 ! "NATIVE_AMERICAN,_HISPANIC,_CAUCASIAN",
17 ! "NATIVE_AMERICAN/HISPANIC", "NATIVE_AMERICA/MEXICAN",
17 ! "NATIVE_AMERICAN/WHITE", "NATIVE/INDIGENOUS",
18    "ROSEBUD_SIOUX_TRIBE", "AMERICAN_INDIAN_+_OTHER_WHITE",
18 ! "AMERICAN_INDIAN_AND_CAUCASION", "ALASKA_NATIVE",
18 ! "ALASKAN_NATIVE",
19     "AMERICAN_INDIAN/HISPANIC" = 'NATIVE_AMERICAN'
20   ;
NOTE: Informat $RE has been output.
21   run;

NOTE: PROCEDURE FORMAT used (Total process time):
      real time           0.02 seconds
      cpu time            0.01 seconds

&lt;/PRE&gt;</description>
      <pubDate>Thu, 08 Oct 2020 16:19:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690082#M209870</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2020-10-08T16:19:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690107#M209893</link>
      <description>&lt;P&gt;The error message is just the place where SAS compiler was able to see something strange.&amp;nbsp; It has tagged this code was strange.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;","A&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;So it is saying that you shouldn't use A right after the quoted comma because SAS might decide to use that to indicate some type of special constant.&amp;nbsp; Like they use D, T and DT for date, time and datetime constants.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Look higher up somewhere in your code for unbalanced quotes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 17:10:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690107#M209893</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-10-08T17:10:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690120#M209896</link>
      <description>&lt;P&gt;Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/65907"&gt;@wlierman&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Further evidence of what&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;&amp;nbsp;has said can be seen by looking at your log, one data step has ended with a &lt;FONT face="courier new,courier"&gt;run&lt;/FONT&gt; statement and another has begun with a &lt;FONT face="courier new,courier"&gt;data&lt;/FONT&gt; statement, but no notes have appeared in the log about how many observations and variables are in your data set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If all of your quotes do appear to be balanced then try closing and restarting your session.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you still have problems after that then, after another session restart, try running one data step at a time and make sure you get a data set created at each step. As soon as a data step does not create a data set then your problem is likely in that data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HTH.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards,&lt;/P&gt;
&lt;P&gt;Amir.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 17:30:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690120#M209896</guid>
      <dc:creator>Amir</dc:creator>
      <dc:date>2020-10-08T17:30:31Z</dc:date>
    </item>
    <item>
      <title>Re: How to address Note 49-169: The meaning of an identifier after a quoted string....</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690200#M209949</link>
      <description>Thank you. Both your guidance and Reeza's insight helped clear my problem up.&lt;BR /&gt;&lt;BR /&gt;Thanks again.&lt;BR /&gt;&lt;BR /&gt;wlierman</description>
      <pubDate>Thu, 08 Oct 2020 20:59:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-address-Note-49-169-The-meaning-of-an-identifier-after-a/m-p/690200#M209949</guid>
      <dc:creator>wlierman</dc:creator>
      <dc:date>2020-10-08T20:59:00Z</dc:date>
    </item>
  </channel>
</rss>

