Best Of
December 2023 Community Forum Highlights
The holidays have come and gone, and a new year has begun! Before we move on to 2024, let’s look back at last month’s Domo Community achievements.
Leaderboard’s Top 3
We have some very familiar faces on our leaderboard. While many of us were taking a well-deserved break over the holidays, some of you still had questions that needed answering. These three, along with a handful of other users, were here to answer the call. Thank you to everyone who put in the time and effort this month to keep the answers coming.
- @GrantSmith: 680 points
- @MarkSnodgrass: 528 points
- @ColemenWilson: 264 points
Top 3 Posts
Of the many discussions happening each day, these discussions stood out as some of the best. Follow the links and show these community members some love by leaving them a reaction.
- Trying to create a beast mode calc
- How to indicate the time of last dataset update in card title
- Radio button Filter
Huge shoutout to the following community members for asking great questions and finding even better answers: @Abe, @MarkSnodgrass, @DashboardDude, @DomoAmateur, @GrantSmith, @travorhouse, @ColinHaze, @MichelleH
Top 3 Ideas
The Domo product is always improving because of your ideas. Below are the ones that got the most votes. Click the links below and give these ideas additional upvotes to increase their chances of getting implemented into Domo.
- Enhancements to "Add existing Card" search box on Dashboards
- Drill Down to an Existing Card
- Consumption features
Congrats to these users for coming up with innovative ideas: @j1ammann, @AndrewMeierOptiv, @Nihar_Namjoshi_ex_Domo
Newest Contributors
Climbing the ranks is never easy, but this newest contributor certainly made it appear so. Congratulations to our newest Contributor @Kunal—we’ve got our eyes on you.
Community Member of the Month
Our CMM for December is an individual who eats, breaths, and sleeps Domo. We’re fairly certain he could build a fully functional dashboard with his eyes closed. John Le, or better known as the head dude of Dashboard Dudes, really showed up last month for the community. He participated in 16 discussions and had 13 accepted answers and 217 total points. Thank you, John, for your continued support of the community and Domo as a whole.
Re: Domo CLI or API to Automate Script for Permission Management 1000's of Cards, Pages/Dashboards
I would recommend you look at the library that @jaeW_at_Onyx put together. He has built a library off a lot of the private Domo APIs
Re: Errors when using domolibrary with client ID and secret
Thanks guys.
Yeah, you have to use DomoTokenAuth to move forward. most of this library uses undocumented APIs which require the use of an Access_Token (made in Domo > Admin > Access Tokens) client_id and secret only works with public APIs.
if you look in the documentation, there's tons of working code for almost each method that has been implemented
"However, my goal is to programmatically get and store dataflows as an off-Domo backup"
this is cake.you'll need a
auth = dmda.DomoTokenAuth(…) # could also use FullAuth which is username and password authentication
res = await DomoDatacenter.search_datacenter(
auth=token_auth,
entity_type=datacenter_routes.Datacenter_Enum.DATAFLOW.value,
)
then just follow this tutorial
Re: PPT Add-in: Cards need dynamic resizing and reformatting
Hey @Kaylynn !
Thanks for the idea submission.
Could you tell me a little bit more about how you'd like the auto-resizing to work?
Do you have different sets of common sizes that you use, or is it always just one particular layout?
I'd also love to hear a bit about how you are using the addins to solve your business problems - how often do you use them, what kinds of documents are you making, who are they for, what is the value they provide you and your business?
The old plugins had the concept of "templates" for layouts of cards, do you feel layouts are a high value feature that you'd like to see make a return - if so, how would you use it?
Re: I want to understand average sales within 1 year of client sign up
Wow, @nmizzell, that was everything I was looking for and more. Incredible stuff and I truly appreciate the walkthough you provided. 🙌. Many, many thanks!
Re: I want to understand average sales within 1 year of client sign up
- 1. Define a variable for the number of days after client start date that you want to include. This variable can be added in the dashboard as a control and can be manipulated. I will refer to this variable as `Number of Days To Include`
- 2. Create a beastmode to calculate total client spend within the specified days:
sum(case when `date` >= `Client Start Date` and `date` ⇐ date_add(`Client Start Date`, interval `Number of Days to Include` day) then `Total` end)
3. If you want to find the average client spend, divide this value by the distinct number of clients in the time interval.
(sum(case when `date` >= `Client Start Date` and `date` ⇐ date_add(`Client Start Date`, interval `Number of Days to Include` day) then `Total` end))
/
(count(distinct case when `date` >= `Client Start Date` and `date` ⇐ date_add(`Client Start Date`, interval `Number of Days to Include` day) then `ClientID` end))
4. To split the output by year, make sure that the "graph by" setting on your visual is by year.
nmizzell
Re: MoM Variance in Pivot
@Dverdon As @MichelleH says, pivot tables won't allow you to calculate in between columns and a Mega Table with a Beast Mode might be your best bet, as you won't need to do much to transform your data prior, although you'll lose the drill down capabilities you have in a Pivot Table (in case that matters to your case).
Another option would be to use an ETL to have the displaced value listed as well (Using DATE_ADD(`Date`,INTERVAL 1 MONTH)), there would be basically 2 ways to achieve this, either with APPEND or JOIN.
The Append route is simpler although it will require you to store more rows, you'll need to identify the values with an additional column with either a value of 'Current' or 'Displaced' and then in your beast modes you'll use:
Current value
CASE WHEN `Identifier` = 'Current' THEN `Value` END
Variance
CASE WHEN `Identifier` = 'Current' THEN `Value` WHEN `Identifier` = 'Displaced' THEN -1*`Value` END
And you'll add these to your Pivot Table as values, selecting SUM as the aggregation type (if you want % of change you'll need to do the aggregation and division as part of your beast mode).
Keep in mind that when adding 1 month, any date that would fall outside the next month, becomes the last of the month instead (Jan 29, Jan 30, Jan 31 both become Feb 28/29 for example).





