Best Of
Re: Understanding Gantt Chart Dates, and Date Filters
In addition to Mark's suggestion of turning on the 'Show Current Date' line, you can also calculate your percent complete to always be up to today's date, like:
case
when DATEDIFF(CURRENT_DATE(),Start Date) / DATEDIFF(End Date,Start Date) > 1 then 1
else DATEDIFF(CURRENT_DATE(),Start Date) / DATEDIFF(End Date,Start Date)
end
That would give you something like this, where the stuff in the future is that striped texture:
Or you could reformat the formula to make the past striped.
If you truly want the start of the graph to be the start date and still see past projects, you could have a beastmode for your start date like:
CASE WHEN Start Date >= CURRENT_DATE() THENStart Date
WHEN Start Date < CURRENT_DATE() THEN
CURRENT_DATE()
ELSECohort Start Date
END
and another one for your end date like:
CASE WHEN End Date >= CURRENT_DATE() THENEnd Date
else CURRENT_DATE()+10
end
Depending on your date range, you can play with that +10. The idea is all past projects have a little bit sticking out so you can still see them. You can also play with the labels or the percent complete to make it clear these represent past, complete projects.
Re: Criteria Based Triggers
Have you looked into the advanced scheduling options? There are several there which may fit your use case:
Specifically:
- DataSets have updated — This condition lets you activate the trigger when one or multiple DataSets have updated. If you choose this option, you must also specify the secondary condition for when the selected DataSets updated. These secondary conditions are described below:
- Since the last successful run — This option activates the trigger if the DataSets you specify in the condition have updated since the last successful run.
- In the last — This option activates the trigger if the DataSets you specify in the condition have updated in the last insert interval. You can make the interval a number of minutes, hours, or days.
- Within — This option activates the trigger if the DataSets you specify in the condition have updated within insert interval of each other. You can make the interval a number of minutes, hours, or days.
Re: How do I get the following aggregation setup in domo?
First, how to get those aggregations (no formula needed):
You could set up a table card with two columns, id and number . If you select "sum" for the aggregation for that field, it will show the sum per id. Then you could have a second table card with list and number and a third with just number. To match your question, I said to use a table card, but this is the same logic for most of the viz cards (bar graphs, etc.)
Second, if instead of three separate cards, you want a single card where a user can switch between the different aggregations:
Set up a variable with three options, 'id', 'level', 'total'. Then create a beast mode like:
CASE
WHEN variable = 'id' then id
when variable ='list' then list
when variable='total' then 'Total'
END
Note that the final 'Total' is just an arbitrary constant, it could be anything.
Then you make a table with that Beastmode you created and your number column, and you can add a control to your page using the variable you created.
Here's the overview of variables to reference:
Re: Quarterly Chart
You can do this with a window function:
MAX(FIRST_VALUE(`value_field`) OVER (PARTITION BY YEAR(`dt`), QUARTER(`dt`) ORDER BY `dt` DESC)
This will get you a single value of the first value for each year+quarter partition. Since it's ordering by the dt field it'll get you the last date in the quarter.
Re: Quarterly Chart
@domoexpert can you create a beasemode that determine if its the last month in the qtr and then filter for that? Something like this should work.
Case when monthname in (March, June, Sept, Dec) then 'Last Month in Qtr' else 'Not Last Month in Qtr' end
Then apply a fillter selecting Last Month in Qtr.
Ashleigh





