Sorry to dig up an old topic, but I was trying to do the same and this came up in my search results. I eventually found a workaround that I thought was worth sharing.
If you were to run
proc spdo library=<LIB>;
cluster list <TABLE>;
then if <TABLE> is a cluster, the macro &spdslist will be populated with a list of the members. If <TABLE> is NOT a cluster, &spdslist is still created but will be blank, but unfortunately the procedure will error. What I did was to redirect the log with proc printto statements immediately before and after proc spdo, to mask the error, then test the value of &spdslist to determine what to do next. It's not the cleanest solution, but it worked for me!
Thank you. That certainly sounds a neater way, although when I tried it I got the message that dictionary.clusters was not a valid dictionary table name. Perhaps that's an issue with my current client's setup, but I'll certainly try it in future.
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.