<?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 create data  no longer works in my Proc OPTMODEL code in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/804853#M3682</link>
    <description>&lt;P&gt;"Create Data" no longer works in a Proc OPTMODEL statement that has worked w/o issue, over several years.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A Colleague of mine thinks it could be related to change(s) in SAS v9.4:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;nbsp; I have not seen anything in SAS Community, or, in the Release Notes indicative of such an issue&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;nbsp; Might anyone be familiar with the error code(s) in the attached file, and what edits I need to make?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bill G (WJG)&lt;/P&gt;
&lt;P&gt;w/ attachment&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;1888
1889  PROC optmodel;
NOTE: Writing HTML Body file: sashtml1.htm
1890  /*  Declare Sets and Parameters  */
1891      set ACCOUNTS;
1892      set RISK_CLASS;
1893      set &amp;lt;str&amp;gt; LOCATIONS;
1894      num est_write_off {ACCOUNTS}, est_payment {ACCOUNTS};
1895      num risk_segment {ACCOUNTS};
1896      num max_jobs {RISK_CLASS};
1897      num min_restrictions {LOCATIONS};
1898      num max_restrictions {LOCATIONS};
1899      str service_center {ACCOUNTS};
1900
1901      set &amp;lt;str&amp;gt; MCSV;
1902      num min_mcsv {MCSV};
1903      num max_mcsv {MCSV};
1904      str man_proc_q {ACCOUNTS};
1905
1906      set &amp;lt;str&amp;gt; CUST_CLASS;
1907      num min_class_limits {CUST_CLASS};
1908      num max_class_limits {CUST_CLASS};
1909      str customer_class {ACCOUNTS};
1910
1911  /*  Read Data from SAS Data Sets  */
1912      read data Summary into RISK_CLASS=[New_Rank] max_jobs=Daily_Jobs;
NOTE: There were 7 observations read from the data set WORK.SUMMARY.
1913
1914      read data Location_Restrictions into LOCATIONS=[Service_Center] min_restrictions=min
1914! max_restrictions=max;
NOTE: There were 5 observations read from the data set WORK.LOCATION_RESTRICTIONS.
1915      *print restrictions;
1916
1917      read data Class_Restrictions into CUST_CLASS=[Res_Com] min_class_limits=Min
1917! max_class_limits=Max;
NOTE: There were 2 observations read from the data set WORK.CLASS_RESTRICTIONS.
1918      *print class_limits;
1919
1920  /*DATA Manual_Processes;
1921      infile datalines delimiter=',';
1922      length Manual_Proc $6;
1923      input Manual_Proc Max;
1924      put Manual_Proc Max;
1925  Datalines;
1926  Max_MC,60
1927  Max_SV,35
1928  ;*/
1929
1930      read data Manual_Processes into MCSV=[Manual_Proc] min_mcsv=Min max_mcsv=Max;
NOTE: There were 3 observations read from the data set WORK.MANUAL_PROCESSES.
1931      *print max_mcsv;
1932
1933      read data Selection_File into ACCOUNTS=[Acct_ID] est_write_off=EstWriteOff
1933! est_payment=EstPayment risk_segment=New_Rank service_center=Service_Center
1933! customer_class=Res_Com man_proc_q=Manual_Process;
WARNING: Duplicate key &amp;lt;2023446720&amp;gt; was read at observation 280.
WARNING: Duplicate key &amp;lt;6280665934&amp;gt; was read at observation 650.
WARNING: Duplicate key &amp;lt;8831810000&amp;gt; was read at observation 697.
WARNING: Duplicate key &amp;lt;9821304710&amp;gt; was read at observation 751.
WARNING: Duplicate key &amp;lt;3802555737&amp;gt; was read at observation 763.
WARNING: Duplicate key &amp;lt;5211474099&amp;gt; was read at observation 818.
WARNING: Duplicate key &amp;lt;5176820000&amp;gt; was read at observation 871.
WARNING: Duplicate key &amp;lt;7671540588&amp;gt; was read at observation 966.
WARNING: Duplicate key &amp;lt;8444959622&amp;gt; was read at observation 967.
WARNING: Duplicate key &amp;lt;9938059754&amp;gt; was read at observation 1057.
WARNING: Duplicate key &amp;lt;1154321000&amp;gt; was read at observation 1104.
WARNING: Duplicate key &amp;lt;135411000&amp;gt; was read at observation 1152.
WARNING: Duplicate key &amp;lt;1560331720&amp;gt; was read at observation 1224.
WARNING: Duplicate key &amp;lt;4716410000&amp;gt; was read at observation 1373.
WARNING: Duplicate key &amp;lt;2701757317&amp;gt; was read at observation 1375.
WARNING: Duplicate key &amp;lt;8147351370&amp;gt; was read at observation 1416.
WARNING: Duplicate key &amp;lt;649269833&amp;gt; was read at observation 1426.
WARNING: Duplicate key &amp;lt;9303006735&amp;gt; was read at observation 1434.
WARNING: Duplicate key &amp;lt;2909628081&amp;gt; was read at observation 1455.
WARNING: Duplicate key &amp;lt;97465376&amp;gt; was read at observation 1458.
WARNING: Duplicate key &amp;lt;6219611051&amp;gt; was read at observation 1598.
NOTE: 21 duplicate keys were read.
NOTE: There were 1598 observations read from the data set WORK.SELECTION_FILE.
1934
1935      *print risk_segment est_write_off est_payment service_center customer_class man_proc_q;
1936      *print max_jobs;
1937
1938  /*  Declare Variables  */
1939      var Target {ACCOUNTS} binary;
1940
1941      impvar NumTarget {r in RISK_CLASS} =
1942          sum {a in ACCOUNTS: risk_segment[a] = r} Target[a];
1943
1944      impvar NumRestrict {s in LOCATIONS} =
1945          sum {a in ACCOUNTS: service_center[a] = s} Target[a];
1946
1947      impvar NumClassRestrict {c in CUST_CLASS} =
1948          sum {a in ACCOUNTS: customer_class[a] = c} Target[a];
1949
1950      impvar NumMCSV {c in MCSV} =
1951          sum {a in ACCOUNTS: man_proc_q[a] = c} Target[a];
1952
1953      impvar Payments =
1954          sum {a in ACCOUNTS} est_payment[a] * Target[a];
1955
1956      impvar WriteOffs =
1957          sum {a in ACCOUNTS} est_write_off[a] * Target[a];
1958
1959  /*  Declase Constraints  */
1960      *****con Max_Terms {r in RISK_CLASS}: NumTarget[r] = max_jobs[r];
1961
1962      con Restrict {s in LOCATIONS}: min_restrictions[s] &amp;lt;= NumRestrict[s] &amp;lt;= max_restrictions[s];
1963
1964      con ClassRestrict {c in CUST_CLASS}: min_class_limits[c] &amp;lt;= NumClassRestrict[c] &amp;lt;=
1964! max_class_limits[c];
1965
1966      con MCSVRestrict {c in MCSV}: min_mcsv[c]&amp;lt;= NumMCSV[c] &amp;lt;= max_mcsv[c];
1967
1968      *con Max_WO_LB: sum {a in ACCOUNTS} est_write_off[a] * Target[a]
1969          &amp;gt;= &amp;amp;DAILY_WRITE_OFFS. - (&amp;amp;WO_Range. * 1);
1970
1971      *con Max_WO_UB: sum {a in ACCOUNTS} est_write_off[a] * Target[a]
1972          &amp;lt;= &amp;amp;DAILY_WRITE_OFFS. + &amp;amp;WO_Range.;
1973
1974  /*  Declare Objective  */
1975      *max ReserveImpact = Payments - WriteOffs;
1976      *min ReserveImpact = WriteOffs;
1977
1978      max ReserveImpact = WriteOffs;
1979
1980      solve with milp;
NOTE: Problem generation will use 4 threads.
NOTE: The constraint 'MCSVRestrict[MC]' is empty.
NOTE: The problem has 1577 variables (0 free, 0 fixed).
NOTE: The problem uses 11 implicit variables.
NOTE: The problem has 1577 binary and 0 integer variables.
NOTE: The problem has 10 linear constraints (0 LE, 0 EQ, 0 GE, 10 range).
NOTE: The problem has 4706 linear constraint coefficients.
NOTE: The problem has 0 nonlinear constraints (0 LE, 0 EQ, 0 GE, 0 range).
NOTE: The initial MILP heuristics are applied.
NOTE: The MILP presolver value AUTOMATIC is applied.
NOTE: The MILP presolver removed 646 variables and 8 constraints.
NOTE: The MILP presolver removed 3775 constraint coefficients.
NOTE: The MILP presolver modified 0 constraint coefficients.
NOTE: The presolved problem has 931 variables, 2 constraints, and 931 constraint coefficients.
NOTE: The MILP solver is called.
NOTE: The parallel Branch and Cut algorithm is used.
NOTE: The Branch and Cut algorithm is using up to 4 threads.
NOTE: The problem has a decomposable structure with 2 blocks. The largest block covers 50.00% of the
      constraints in the problem. The DECOMP option with METHOD=CONCOMP is recommended for solving
      problems with this structure.
          Node   Active   Sols    BestInteger      BestBound      Gap    Time
             0        1      2         686540         686540    0.00%       0
             0        0      2         686540         686540    0.00%       0
NOTE: Optimal.
NOTE: Objective = 686539.96.
1981      *solve with milp / relobjgap=1e-4;
1982
1983  /* Create Dataset */
1984      create data Customers_Offered from [ACCOUNTS]=
                                              --------
                                              708
1985          {a in ACCOUNTS: Target[a]&amp;gt;1e-4} RISK_CLASS=risk_segment;
                            -
                            875
                            515
NOTE 708-782: The name 'ACCOUNTS' hides an outer declaration.

ERROR 875-782: A key set expression may not depend on key column values like 'ACCOUNTS'.

ERROR 515-782: An indexing set subexpression may not be a scalar.

1986  quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE OPTMODEL used (Total process time):
      real time           0.51 seconds
      user cpu time       0.21 seconds
      system cpu time     0.31 seconds
      memory              87619.65k
      OS Memory           103480.00k
      Timestamp           03/29/2022 01:09:01 PM
      Step Count                        150  Switch Count  10
&lt;/LI-CODE&gt;</description>
    <pubDate>Tue, 29 Mar 2022 17:51:59 GMT</pubDate>
    <dc:creator>wjgolembos</dc:creator>
    <dc:date>2022-03-29T17:51:59Z</dc:date>
    <item>
      <title>create data  no longer works in my Proc OPTMODEL code</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/804853#M3682</link>
      <description>&lt;P&gt;"Create Data" no longer works in a Proc OPTMODEL statement that has worked w/o issue, over several years.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A Colleague of mine thinks it could be related to change(s) in SAS v9.4:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;nbsp; I have not seen anything in SAS Community, or, in the Release Notes indicative of such an issue&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;nbsp; Might anyone be familiar with the error code(s) in the attached file, and what edits I need to make?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bill G (WJG)&lt;/P&gt;
&lt;P&gt;w/ attachment&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sas"&gt;1888
1889  PROC optmodel;
NOTE: Writing HTML Body file: sashtml1.htm
1890  /*  Declare Sets and Parameters  */
1891      set ACCOUNTS;
1892      set RISK_CLASS;
1893      set &amp;lt;str&amp;gt; LOCATIONS;
1894      num est_write_off {ACCOUNTS}, est_payment {ACCOUNTS};
1895      num risk_segment {ACCOUNTS};
1896      num max_jobs {RISK_CLASS};
1897      num min_restrictions {LOCATIONS};
1898      num max_restrictions {LOCATIONS};
1899      str service_center {ACCOUNTS};
1900
1901      set &amp;lt;str&amp;gt; MCSV;
1902      num min_mcsv {MCSV};
1903      num max_mcsv {MCSV};
1904      str man_proc_q {ACCOUNTS};
1905
1906      set &amp;lt;str&amp;gt; CUST_CLASS;
1907      num min_class_limits {CUST_CLASS};
1908      num max_class_limits {CUST_CLASS};
1909      str customer_class {ACCOUNTS};
1910
1911  /*  Read Data from SAS Data Sets  */
1912      read data Summary into RISK_CLASS=[New_Rank] max_jobs=Daily_Jobs;
NOTE: There were 7 observations read from the data set WORK.SUMMARY.
1913
1914      read data Location_Restrictions into LOCATIONS=[Service_Center] min_restrictions=min
1914! max_restrictions=max;
NOTE: There were 5 observations read from the data set WORK.LOCATION_RESTRICTIONS.
1915      *print restrictions;
1916
1917      read data Class_Restrictions into CUST_CLASS=[Res_Com] min_class_limits=Min
1917! max_class_limits=Max;
NOTE: There were 2 observations read from the data set WORK.CLASS_RESTRICTIONS.
1918      *print class_limits;
1919
1920  /*DATA Manual_Processes;
1921      infile datalines delimiter=',';
1922      length Manual_Proc $6;
1923      input Manual_Proc Max;
1924      put Manual_Proc Max;
1925  Datalines;
1926  Max_MC,60
1927  Max_SV,35
1928  ;*/
1929
1930      read data Manual_Processes into MCSV=[Manual_Proc] min_mcsv=Min max_mcsv=Max;
NOTE: There were 3 observations read from the data set WORK.MANUAL_PROCESSES.
1931      *print max_mcsv;
1932
1933      read data Selection_File into ACCOUNTS=[Acct_ID] est_write_off=EstWriteOff
1933! est_payment=EstPayment risk_segment=New_Rank service_center=Service_Center
1933! customer_class=Res_Com man_proc_q=Manual_Process;
WARNING: Duplicate key &amp;lt;2023446720&amp;gt; was read at observation 280.
WARNING: Duplicate key &amp;lt;6280665934&amp;gt; was read at observation 650.
WARNING: Duplicate key &amp;lt;8831810000&amp;gt; was read at observation 697.
WARNING: Duplicate key &amp;lt;9821304710&amp;gt; was read at observation 751.
WARNING: Duplicate key &amp;lt;3802555737&amp;gt; was read at observation 763.
WARNING: Duplicate key &amp;lt;5211474099&amp;gt; was read at observation 818.
WARNING: Duplicate key &amp;lt;5176820000&amp;gt; was read at observation 871.
WARNING: Duplicate key &amp;lt;7671540588&amp;gt; was read at observation 966.
WARNING: Duplicate key &amp;lt;8444959622&amp;gt; was read at observation 967.
WARNING: Duplicate key &amp;lt;9938059754&amp;gt; was read at observation 1057.
WARNING: Duplicate key &amp;lt;1154321000&amp;gt; was read at observation 1104.
WARNING: Duplicate key &amp;lt;135411000&amp;gt; was read at observation 1152.
WARNING: Duplicate key &amp;lt;1560331720&amp;gt; was read at observation 1224.
WARNING: Duplicate key &amp;lt;4716410000&amp;gt; was read at observation 1373.
WARNING: Duplicate key &amp;lt;2701757317&amp;gt; was read at observation 1375.
WARNING: Duplicate key &amp;lt;8147351370&amp;gt; was read at observation 1416.
WARNING: Duplicate key &amp;lt;649269833&amp;gt; was read at observation 1426.
WARNING: Duplicate key &amp;lt;9303006735&amp;gt; was read at observation 1434.
WARNING: Duplicate key &amp;lt;2909628081&amp;gt; was read at observation 1455.
WARNING: Duplicate key &amp;lt;97465376&amp;gt; was read at observation 1458.
WARNING: Duplicate key &amp;lt;6219611051&amp;gt; was read at observation 1598.
NOTE: 21 duplicate keys were read.
NOTE: There were 1598 observations read from the data set WORK.SELECTION_FILE.
1934
1935      *print risk_segment est_write_off est_payment service_center customer_class man_proc_q;
1936      *print max_jobs;
1937
1938  /*  Declare Variables  */
1939      var Target {ACCOUNTS} binary;
1940
1941      impvar NumTarget {r in RISK_CLASS} =
1942          sum {a in ACCOUNTS: risk_segment[a] = r} Target[a];
1943
1944      impvar NumRestrict {s in LOCATIONS} =
1945          sum {a in ACCOUNTS: service_center[a] = s} Target[a];
1946
1947      impvar NumClassRestrict {c in CUST_CLASS} =
1948          sum {a in ACCOUNTS: customer_class[a] = c} Target[a];
1949
1950      impvar NumMCSV {c in MCSV} =
1951          sum {a in ACCOUNTS: man_proc_q[a] = c} Target[a];
1952
1953      impvar Payments =
1954          sum {a in ACCOUNTS} est_payment[a] * Target[a];
1955
1956      impvar WriteOffs =
1957          sum {a in ACCOUNTS} est_write_off[a] * Target[a];
1958
1959  /*  Declase Constraints  */
1960      *****con Max_Terms {r in RISK_CLASS}: NumTarget[r] = max_jobs[r];
1961
1962      con Restrict {s in LOCATIONS}: min_restrictions[s] &amp;lt;= NumRestrict[s] &amp;lt;= max_restrictions[s];
1963
1964      con ClassRestrict {c in CUST_CLASS}: min_class_limits[c] &amp;lt;= NumClassRestrict[c] &amp;lt;=
1964! max_class_limits[c];
1965
1966      con MCSVRestrict {c in MCSV}: min_mcsv[c]&amp;lt;= NumMCSV[c] &amp;lt;= max_mcsv[c];
1967
1968      *con Max_WO_LB: sum {a in ACCOUNTS} est_write_off[a] * Target[a]
1969          &amp;gt;= &amp;amp;DAILY_WRITE_OFFS. - (&amp;amp;WO_Range. * 1);
1970
1971      *con Max_WO_UB: sum {a in ACCOUNTS} est_write_off[a] * Target[a]
1972          &amp;lt;= &amp;amp;DAILY_WRITE_OFFS. + &amp;amp;WO_Range.;
1973
1974  /*  Declare Objective  */
1975      *max ReserveImpact = Payments - WriteOffs;
1976      *min ReserveImpact = WriteOffs;
1977
1978      max ReserveImpact = WriteOffs;
1979
1980      solve with milp;
NOTE: Problem generation will use 4 threads.
NOTE: The constraint 'MCSVRestrict[MC]' is empty.
NOTE: The problem has 1577 variables (0 free, 0 fixed).
NOTE: The problem uses 11 implicit variables.
NOTE: The problem has 1577 binary and 0 integer variables.
NOTE: The problem has 10 linear constraints (0 LE, 0 EQ, 0 GE, 10 range).
NOTE: The problem has 4706 linear constraint coefficients.
NOTE: The problem has 0 nonlinear constraints (0 LE, 0 EQ, 0 GE, 0 range).
NOTE: The initial MILP heuristics are applied.
NOTE: The MILP presolver value AUTOMATIC is applied.
NOTE: The MILP presolver removed 646 variables and 8 constraints.
NOTE: The MILP presolver removed 3775 constraint coefficients.
NOTE: The MILP presolver modified 0 constraint coefficients.
NOTE: The presolved problem has 931 variables, 2 constraints, and 931 constraint coefficients.
NOTE: The MILP solver is called.
NOTE: The parallel Branch and Cut algorithm is used.
NOTE: The Branch and Cut algorithm is using up to 4 threads.
NOTE: The problem has a decomposable structure with 2 blocks. The largest block covers 50.00% of the
      constraints in the problem. The DECOMP option with METHOD=CONCOMP is recommended for solving
      problems with this structure.
          Node   Active   Sols    BestInteger      BestBound      Gap    Time
             0        1      2         686540         686540    0.00%       0
             0        0      2         686540         686540    0.00%       0
NOTE: Optimal.
NOTE: Objective = 686539.96.
1981      *solve with milp / relobjgap=1e-4;
1982
1983  /* Create Dataset */
1984      create data Customers_Offered from [ACCOUNTS]=
                                              --------
                                              708
1985          {a in ACCOUNTS: Target[a]&amp;gt;1e-4} RISK_CLASS=risk_segment;
                            -
                            875
                            515
NOTE 708-782: The name 'ACCOUNTS' hides an outer declaration.

ERROR 875-782: A key set expression may not depend on key column values like 'ACCOUNTS'.

ERROR 515-782: An indexing set subexpression may not be a scalar.

1986  quit;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE OPTMODEL used (Total process time):
      real time           0.51 seconds
      user cpu time       0.21 seconds
      system cpu time     0.31 seconds
      memory              87619.65k
      OS Memory           103480.00k
      Timestamp           03/29/2022 01:09:01 PM
      Step Count                        150  Switch Count  10
&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 17:51:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/804853#M3682</guid>
      <dc:creator>wjgolembos</dc:creator>
      <dc:date>2022-03-29T17:51:59Z</dc:date>
    </item>
    <item>
      <title>Re: create data  no longer works in my Proc OPTMODEL code</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/804888#M3683</link>
      <description>&lt;P&gt;Indeed, in SAS 9.4M5 (released in 2017) there was a change to the implementation of the CREATE DATA statement because it did not quite match the behavior described in the documentation.&amp;nbsp; Here are three alternative ways to avoid the ERROR just by changing your CREATE DATA statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. Rename the data set variable to ACCOUNT instead of ACCOUNTS:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   create data Customers_Offered from [ACCOUNT]=
      {a in ACCOUNTS: Target[a]&amp;gt;1e-4} RISK_CLASS=risk_segment;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;2. If you really want the data set variable name to be ACCOUNTS, use the RENAME= data set option:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   create data Customers_Offered(rename=(ACCOUNT=ACCOUNTS)) from [account]=
      {a in ACCOUNTS: Target[a]&amp;gt;1e-4} RISK_CLASS=risk_segment;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;3. Or use a COL expression:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   create data Customers_Offered from [col("ACCOUNTS")]=
      {a in ACCOUNTS: Target[a]&amp;gt;1e-4} RISK_CLASS=risk_segment;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Mar 2022 20:47:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/804888#M3683</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-03-29T20:47:09Z</dc:date>
    </item>
    <item>
      <title>Re: create data  no longer works in my Proc OPTMODEL code</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/805025#M3695</link>
      <description>&lt;P&gt;Awesome!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;TY for the quick reply, Super Freq.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will test each of your three solutions, ASAP.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;[I love your Moniker].&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bill G.&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 12:33:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/805025#M3695</guid>
      <dc:creator>wjgolembos</dc:creator>
      <dc:date>2022-03-30T12:33:37Z</dc:date>
    </item>
    <item>
      <title>Re: create data  no longer works in my Proc OPTMODEL code</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/805145#M3699</link>
      <description>&lt;P&gt;Glad to help.&amp;nbsp; Besides me, several other SAS employees have also been designated as Super FREQs:&amp;nbsp;&lt;A href="https://communities.sas.com/t5/Community-Memo/Meet-the-Super-FREQs/ba-p/291008" target="_blank"&gt;https://communities.sas.com/t5/Community-Memo/Meet-the-Super-FREQs/ba-p/291008&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Mar 2022 20:52:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/create-data-no-longer-works-in-my-Proc-OPTMODEL-code/m-p/805145#M3699</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-03-30T20:52:44Z</dc:date>
    </item>
  </channel>
</rss>

