SASUnit Examples  Version 1.5.0
_render_datacolumn.sas
Go to the documentation of this file.
1 
25 %macro _render_datacolumn (i_sourceColumn=
26  ,i_format=_NONE_
27  ,i_linkColumn=_NONE_
28  ,i_linkTitle=_NONE_
29  ,i_columnType=_NONE_
30  ,o_targetColumn=
31  );
32 
33  %local l_format l_doStyle l_doBrackets;
34 
35  %let l_doStyle = %eval (&i_columnType. ne _NONE_ OR &i_linkColumn. ne _NONE_ OR &i_linkTitle. ne _NONE_);
36  %let l_doBrackets = %eval (&i_linkColumn. ne _NONE_ OR &i_linkTitle. ne _NONE_);
37 
38  %let l_format=;
39  %if (&i_format. ne _NONE_) %then %do;
40  %let l_format=&i_format.;
41  %end;
42  %let i_columnType=%lowcase(&i_columnType.);
43 
44  %if (&l_doStyle.) %then %do;
45  &o_targetColumn. = "^{style";
46  %end;
47  %else %do;
48  &o_targetColumn. = "";
49  %end;
50  %if (&i_columnType. ne _none_) %then %do;
51  &o_targetColumn. = catt (&o_targetColumn., " &i_columnType.");
52  %end;
53  %if (&l_doBrackets.) %then %do;
54  &o_targetColumn. = catt (&o_targetColumn., " [");
55  %end;
56  %if (&i_linkTitle. ne _NONE_) %then %do;
57  &o_targetColumn. = catt (&o_targetColumn., 'flyover="',&i_linkTitle.,'"');
58  %end;
59  %if (&i_linkColumn. ne _NONE_) %then %do;
60  &o_targetColumn. = catt (&o_targetColumn., ' url="',&i_linkColumn.,'"');
61  %end;
62  %if (&l_doBrackets.) %then %do;
63  &o_targetColumn. = catt (&o_targetColumn., "]");
64  %end;
65  %if (&i_format. ne _NONE_) %then %do;
66  %if (&l_doStyle.) %then %do;
67  &o_targetColumn. = catt (&o_targetColumn., " " !! put (&i_sourceColumn., &l_format.));
68  %end;
69  %else %do;
70  &o_targetColumn. = catt (&o_targetColumn., put (&i_sourceColumn., &l_format.));
71  %end;
72  %end;
73  %else %do;
74  if (vtype(&i_sourceColumn.)="N") then do;
75  _formatName="BEST32.";
76  %if (&l_doStyle.) %then %do;
77  &o_targetColumn. = catt (&o_targetColumn., " " !! compress (putn (&i_sourceColumn., _formatName)));
78  %end;
79  %else %do;
80  &o_targetColumn. = catt (&o_targetColumn., compress (putn (&i_sourceColumn., _formatName)));
81  %end;
82  end;
83  else do;
84  %if (&l_doStyle.) %then %do;
85  &o_targetColumn. = catt (&o_targetColumn., " " !! &i_sourceColumn.);
86  %end;
87  %else %do;
88  &o_targetColumn. = catt (&o_targetColumn., &i_sourceColumn.);
89  %end;
90  end;
91  %end;
92  %if (&l_doStyle.) %then %do;
93  &o_targetColumn. = catt (&o_targetColumn., "}");
94  %end;
95 %mend _render_datacolumn;