BookmarkSubscribeRSS Feed
colleenbogucki
Calcite | Level 5

Hello, 

 

I am trying to systematically label newly created variables using the label of an old variable. When I use the call execute command, I am getting an error saying "Statement is not valid or it is used out proper order."

 

I used this source as reference. 

%macro zscore(var=,); 

proc means data = jobquality_2 noprint; 
	var &var.; 
	output out = &var._stat; 
run;  

*create macro var of var mean & std; 
data _null_; 
	set &var._stat; 
	if _STAT_ = "MEAN" then call symputx('mean',&var.); 
	if _STAT_ = "STD" then call symputx('std',&var.); 
run; 

data &var._zscore; 
	set jobquality_2;
	&var._m = &mean.; 
	&var._s = &std.; 
	&var._z = ((&var.-&var._m)/&var._s); 
	format &var.; 
run; 

*copy label from original var; 
data &var._zscore; 
	set &var._zscore end=eof; 
	if eof then call execute ("label &var._z = "||'"'||strip(vlabel(&var.))||'";');
run;

%mend zscore; 

	%zscore(var=c11); 
1                                                          The SAS System                          14:39 Wednesday, October 23, 2024

NOTE: Unable to open SASUSER.REGSTRY. WORK.REGSTRY will be opened instead.
NOTE: All registry changes will be lost at the end of the session.

WARNING: Unable to copy SASUSER registry to WORK registry. Because of this, you will not see registry customizations during this 
         session.
NOTE: Unable to open SASUSER.PROFILE. WORK.PROFILE will be opened instead.
NOTE: All profile changes will be lost at the end of the session.
NOTE: Copyright (c) 2023 by SAS Institute Inc., Cary, NC, USA. 
NOTE: SAS (r) Proprietary Software 9.4 (TS1M8) 
      Licensed to ABT ASSOCIATES INC - SERVICE PROVIDER, Site 70213852.
NOTE: This session is executing on the X64_DSRV22  platform.



NOTE: Analytical products:
      
      SAS/STAT 15.3
      SAS/ETS 15.3
      SAS/IML 15.3

NOTE: Additional host information:

 X64_DSRV22 WIN 10.0.20348  Server

NOTE: SAS initialization used:
      real time           4.85 seconds
      cpu time            0.31 seconds
      
1          options nofmterr;
2          
3          libname data "S:\projects\HPOG_2.0_Eval\Analysis\01 Data\Special Topics\Job Quality";
NOTE: Libref DATA was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: S:\projects\HPOG_2.0_Eval\Analysis\01 Data\Special Topics\Job Quality
4          libname output "S:\projects\HPOG_2.0_Eval\Analysis\04 Outputs\Special Topics\Job Quality";
NOTE: Libref OUTPUT was successfully assigned as follows: 
      Engine:        V9 
      Physical Name: S:\projects\HPOG_2.0_Eval\Analysis\04 Outputs\Special Topics\Job Quality
5          
6          *read in cleaned data;
7          
8          data jobquality_2;
9          	set data.cleaned_longterm;
10         run;

NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C2DKF was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C8AF was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C16DKF was not found or could not be loaded.
2                                           The SAS System           14:39 Wednesday, October 23, 2024

NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C26A_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SCHEDULE was not found or could not be loaded.
NOTE: Format SCHEDULE2_F was not found or could not be loaded.
NOTE: Format SCHEDULE3_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format ALOT was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SATISFIED was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format PROMOTIONS was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format X00001F was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: There were 1616 observations read from the data set DATA.CLEANED_LONGTERM.
NOTE: The data set WORK.JOBQUALITY_2 has 1616 observations and 59 variables.
NOTE: DATA statement used (Total process time):
      real time           0.19 seconds
      cpu time            0.07 seconds
      

11         
12         *******************************************
13         *caluclate zscores for all variables;
14         
15         %macro zscore(var=,);
16         
17         proc means data = jobquality_2 noprint;
18         	var &var.;
19         	output out = &var._stat;
20         run;
21         
22         *create macro var of var mean & std;
3                                           The SAS System           14:39 Wednesday, October 23, 2024

23         data _null_;
24         	set &var._stat;
25         	if _STAT_ = "MEAN" then call symputx('mean',&var.);
26         	if _STAT_ = "STD" then call symputx('std',&var.);
27         run;
28         
29         data &var._zscore;
30         	set jobquality_2;
31         	&var._m = &mean.;
32         	&var._s = &std.;
33         	&var._z = ((&var.-&var._m)/&var._s);
34         	format &var.;
35         run;
36         
37         *copy label from original var;
38         data &var._zscore;
39         	set &var._zscore end=eof;
40         	if eof then call execute ("label &var._z = "||'"'||strip(vlabel(&var.))||'";');
41         run;
42         
43         %mend zscore;
44         
45         	%zscore(var=c11);

NOTE: There were 1616 observations read from the data set WORK.JOBQUALITY_2.
NOTE: The data set WORK.C11_STAT has 5 observations and 4 variables.
NOTE: PROCEDURE MEANS used (Total process time):
      real time           0.10 seconds
      cpu time            0.03 seconds
      


NOTE: There were 5 observations read from the data set WORK.C11_STAT.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.00 seconds
      


NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C2DKF was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C8AF was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C16DKF was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C26A_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SCHEDULE was not found or could not be loaded.
NOTE: Format SCHEDULE2_F was not found or could not be loaded.
4                                           The SAS System           14:39 Wednesday, October 23, 2024

NOTE: Format SCHEDULE3_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format ALOT was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SATISFIED was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format PROMOTIONS was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format X00001F was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Missing values were generated as a result of performing an operation on missing values.
      Each place is given by: (Number of times) at (Line):(Column).
      1545 at 61:120   
NOTE: There were 1616 observations read from the data set WORK.JOBQUALITY_2.
NOTE: The data set WORK.C11_ZSCORE has 1616 observations and 62 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.03 seconds
      


NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C2DKF was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C8AF was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C16DKF was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format C26A_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SCHEDULE was not found or could not be loaded.
5                                           The SAS System           14:39 Wednesday, October 23, 2024

NOTE: Format SCHEDULE2_F was not found or could not be loaded.
NOTE: Format SCHEDULE3_F was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format ALOT was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format SATISFIED was not found or could not be loaded.
NOTE: Format AGREE was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format PROMOTIONS was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format YESNO was not found or could not be loaded.
NOTE: Format X00001F was not found or could not be loaded.
NOTE: Format INDUSTRY was not found or could not be loaded.
NOTE: There were 1616 observations read from the data set WORK.C11_ZSCORE.
NOTE: The data set WORK.C11_ZSCORE has 1616 observations and 62 variables.
NOTE: DATA statement used (Total process time):
      real time           0.05 seconds
      cpu time            0.03 seconds
      

NOTE: CALL EXECUTE generated line.
NOTE: Line generated by the CALL EXECUTE routine.
1         + label c11_z = "C11. About how much did you typically earn per hour before taxes?";
            _____
            180

ERROR 180-322: Statement is not valid or it is used out of proper order.

46         	%zscore(var=c11a);

NOTE: The SAS System stopped processing this step because of errors.
NOTE: Due to ERROR(s) above, SAS set option OBS=0, enabling syntax check mode. 
      This prevents execution of subsequent data modification statements.
WARNING: The data set WORK.C11A_STAT may be incomplete.  When this step was stopped there were 0 
         observations and 0 variables.
NOTE: PROCEDURE MEANS used (Total process time):
      real time           0.00 seconds
6                                           The SAS System           14:39 Wednesday, October 23, 2024

      cpu time            0.01 seconds
      



NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference MEAN not resolved.
386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference STD not resolved.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C11A_ZSCORE may be incomplete.  When this step was stopped there were 0 
         observations and 62 variables.
NOTE: DATA statement used (Total process time):
      real time           0.02 seconds
      cpu time            0.00 seconds
      


NOTE: The data set WORK.C11A_ZSCORE has 0 observations and 62 variables.
WARNING: Data set WORK.C11A_ZSCORE was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

47         	%zscore(var=c13);

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C13_STAT may be incomplete.  When this step was stopped there were 0 
         observations and 0 variables.
NOTE: PROCEDURE MEANS used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      
7                                           The SAS System           14:39 Wednesday, October 23, 2024




NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference MEAN not resolved.
386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference STD not resolved.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C13_ZSCORE may be incomplete.  When this step was stopped there were 0 
         observations and 62 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: The data set WORK.C13_ZSCORE has 0 observations and 62 variables.
WARNING: Data set WORK.C13_ZSCORE was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

48         	%zscore(var=c18);

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C18_STAT may be incomplete.  When this step was stopped there were 0 
         observations and 0 variables.
NOTE: PROCEDURE MEANS used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


8                                           The SAS System           14:39 Wednesday, October 23, 2024


NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.01 seconds
      

386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference MEAN not resolved.
386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference STD not resolved.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C18_ZSCORE may be incomplete.  When this step was stopped there were 0 
         observations and 62 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: The data set WORK.C18_ZSCORE has 0 observations and 62 variables.
WARNING: Data set WORK.C18_ZSCORE was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      

49         	%zscore(var=c18a);
ERROR: Variable C18A not found.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C18A_STAT may be incomplete.  When this step was stopped there were 0 
         observations and 0 variables.
NOTE: PROCEDURE MEANS used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: DATA statement used (Total process time):
9                                           The SAS System           14:39 Wednesday, October 23, 2024

      real time           0.00 seconds
      cpu time            0.00 seconds
      

386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference MEAN not resolved.
386: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 386-185: Expecting an arithmetic expression.
200: LINE and COLUMN cannot be determined.
NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where 
      the error has occurred.
ERROR 200-322: The symbol is not recognized and will be ignored.
WARNING: Apparent symbolic reference STD not resolved.

NOTE: The SAS System stopped processing this step because of errors.
WARNING: The data set WORK.C18A_ZSCORE may be incomplete.  When this step was stopped there were 0 
         observations and 63 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


NOTE: The data set WORK.C18A_ZSCORE has 0 observations and 63 variables.
WARNING: Data set WORK.C18A_ZSCORE was not replaced because this step was stopped.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds
      


ERROR: Errors printed on pages 5,6,7,8,9.

NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           5.64 seconds
      cpu time            0.56 seconds
      
2 REPLIES 2
PaigeMiller
Diamond | Level 26

CALL EXECUTE works after the data step it is in finishes. So ... LABEL statement outside of a DATA step or PROC is not allowed.

 

Don't use CALL EXECUTE here, just include the LABEL statement in the DATA step.

 

I point out that looping through variables one variable at a time in a macro is an extremely inefficient way of doing most things. Better to figure out how to handle all variables in one pass. Storing means and standard deviations in a macro variable is unnecessary.

 

EVEN BETTER APPROACH

SAS has an extremely wide ranging set of PROCs to perform statistical and other analyses, you should try to find a PROC that does what you want before resorting to macros. I see you performing a standard statistical calculation like this (which is called standardizing):

 

&var._z = ((&var.-&var._m)/&var._s); 

 

Surely there is a PROC that will standardize your variables! In fact there is a PROC, it is called PROC STDIZE. The entire macro and all the looping is unnecessary.

 

So except for your label statement, none of this looping or macro is necessary, and this ought to get you what you want.

 

proc stdize data=jobquality_2 method=std out=jobquality_2z oprefix=o_ sprefix=z_;
     var c1-c31; /* or whatever the variable names are */
run;
     

 

so your standardized values and original values are now in data set jobquality_2z

--
Paige Miller
PaigeMiller
Diamond | Level 26

Adding: Using PROC STDIZE, the new standardzied variables automatically get the same label as the original variables.

--
Paige Miller

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 568 views
  • 0 likes
  • 2 in conversation