This is a root-finding problem. Define
f(lambda) = target - cdf("poisson", n, lambda);
and solve for the zeros of f. This is always possible (and has a unique solution) because the CDF is an increasing function of lambda. (Of course, 0<target<1).
To solve the problem, find a root-finding algorithm such as the bisection method implemented in SAS. (I believe that the %inv macro at
http://ftp.sas.com/samples/A57496 gives you what you need; Although it is written as a macro, you ought to be able to decipher it.)
If you have SAS/IML, see
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.