jaeW_at_Onyx Coach image

https://domousergroup.slack.com/archives/C047QPWLQEP/p1776796094665649 casual reminder that today at 13:30, we will be hosting our session on MCPs and Skills in claude DM me if the invite link isn't working for you! If you missed our previous session, https://datacrew.space/blog/building-apps-with-ai-best-practices-jon-tiritilli

Comments

  • what is the insights portal? 3) why would you recreate it? the overview page is unique to each user. it seems ... counterintuitive to create a dashboard that only you have access to. typically people only copy a handful of cards that are uniquely important to them to their overview page.
  • if the numerator and denominator are not in the same row then yeah... you can't / shouldn't use that column (description). Because each log in hasn't been attributed to a description.
  • if Total is an average. And then you want to take the average of Total, then you're trying to take the average of an average. on most days of the week that's considered mathematically problematic. if that's your requirement though avg( colA/colB ) should yield the correct result; however IF the values for ColA and ColB are…
  • In your screenshot you've applied the filter for yesterday. (top right corner) if your data is limited to yesterday then you cannot include / consider the data from one year ago. so when you divide by null you get null.
  • it's all in their documentation... check with support and confirm that the documentation is not out of date. also confirm that your objects are arrays when they arrive...
  • @Fatias true, i believe you would have to have the direct sign on exception enabled to use this method.
  • just google it! https://developer.domo.com/docs/domo-actions/start your CSM should be able to get you additional information via support but it, addmitedly, is not the easiest to find resource. if it were me, i would try to find another solution than domo-actions.
  • In general it sounds like you're struggling with 3 major issues SUM(`Total A`) / NULLIF(SUM(`Total B`),0) 1, don't convert your denominator to null if it's 0. you can't divide by NULL. that's bad math. 2, understand that this math is taking the sum of the entire column and dividing by the sum of Total B. In your…
  • use a table card. separate your numerator and denominatorr into separate beast modes, then add the columns to your axis. I'm betting you don't have Description in the rows that constitute the Denominator, which drives your denominator to 0 and N/0 is undefined, which domo would represent as a null or blank.
  • Have you confirmed that the domo library is available? can you accomplish other actions like get data from Domo? it seems unlikely that they would have deprecated onFiltersUpdate b/c that's integrated into all sorts of apps. Given t.map isn't a function, have you also confirmed that t is an array when your code executes?
  • can you use libraries that just run in the front end? Domo does have "Domo Actions" which theoretically was developed to use the Domo Accounts objects in apps to support saving and storing credentials.
  • agree with @GrantSmith , the solution to this problem should be implemented in the structure of the data instead of logic in a beast mode. this is probably the kind of thing that you need to be universally true not only true in the card that happens to be using the correct beast mode. "single version of the truth" and all…
  • export const get_authToken_domo = async (EMAIL, PASSWORD, DOMO_INSTANCE) => { const auth_url = `https://${DOMO_INSTANCE}.domo.com/api/content/v2/authentication`; const body = { method: 'password', emailAddress: EMAIL, password: PASSWORD, }; let resp = await fetch(auth_url, { method: 'POST',…
  • what you can do is create a webform (or a dataset generated via ETL if you're using the today() function) with the columns JOIN_Col = 1 and then the date you want to filter on. JOIN it to your transactional dataset using a Dataset View where on the transactional dataset you also have a JOIN_COL =1 Now when you change the…
  • ... you're consistently making the same decision to nest COUNT DISTINCT inside CASE statements. Be very careful, this is a bad habit to get into and can yield unexpected results. I suspect you have a data interpretation problem. quick question. you're doing count distinct of report date and agent ... but is your count…
  • In most of my consulting engagements, a hybrid of @MarkSnodgrass and @ST_-Superman-_ 's approach works best. Scott is describing the output of Enterprise Stacker, a tool built by Domo that UNIONs all the data and the aggregates it down to a Value's column as in Scott's screenshot. Very clean, but when you pre-aggregate…
  • 1) be careful of nesting aggregations, avg, inside the CASE statement. You can't apply the CASE statement. You usually won't get the desired result. 2) you cannot GROUP BY the result of an Aggregation (CASE ... AVG ... ) Case When HOUR(SEC_TO_TIME(AVG(TIME_TO_SEC(TIMEDIFF(`closedDate`,`createdDate`))))) <= '1' then '1'…
  • is it fair to assume that you've imported the domo.js library?
  • @StefanoG your custom app cannot require a backend server / backend functions. It must all 'run in Domo'. You could try sending requests to serverless functions hosted in Azure or similar.
  • I don't think Period over Period is the right chart type for you. it sounds like you want to know "how many machines syncced last month" and "how many machines synced this month" I don't think you can accurately answer both of those questions with the data provided. // EDIT: I would not structure my data this way. If it…
  • @StefanoG what's the problem you're encountering? Domo does take all data and stores it in UTC. Are you running into an error? Are you getting unexpected results? https://domohelp.domo.com/hc/en-us/articles/360043439073-Time-Zone-Troubleshooting-FAQ
  • @dacorson re: case sensitivity. keep in mind that Analyzer is a UI for building viz AND defining queries that get to SQL. it is possible (though I am uncertain) that when you create a beast mode that the validator checks for case sensitivity; however the database itself is not case sensitive for column names. i don't know.…
  • just stack your data with a date dimension. the gist of it is. create a datastet for one row per date in YTD, and in clude a column "Period Type" = YTD. then UNION all thte dates for Period Type = MTD or and maybe another set of Dates where Period Type = Prev Year YTD
  • i'd start by confirming that sum(sum(1)) over () yields the expected results. from there it's probably an issue with your column spelling. alternatively, try using a column that doesn't have a $. that is a special character and probably should be used in a column name for this exact reason.
  • you can't really enforce data types using add Formula. well no that's a lie, you could use the CAST() function. If it were me though, I would use the ALTER COLUMNS tile. This way you have more granular control AND are not mixing and matching tasks. use Formulas to define formulas. use ALTER COLUMNS to set schema properties.
  • ... that's a pretty roundabout solution and is probably not tied to the root cause of the issue (unless you were mistyping column names) Analyzer should not recongize a difference between Magic and Redshift generated datasets, b/c once the dataset gets loaded into Adrenaline (the database layer) there is functionally no…
  • ask your CSM to enable the MEDIAN function. There are a handful of statistic functions that can be enabled in anlayzer. Also https://datacrew.circle.so/c/developerdomocom-community-edition/supported-functions-in-adrenaline-dataflows-views-and-beast-modes, you might find what you're looking for in Adrenaline DataSet Views.
  • not entirely sure why you need to change the sort order on columns ... but you could also consider using DataSet Views to reorder columns. it will be more performant than just running ETL to change column order.
  • if you waant the total of all active statuses you need sum(sum(1)) over () this will give you a grand total for all rows. if you want a grand total of only active statuses sum(sum case when Status in ('choice a', choice b' ) then 1 end )) over () these are window functions which is a feature you'd need your CSM to enable…
  • so put [Staus Date] in columsn. put [status] in rows and just do a sum(1) as your metric. (remove the other metrics).