When I create a calculated field in beastmode, I understand I can share the field within dataset. How can I share the formula so that it's only available within the dashboard and its cards. I do not want to publish whole bunch calculated fields that's visible to everyone who is using the dataset.
I'm not aware of a way to do this. You can save the calculated field to the card or the dataset. If you have dataset views available, you could create a view of the dataset and add your calculated fields to that view only. Then you would only be sharing the calculation with any cards using that data set view.
I know this wasn't your question, but you should really investigate WHY you would want to hide beast modes from people.
If it's b/c there are certain calculations you don't want the rest of the business to know about, you should probably ask yourself if that dataset should be available to the rest of the org .. (pdp).
Create a Dataset View that is functionally a SELECT * from your table. then share the beast modes to the VIEW and point your Dashboard / cards to that view. then just don't share acccess to that view.
It sounds like a hassle, but this is a solution I would recommend to clients b/c you can subset your VIEW to just the 30 columns that are actually used n your dashboard, instaead of having dashboards built agasint tables with 100 columns. It gives a more succinct user experience in analyzer (fewer unnecessary columns) and may have cascading dashboard / card performance improvements (due to stuff domo does under the covers).
it also gives you an opportunity to rename columns to a context more relevant to the consumers of the dashboard.