For data transformations, I usually avoid guessing, since I had instances where I would manually transform and still have the same normality issues. I would advise using the specialized R package bestNormalize. It performs a suite of transformation methods and selects the best fit for your data. Just google it to get more insight on it.
Yield data are almost never transformed because they almost always fit in nicely with normal distribution, so there's no need to transform them.
The only time you would ever want to transform yield data is that you have a few treatments that, in several replications, produce no product (yield = 0). If so, you may consider arcsine square root transformation.
Thank you for your response but the problem is that the trial was conducted in 8 environments and the variance among the environments were heterogeneous. this is the problem that led to data transformation
I would strongly advise against transformation because of unequal variances. Even if you get the right transformation to get all treatments' variances equal, the transformation can mess up your interpretation of the data, i.e. if you get significance, it is the transformed means that are significantly different, not the original means, so you'll have to reverse-engineer that significance from the transformed data to the original ones to see if it's still significant.
Instead, I would suggest you use nonparametric ANOVA tests, such as the Kruskal-Wallis test (aka Wilcoxon test), in this case. Both SAS and SPSS can run Kruskal-Wallis test, it's just a nonparametric version of ANOVA.
If you still want to transform data to get equal variances, then there is really no single answer to which way to transform. It all depends on your specific data. You just have to test it out, calculate the variances of the transformed data and see if they're equal.