Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: have string macro default in syntax


From   tashi lama <[email protected]>
To   <[email protected]>
Subject   RE: st: have string macro default in syntax
Date   Tue, 25 Sep 2012 17:40:51 +0000

Thanks. To the last comment, I am using odbc to get the varnames. I decided not putting in the question to be concise. I was actually trying to avoid 'if' somethng like we do for integers i.e. [firm(int -1)] .  I had done something like this prior to posting. At least, the way you suggested makes my code shorter. 

syntax, [firm(str)]
if "`stat'"!="" {
  graph pie varname, by(varname) plabel(_all `stat')
} 
else {
  graph pie varname, bu(varname) plabel(_all percent)
}

Thanks, 
Tashi 


----------------------------------------
> Date: Tue, 25 Sep 2012 15:12:18 +0100
> Subject: Re: st: have string macro default in syntax
> From: [email protected]
> To: [email protected]
>
> This is easy; just not easy with -syntax- alone.
>
> Note that this discussion is one where the distinction between syntax
> in general and the command -syntax- helps clarity considerably. That
> is to say, the Statalist -cmdname- convention is not designed to be
> fussy or a trap for new users, but an aid to comprehension.
>
> syntax [, stat(str)]
> if "`stat'" == "" local stat "percent"
>
> This achieves the same goal; if the user specified nothing the default
> is "percent".
>
> Note that the option -stat()- must be made genuinely optional; if it
> is compulsory there can be no question of a default.
>
> I leave on one side the questions of where your program gets its
> variable names from and why pie charts are anybody's default!
>
> Nick
>
> On Tue, Sep 25, 2012 at 2:40 PM, tashi lama <[email protected]> wrote:
>>
>> I looked through the documentation for syntax. I don't think stata can do this but I would like to post anyway...
>>
>> here is my adofile
>> /*begin hh.ado*/
>>
>> program hh
>> syntax, stat(str)
>> .......
>> graph pie varname, by(varname) plabel(_all `stat')
>> end
>>
>> hh, stat(sum) will give me sum
>> hh, stat(percent) will give me percent
>>
>> I would like to( if possible) have hh draw a pie chart with "percent" as default and draw "sum" if included in the arguments. Something like this....
>>
>> hh //give me percent by default
>> hh, stat(sum) //give me sum
>>
>> Can stata do this?? Any help will be appreciated//
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/ 		 	   		  
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index