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

  • Strong agree. @Shumilex in this context you really don't want to JOIN two fact tables together it will always lead to unexpected row duplication and create more challenges when trying to visualize the data. APPEND ing the data together will make viz much easier as well as give you a much simpler ETL.
  • @PacoTaco this problem has been solved before but ... i think it's usually an add-on app or tool that clients pay for. ask your CSM, but also check in with the Domo User Group b/c this can be done with Python Scripts and the like. I think Andrew at CrystalBallers may have a custom app. Are you in the global slack…
  • @Khan_Naziya ? i feel like i've suggested to you multiple times to build a date dimension table... you're not gonna love this answer ? build a date dimension table. What you need is a YearMonth_Lag column that calculates the number of month's lag (0,1,2,3,4,5) from the current date. You calculate that with a Row_Num() Over…
  • What you're asking for is not possible without pre-aggregating your data in ETL or a dataset view. What you described is wanting your ratio calculated at one row per customer SUM(...) / SUM(...) To do that you had to put Customer on the Axis. But you don't want one row per customer you want groups of the ratio (hence the…
  • ... so you want a chart that shows change over time. AFAIK no. you'd have to build a custom app. https://www.domo.com/covid19/geographics/global/ in the middle of this page they have an example of what can be done... but basically you'd have to code your own app / viz and upload it to your Domo dashboard.
  • https://stackoverflow.com/questions/41330789/convert-seconds-to-days-hours-minutes-seconds-mysql
  • flick through this video. might get you there more easily. https://www.youtube.com/watch?v=oYcpYE7DiV4 in a nutshell, count the number of commas in your string. duplicate the data for 1+n commas for the nth copy of the row, keep the data after the nth comma.
  • there is a census bureau connector. take a look at the reports avaialble in the Dimensions connector (I don't know the answer to your question outright, but these are places i would look)
  • this could be ... 'normal' behavior. if i were a betting man, i'd look at when your datasets finish updating (indexing) versus when you see these 'errors'. two possible issues. if your dataflows are updating mid day ... your users are getting confused about timings (this can be particularly challenging if your one…
  • ... what didn't work? where did it break? i guarantee you the ROUND() function works and UNIX_TIMESTAMP() works. so why doesn't it work with your beast mode? peel away the layers. remove ROUND() function. does it work? Remove the math. you probably have a parenthesis in the wrong place.
  • Angela, we can't tell you how Domo works, but you can maybe be more specific about what you want the ROUND functionality to do. mathematically 2.273 SHOULD round up to 2.3. if you always want to round down take a look at the FLOOR() versus the CEILING() implementations for ROUND.
  • also ... this is redshift, it maybe faster to SELECT * FROM WHERE ... is null than executing a DELETE statement.
  • ... there are two transform types. one will CREATE TABLE the other will allow you to execute a SQL statement. Choose the right one.
  • this is a tough project. I've seen it done poorly ... a lot. you'll need to start with what I call an 'account schedule' but it'll need to be granular. you'll need a minimum of two columns (row_name, and join_account) in the dataset you'll need one row for each account in the calculated row. income , 4001 income, 4002,…
  • You can't gracefully add X and Y target lines AFAIK. but what you could do is create a beastmode case when x >= 50 and y >= 30 then 'q1' when x < 50 and y >= 30 then 'q2' when x >=50 and y>= 30 then 'q3 else 'q4' end
  • you can do this with the "Document Card" but i'm not sure I'd recommend this workflow. https://knowledge.domo.com/Visualize/Adding_Cards_to_Domo/Doc_Cards/01Adding_a_Doc_Card_to_Domo if it were me, I would try to recreate the macros in Domo via ETL or DSV or analyzer so that the data doesn't need to leave Domo. Document…
  • the window function isn't super great for these percent of total type calcs. the design pattern @GrantSmith is recommending is calculate your categegory totals with a group by, rank the subtotal, then JOIN the results back to your main dataset. This is potentially unweildy so you could implement this design in a dataset…
  • @GrantSmith has a great writeup somewhere (grant, can you link it?) wherein he recommends converting your dateTime collumns using unix_timestamp, which should convert the dateTime into a number of seconds (which you can absolutely add or subtract). Then you just divide it by 60 or 3600 etc. to get number of minutes ,hours…
  • it is unclear to me why you need rank for percent of total. assuming you have Domains on the axis you could get each domain's percent of total with sum(video_plays) / sum(sum(video_plays))
  • sum(case when date ... then amount) / sum(amount)
  • https://developer.domo.com/docs/dataset/overview-5 use the dataset API to extract your data from Domo. you can't use a table card as your datasource, but you could use the dataset view (domo beta feature, tlak to your CSM) to create a VIEW of the dataset and then source that data via API. Alternatively (and this is what i…
  • create a Beast Mode ... this is pseudo code. Case when Date >= today - 30 then 'Group 1' when date >= 60 then 'Group 2' ... END Alternatively if you're using this logic a lot, build a date dimension ( a table with one row per day) in Magic or SQL and then add the '30 day trailing' column with similar logic from your beast…
  • AFAIK, no. It's a security risk Domo is unwilling to expose their other clients to. Your options are to transfer your data into Domo for storage & visualization ,or take advantage of the (premium) federated query solution, https://knowledge.domo.com/Administer/Other_Administrative_Tools/Using_the_Federated_Data_Solution…
  • OOOOOH i get it now... i read this a few days ago and i didn't understand teh requirement... if i understand you correctly, COLUMN, contains values like "Joni Mitchell LLC", "Thomas Flynn LLC" and you just want to agregate it to LLC. Yes. Use a beast mode CASE WHEN LOWER(column) like "%llc%" then 'LLC' else 'Not LLC' END…
  • @SLam sorry ... i don't understand what you're driving at. COUNT(DISTINCT() ) counts... the number of distinct values. so the number of unique order no is 4. if you want to know 'how many errors there are, don't do a count (distinct) just do a count... that would give you a total of 5. when you drill down, if you want to…
  • also... don't split hairs which order columns are added to your dataset. neither analyzer nor ETL tools really care about column order. if you want to reorganize them for display purposes, just use a DataSetView (talk to your CSM) to reoganize them.
  • this may lead to problems down the road. if you design a dataflow that injects columns based on the number of orders (prod_1, prod_2, prod_3) then you can potentially get a dataset with 100 extra columns. from day to day, the number of columns might change based on the data in your dataset. as a result any downstream ETL…
  • if you have a consistent list of IDs you could make a beast mode CASE WHEN id in ( ) then 'keep' else 'toss' end OR maintain a list in a webform and then JOIN your webform to your dataset.
  • better solution would be to avoid doing a GROUP BY in ETL alltogether and just APPEND the data. (make sure to align columns with common field names). then in analyzer you can use beast modes to just SUM() or COUNT() the metrics of interest. the proposed solution is superior b/c it allows you to filter on all the columns…