<?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: Efficiency Analysis: Run analysis by region and year in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803292#M3666</link>
    <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried your recommendation and modified some codes, but I still can't accomplish my hope.&lt;/P&gt;&lt;P&gt;Could you help me to find out the problem?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data inputs;
   input input $8.;
   datalines;
staff
showroom
;

data outputs;
   input output $10.;
   datalines;
beta_sales
profit
;

data garage_data;
   input garage_name $ year region $ staff showroom alpha_sales beta_sales profit;
   datalines;
Winchester  2020 A 7  8   10  12 8.5 4   2    0.6  1.5
Andover 2020 A    6  6   20  30 9   4.5 2.3  0.7  1.6
Basingstoke 2020 B 2  3   40  40 2   1.5 0.8  0.25 0.5
Poole 2020 B 14 9   20  25 10  6   2.6  0.86 1.9
Winchester  2021 A    10 9   10  10 11  5   2.4  1    2
Andover  2021 A  24 15  15  13 25  19  8    2.6  4.5
Basingstoke 2021 B  6  7   50  40 8.5 3   2.5  0.9  1.6
Poole 2021 B  8  7.5 5   8  9   4   2.1  0.85 2
;

proc sort data=garage_data;
    by year region;
run;

data garage_data1;
    set garage_data(keep=year region);
    by year region;
    if first.region;
run;

%macro compute(year=,region=);
proc optmodel ;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES ;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data(where=(year="&amp;amp;year" and region="&amp;amp;region")) into GARAGES=[_N_] garage_name
      {i in INPUTS}  &amp;lt;input[i,_N_]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,_N_]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number ;
quit;
%mend;

data _null_;
    set garage_data1;
    call execute(cats('%nrstr(%compute(year=',year,',region=',region,'))'));
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;</description>
    <pubDate>Tue, 22 Mar 2022 10:39:02 GMT</pubDate>
    <dc:creator>shawnchen0321</dc:creator>
    <dc:date>2022-03-22T10:39:02Z</dc:date>
    <item>
      <title>Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802758#M3657</link>
      <description>&lt;P&gt;I copy the code from SAS website as below. These codes are regarding "Efficiency Analysis: How to Use Data Envelopment Analysis to Compare Efficiencies of Garages".&lt;BR /&gt;&lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.4/ormpex/ormpex_code_mpex22.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.4/ormpex/ormpex_code_mpex22.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;data inputs;
   input input $9.;
   datalines;
staff
showroom
pop1
pop2
alpha_enq
beta_enq
;

data outputs;
   input output $11.;
   datalines;
alpha_sales
beta_sales
profit
;

data garage_data;
   input garage_name $12. staff showroom pop1 pop2 alpha_enq beta_enq
      alpha_sales beta_sales profit;
   datalines;
Winchester  7  8   10  12 8.5 4   2    0.6  1.5
Andover     6  6   20  30 9   4.5 2.3  0.7  1.6
Basingstoke 2  3   40  40 2   1.5 0.8  0.25 0.5
Poole       14 9   20  25 10  6   2.6  0.86 1.9
Woking      10 9   10  10 11  5   2.4  1    2
Newbury     24 15  15  13 25  19  8    2.6  4.5
Portsmouth  6  7   50  40 8.5 3   2.5  0.9  1.6
Alresford   8  7.5 5   8  9   4   2.1  0.85 2
Salisbury   5  5   10  10 5   2.5 2    0.65 0.9
Guildford   8  10  30  35 9.5 4.5 2.05 0.75 1.7
Alton       7  8   7   8  3   2   1.9  0.7  0.5
Weybridge   5  6.5 9   12 8   4.5 1.8  0.63 1.4
Dorchester  6  7.5 10  10 7.5 4   1.5  0.45 1.45
Bridport    11 8   8   10 10  6   2.2  0.65 2.2
Weymouth    4  5   10  10 7.5 3.5 1.8  0.62 1.6
Portland    3  3.5 3   2  2   1.5 0.9  0.35 0.5
Chichester  5  5.5 8   10 7   3.5 1.2  0.45 1.3
Petersfield 21 12  6   8  15  8   6    0.25 2.9
Petworth    6  5.5 2   2  8   5   1.5  0.55 1.55
Midhurst    3  3.6 3   3  2.5 1.5 0.8  0.2  0.45
Reading     30 29  120 80 35  20  7    2.5  8
Southampton 25 16  110 80 27  12  6.5  3.5  5.4
Bournemouth 19 10  90  12 25  13  5.5  3.1  4.5
Henley      7  6   5   7  8.5 4.5 1.2  0.48 2
Maidenhead  12 8   7   10 12  7   4.5  2    2.3
Fareham     4  6   1   1  7.5 3.5 1.1  0.48 1.7
Romsey      2  2.5 1   1  2.5 1   0.4  0.1  0.55
Ringwood    2  3.5 2   2  1.9 1.2 0.3  0.09 0.4
;

proc optmodel;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data into GARAGES=[_N_] garage_name
      {i in INPUTS}  &amp;lt;input[i,_N_]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,_N_]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   set EFFICIENT_GARAGES = {j in GARAGES: efficiency_number[j] &amp;gt;= 1};
   set INEFFICIENT_GARAGES = GARAGES diff EFFICIENT_GARAGES;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number;

quit;&lt;/PRE&gt;&lt;P&gt;I have a question: if the garage data has region and year data, I hope the model was constructed by region and year. According to different regions and years, I have more detailed efficiency values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How to modify the current code to achieve my hope? I really appreciate any help you can provide.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 09:57:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802758#M3657</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-18T09:57:16Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802759#M3658</link>
      <description>&lt;P&gt;Since OPTMODEL does not have a BY statement, you would have to use either a macro or CALL EXECUTE (or both).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;An example is shown here:&amp;nbsp;&lt;A href="https://communities.sas.com/t5/SAS-Programming/CALL-SYMPUT-within-a-macro-generated-using-CALL-EXECUTE/m-p/745391" target="_blank"&gt;https://communities.sas.com/t5/SAS-Programming/CALL-SYMPUT-within-a-macro-generated-using-CALL-EXECUTE/m-p/745391&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are many other examples here in the SAS Communities.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since the data you do show does not have either region or year, its hard to provide more specific information.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 10:45:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802759#M3658</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-03-18T10:45:43Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802770#M3659</link>
      <description>&lt;P&gt;Here's a simple example of using a macro and CALL EXECUTE.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;NOTE: you would NEVER do this for PROCs that have a BY statement (like PROC MEANS), you would just use the BY statement.&lt;/STRONG&gt;&lt;/FONT&gt; Since PROC OPTMODEL does not have a BY statement, you would need to replace the PROC MEANS in the COMPUTE macro below with the proper PROC OPTMODEL code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Create data set for this analysis, properly sorted */
proc sort data=sashelp.cars out=cars;
    by make TYPE;
run;
/* Create data set to allow looping over Make and Type */
data cars1;
    set cars(keep=make type);
    by make type;
    if first.type;
run;

/* Calculation macro */
%macro compute(make=,type=);
    proc means data=cars(where=(make="&amp;amp;make" and type="&amp;amp;type"));
        var msrp;
    run;
%mend;

/* Perform looping over all Make and Type */
data _null_;
    set cars1;
    call execute(cats('%nrstr(%compute(make=',make,',type=',type,'))'));
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 18 Mar 2022 12:13:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802770#M3659</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-03-18T12:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802785#M3660</link>
      <description>&lt;P&gt;PaigeMiller correctly noted that PROC OPTMODEL does not have a BY statement, but two alternatives are illustrated in this SAS Usage Note:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/kb/42/332.html" target="_blank"&gt;42332 - BY group processing with PROC OPTMODEL and the runOptmodel action (sas.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The first approach is to introduce an explicit outer loop over the BY groups.&amp;nbsp; The second (and simpler) approach is to use the groupBy parameter in the runOptmodel action in SAS Optimization.&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 13:44:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802785#M3660</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-03-18T13:44:23Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802884#M3664</link>
      <description>&lt;P&gt;Very appreciate your help, expert!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have modified the current dataset and inputted the year and region variables.&lt;/P&gt;&lt;P&gt;Do you mind directly changing the code and using the dataset I provided below as an example?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data inputs;
   input input $8.;
   datalines;
staff
showroom
;

data outputs;
   input output $10.;
   datalines;
beta_sales
profit
;

data garage_data;
   input garage_name $ year region $ staff showroom alpha_sales beta_sales profit;
   datalines;
Winchester  2020 A 7  8   10  12 8.5 4   2    0.6  1.5
Andover 2020 A    6  6   20  30 9   4.5 2.3  0.7  1.6
Basingstoke 2020 B 2  3   40  40 2   1.5 0.8  0.25 0.5
Poole 2020 B 14 9   20  25 10  6   2.6  0.86 1.9
Winchester  2021 A    10 9   10  10 11  5   2.4  1    2
Andover  2021 A  24 15  15  13 25  19  8    2.6  4.5
Basingstoke 2021 B  6  7   50  40 8.5 3   2.5  0.9  1.6
Poole 2021 B  8  7.5 5   8  9   4   2.1  0.85 2
;

proc optmodel;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data into GARAGES=[_N_] garage_name
      {i in INPUTS}  &amp;lt;input[i,_N_]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,_N_]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number;
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for considering my request.&lt;/P&gt;</description>
      <pubDate>Sat, 19 Mar 2022 02:05:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802884#M3664</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-19T02:05:12Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802885#M3665</link>
      <description>Initially I thought that using "by" as the same as proc reg could solve my problem, but unfortunately it doesn't. Cause I am an amateur in SAS, I need help from experts. I have learned a lot from experts.&lt;BR /&gt;&lt;BR /&gt;Thanks a lot.</description>
      <pubDate>Sat, 19 Mar 2022 02:13:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/802885#M3665</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-19T02:13:57Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803292#M3666</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried your recommendation and modified some codes, but I still can't accomplish my hope.&lt;/P&gt;&lt;P&gt;Could you help me to find out the problem?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data inputs;
   input input $8.;
   datalines;
staff
showroom
;

data outputs;
   input output $10.;
   datalines;
beta_sales
profit
;

data garage_data;
   input garage_name $ year region $ staff showroom alpha_sales beta_sales profit;
   datalines;
Winchester  2020 A 7  8   10  12 8.5 4   2    0.6  1.5
Andover 2020 A    6  6   20  30 9   4.5 2.3  0.7  1.6
Basingstoke 2020 B 2  3   40  40 2   1.5 0.8  0.25 0.5
Poole 2020 B 14 9   20  25 10  6   2.6  0.86 1.9
Winchester  2021 A    10 9   10  10 11  5   2.4  1    2
Andover  2021 A  24 15  15  13 25  19  8    2.6  4.5
Basingstoke 2021 B  6  7   50  40 8.5 3   2.5  0.9  1.6
Poole 2021 B  8  7.5 5   8  9   4   2.1  0.85 2
;

proc sort data=garage_data;
    by year region;
run;

data garage_data1;
    set garage_data(keep=year region);
    by year region;
    if first.region;
run;

%macro compute(year=,region=);
proc optmodel ;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES ;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data(where=(year="&amp;amp;year" and region="&amp;amp;region")) into GARAGES=[_N_] garage_name
      {i in INPUTS}  &amp;lt;input[i,_N_]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,_N_]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number ;
quit;
%mend;

data _null_;
    set garage_data1;
    call execute(cats('%nrstr(%compute(year=',year,',region=',region,'))'));
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 10:39:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803292#M3666</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-22T10:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803296#M3667</link>
      <description>&lt;P&gt;"...&amp;nbsp;&lt;SPAN&gt;but I still can't accomplish my hope."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It is always useless to say something like this, without providing details. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Is there an error(s) in the LOG? If so, SHOW US the log. Is the output wrong? If so, SHOW US the incorrect output and explain why it is wrong.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 11:33:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803296#M3667</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-03-22T11:33:43Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803300#M3668</link>
      <description>&lt;P&gt;Sorry...&lt;/P&gt;&lt;P&gt;The log mentioned these information as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NOTE: CALL EXECUTE generated line.&lt;BR /&gt;1 + %compute(year=2020,region=A)&lt;BR /&gt;NOTE: There were 2 observations read from the data set WORK.INPUTS.&lt;BR /&gt;NOTE: There were 2 observations read from the data set WORK.OUTPUTS.&lt;BR /&gt;ERROR: WHERE clause operator requires compatible variables.&lt;BR /&gt;ERROR: 在 5 行 103 欄，'GARAGES' 符號沒有值。 /* It means&amp;nbsp;'GARAGES' symbol has no value at line 5, column 103. */&lt;BR /&gt;ERROR: 在 1 行 192 欄，'GARAGES' 符號沒有值。&lt;BR /&gt;ERROR: 在 1 行 192 欄，'GARAGES' 符號沒有值。&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE OPTMODEL used (Total process time):&lt;BR /&gt;real time 0.00 秒&lt;BR /&gt;cpu time 0.00 秒&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;2 + %compute(year=2020,region=B)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;NOTE: There were 2 observations read from the data set WORK.INPUTS.&lt;BR /&gt;NOTE: There were 2 observations read from the data set WORK.OUTPUTS.&lt;BR /&gt;ERROR: WHERE clause operator requires compatible variables.&lt;BR /&gt;ERROR: 在 5 行 103 欄，'GARAGES' 符號沒有值。&lt;BR /&gt;ERROR: 在 1 行 192 欄，'GARAGES' 符號沒有值。&lt;BR /&gt;ERROR: 在 1 行 192 欄，'GARAGES' 符號沒有值。&lt;BR /&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;NOTE: PROCEDURE OPTMODEL used (Total process time):&lt;BR /&gt;real time 0.01 秒&lt;BR /&gt;cpu time 0.01 秒&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'm sorry for causing trouble for you.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 11:48:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803300#M3668</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-22T11:48:49Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803304#M3669</link>
      <description>&lt;P&gt;This is not a macro error. When you create code that is to be included in a macro, you first have to have code that works (without macro language). If you don't have working code, then the macro will never work either. So, your task is to first make this code work with no macro language whatsoever, for the case where YEAR=2020 and REGION=A.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hint:&lt;/P&gt;
&lt;PRE&gt;ERROR: WHERE clause operator requires compatible variables.&lt;/PRE&gt;
&lt;P&gt;So you use WHERE in your code, this is the part that isn't working. Your homework assignment is the get this WHERE statement to work in the case that has no macro language in the code.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 11:57:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803304#M3669</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-03-22T11:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803325#M3670</link>
      <description>&lt;P&gt;The code provided by the SAS official website can only run the efficiency analysis according to a single year. It can run the way I want, but my current data is panel data, so I have to separate different years and different industries for efficiency analysis.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not very familiar with SAS, so I tried to copy and adjust your suggestions and codes, and try to put them into the code provided by the SAS official website, but after adding "where=&lt;SPAN&gt;YEAR=2020 and REGION=A&lt;/SPAN&gt;", the SAS can't work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I may need to prioritise manual grouping for repeat function by year and industry, thank you again!&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 12:34:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803325#M3670</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-22T12:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803328#M3671</link>
      <description>&lt;P&gt;The comment I made was that you have to find out how to make the WHERE clause operate correctly. Once you do that, your macro should work (unless there are other errors I am not aware of)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;where=(year=&amp;amp;year and region="&amp;amp;region")&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The variable YEAR is probably numeric and so the double-quotes are wrong&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 12:48:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803328#M3671</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-03-22T12:48:44Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803335#M3672</link>
      <description>It can work. Very appreciate.</description>
      <pubDate>Tue, 22 Mar 2022 13:03:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803335#M3672</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-22T13:03:56Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803346#M3673</link>
      <description>&lt;P&gt;Here is the runOptmodel groupBy approach, with very few changes from your PROC OPTMODEL code.&amp;nbsp; Note the NOGROUPBY option in the READ DATA statements for the two tables that do not contain the BY variables.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sascas1.inputs;
   set inputs;
run;
data sascas1.outputs;
   set outputs;
run;
data sascas1.garage_data;
   set garage_data;
   garage = _N_;
run;

proc cas noqueue;
   source pgm;
   put _BY_LINE_;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs nogroupby into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs nogroupby into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data into GARAGES=[garage] garage_name
      {i in INPUTS}  &amp;lt;input[i,garage]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,garage]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number;
   endsource;

   loadActionSet 'optimization';
   action optimization.runOptmodel / code=pgm groupBy={'year','region'};
   run;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 22 Mar 2022 14:01:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803346#M3673</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-03-22T14:01:00Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803357#M3674</link>
      <description>&lt;P&gt;First, big thanks for you help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then, I used code as follows.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data inputs;
   input input $8.;
   datalines;
staff
showroom
;

data outputs;
   input output $10.;
   datalines;
beta_sales
profit
;

data garage_data;
   input garage_name $ year region $ staff showroom alpha_sales beta_sales profit;
   datalines;
Winchester  2020 A 7  8   10  12 8.5 4   2    0.6  1.5
Andover 2020 A    6  6   20  30 9   4.5 2.3  0.7  1.6
Basingstoke 2020 B 2  3   40  40 2   1.5 0.8  0.25 0.5
Poole 2020 B 14 9   20  25 10  6   2.6  0.86 1.9
Winchester  2021 A    10 9   10  10 11  5   2.4  1    2
Andover  2021 A  24 15  15  13 25  19  8    2.6  4.5
Basingstoke 2021 B  6  7   50  40 8.5 3   2.5  0.9  1.6
Poole 2021 B  8  7.5 5   8  9   4   2.1  0.85 2
;

proc cas noqueue;
   source pgm;
   put _BY_LINE_;
   set &amp;lt;str&amp;gt; INPUTS;
   read data inputs nogroupby into INPUTS=[input];

   set &amp;lt;str&amp;gt; OUTPUTS;
   read data outputs nogroupby into OUTPUTS=[output];

   set &amp;lt;num&amp;gt; GARAGES;
   str garage_name {GARAGES};
   num input  {INPUTS, GARAGES};
   num output {OUTPUTS, GARAGES};
   read data garage_data into GARAGES=[garage] garage_name
      {i in INPUTS}  &amp;lt;input[i,garage]=col(i)&amp;gt;
      {i in OUTPUTS} &amp;lt;output[i,garage]=col(i)&amp;gt;;

   num k;
   num efficiency_number {GARAGES};
   num weight_sol {GARAGES, GARAGES};

   var Weight {GARAGES} &amp;gt;= 0;
   var Inefficiency &amp;gt;= 0;

   max Objective = Inefficiency;

   con Input_con {i in INPUTS}:
      sum {j in GARAGES} input[i,j] * Weight[j] &amp;lt;= input[i,k];

   con Output_con {i in OUTPUTS}:
      sum {j in GARAGES} output[i,j] * Weight[j] &amp;gt;= output[i,k] * Inefficiency;

   do k = GARAGES;
      solve;
      efficiency_number[k] = 1 / Inefficiency.sol;
      for {j in GARAGES}
         weight_sol[k,j] = (if Weight[j].sol &amp;gt; 1e-6 then Weight[j].sol else .);
   end;

   print garage_name efficiency_number;
   create data efficiency_data from [garage] garage_name efficiency_number;
   endsource;

   loadActionSet 'optimization';
   action optimization.runOptmodel / code=pgm groupBy={'year','region'};
   run;
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;But I received the errors from log, like these:&lt;/P&gt;&lt;P&gt;ERROR: There is no server connection to execute the action 'loadactionset'.&lt;BR /&gt;ERROR: Execution halted&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) How do I solve the problem about server connection?&lt;/P&gt;&lt;P&gt;2) If I used the code as you mentioned, could it output the result according to year and region separately?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 14:37:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803357#M3674</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-22T14:37:37Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803443#M3675</link>
      <description>&lt;P&gt;That error message means that you have not started a CAS session.&amp;nbsp; You will also need to convert the SAS data sets to CAS tables, as shown in the three DATA steps I provided.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For a successful run, the resulting efficiency_data table will have two extra columns for the BY variables (year and region):&lt;/P&gt;
&lt;DIV class="branch"&gt;&lt;BR /&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set SASCAS1.GARAGE_DATA" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt;&lt;/COLGROUP&gt; &lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;garage_name&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;year&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;region&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;staff&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;showroom&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;alpha_sales&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;beta_sales&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;profit&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;garage&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;Winchest&lt;/TD&gt;
&lt;TD class="r data"&gt;2020&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;TD class="r data"&gt;8.0&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;12&lt;/TD&gt;
&lt;TD class="r data"&gt;8.5&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;Andover&lt;/TD&gt;
&lt;TD class="r data"&gt;2020&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;6.0&lt;/TD&gt;
&lt;TD class="r data"&gt;20&lt;/TD&gt;
&lt;TD class="r data"&gt;30&lt;/TD&gt;
&lt;TD class="r data"&gt;9.0&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;Basingst&lt;/TD&gt;
&lt;TD class="r data"&gt;2020&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;3.0&lt;/TD&gt;
&lt;TD class="r data"&gt;40&lt;/TD&gt;
&lt;TD class="r data"&gt;40&lt;/TD&gt;
&lt;TD class="r data"&gt;2.0&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;Poole&lt;/TD&gt;
&lt;TD class="r data"&gt;2020&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;TD class="r data"&gt;14&lt;/TD&gt;
&lt;TD class="r data"&gt;9.0&lt;/TD&gt;
&lt;TD class="r data"&gt;20&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;TD class="r data"&gt;10.0&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;Winchest&lt;/TD&gt;
&lt;TD class="r data"&gt;2021&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;9.0&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;TD class="r data"&gt;11.0&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;Andover&lt;/TD&gt;
&lt;TD class="r data"&gt;2021&lt;/TD&gt;
&lt;TD class="l data"&gt;A&lt;/TD&gt;
&lt;TD class="r data"&gt;24&lt;/TD&gt;
&lt;TD class="r data"&gt;15.0&lt;/TD&gt;
&lt;TD class="r data"&gt;15&lt;/TD&gt;
&lt;TD class="r data"&gt;13&lt;/TD&gt;
&lt;TD class="r data"&gt;25.0&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;Basingst&lt;/TD&gt;
&lt;TD class="r data"&gt;2021&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;7.0&lt;/TD&gt;
&lt;TD class="r data"&gt;50&lt;/TD&gt;
&lt;TD class="r data"&gt;40&lt;/TD&gt;
&lt;TD class="r data"&gt;8.5&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;Poole&lt;/TD&gt;
&lt;TD class="r data"&gt;2021&lt;/TD&gt;
&lt;TD class="l data"&gt;B&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;TD class="r data"&gt;7.5&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;TD class="r data"&gt;9.0&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2022 19:22:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803443#M3675</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-03-22T19:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: Efficiency Analysis: Run analysis by region and year</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803506#M3676</link>
      <description>&lt;P&gt;I got it. After I searched the related info, I found that unfortunately my school didn't provide the SAS Viya software. Thus, that's reason I can't connect to the server.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your generous help.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Mar 2022 06:17:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Efficiency-Analysis-Run-analysis-by-region-and-year/m-p/803506#M3676</guid>
      <dc:creator>shawnchen0321</dc:creator>
      <dc:date>2022-03-23T06:17:49Z</dc:date>
    </item>
  </channel>
</rss>

