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

  • https://www.youtube.com/watch?v=cnc6gMKZ9R8
  • @yli_2596 yes. https://domohelp.domo.com/hc/en-us/articles/360042926274-Adding-a-DataSet-Using-a-Connector#3.3.1.
  • Thinking it through another set based way of approaching this without variables would be to do what SQL has to do under the covers (generate windows) for each row in your dataset we'll generate the 4 rows, then we'll assign the value of the transaction for those lagged rows if they exist, then we'll aggregate. this assumes…
  • +1 on Grant's solution using Lag(1) .. Lag(2), Lag(3) IF YOU DON"T HAVE GAPS IN YOUR DATA. Only thing I strongly dislike about this approach is that you have to create 3 functions (not efficient) AND it must be true that there are no gaps in data. Computationally, @GrantSmith i would say this is probably the only good use…
  • you can't create graphs based on bucketed activity that's been aggregated in analyzer. you'd have to materialize the buckets in ETL or a dataset view and then create a graph on that column. Do an ETL where you COUNT and GROUP BY your Axis then JOIN that dataset back to the original transactions unfortunately that means…
  • @BeastMode since you're asking a mysql question, stack overflow would probably be your best bet. but... let's close the loop here. why you trying to dynamically add 'missing columns'? how are you defining what's 'missing'? buuuut before we even address that question. if i had to quess you're trying to union multiple…
  • If this is going to be a recurring activity create a Dataset View https://domohelp.domo.com/hc/en-us/articles/360046074774-DataSet-Views
  • +1 with @MarkSnodgrass there is no reason to calculate your metrics in beast modes, it would just be a slow card with difficult rules. You'll want to use a LAG or LEAD function which is explained here in Beast Modes, but the concept is consistent across Magic and SQL: https://www.youtube.com/watch?v=cnc6gMKZ9R8 Given the…
  • Dali did you want COUNT(DISTINCT) instead of COUNT? If so, you cannot COUNT DISTINCT across rows in a table card or graph. You might UNION a dataset to your dataset of just distinct customers.
  • oh goodness... defo use @MarkSnodgrass method. it's easier to read and stores the data as type DATE which will have more flexibility in cards than type TEXT
  • @MarkSnodgrass + @pstrauss before you pivot, make sure to assign a value to how to prioritize the match. i.e. matchValue =1 if JOIN on Name matchValue = 2 if JOIN on Description matchValue =3 if JOIN on then Pivot then JOIN then RANK on MatchValue desc then filter where Rank = 1 to only keep one version of the row. Good…
  • @DataMaven i believe Domo are using Zendesk...
  • @imelendez Stacker was built back in Magic 1.0 era. Magic 2.0 should outperform virtually every ETL engine EXCEPT Adrenaline Dataflows and in some cases Data Set Views. UNLESS you are doing something that a database is MUCH better at (GROUP BYs, Window Functions and JOINs). But even then, to opt for a SQL dataflow option,…
  • @vikrao what's the business question you're trying to answer in plain english? i suspect it's something like "which users havent paid an invoice in the last x months. if so rework your filter as a formula based off CURRENT_DATE
  • @Nathan + 1 to @ST_-Superman-_ and @Grant their advice is sound. I know it's not the answer you want to hear, but next step is definitely to not have 150 cards on a page. you'll get the biggest gains here. while domo can render multiple cards simultaneously, you ARE issuing queries to a database, so subsetting your page…
  • RANK & WINDOW + Filter will initially output the same number of rows that came in. If Window Functions are not necessary, and you just need a SELECT DISTINCT equivalent, REMOVE DUPLICATES is OK except it keeps all your columns, so a good alternative (but equally slow to process) would be a GROUP BY with a Min / Max or a…
  • @Ben_Dunlap Ooof... migrated away from Magic. ooook. are you familiar with recursive dataflows? I cannot ... de-recommend them strongly enough but it is an anti-pattern that works. You can add indexes to your MySQL dataflow which may boost performance during the JOIN action…
  • @Ben_Dunlap Flat out, with only 7M rows of data you (99% guaranteed) will have the best and fastest performance with Magic 2.0. The underlying transformation engine is more performant than the way data is piped in a MySQL dataflow (out of Domo Vault / Amazon S3 and into a MySQL VM and then back the S3 vs. streaming in an…
  • use splitpart to split the text strong on the comma delimiter split_part(`addressfield`, ',', 2) wrap those results in a trim to remove any leading whitespaces. then split_part on the space and keep the first result in the array
  • one of the nice things about custom apps is that when you sync appdb document collections to the datacenter, they sync with UPSERT dataset enabled. to understand how to delete rows from a dataset with an UPSERT key, use that java cli and log-api to monitor which api is hit as you update datasets via cli
  • you can't do a count(distinct) across rows in a table card. if you take the sum of count(distinct) it assumes that an account does not exist across multiple statuses. unfortunately, you cannot count(count(distinct)) b/c the number of accounts would have already been aggregated. instead you could UNION a set of rows…
  • @Chris_Wolman send your issue to support@domo.com they'll be the most suited for helping debug this issue.
  • you can convert your card into a table from the Card Details pane and you can export your data from the UI. if you monitor network traffic you can see the API request that's being sent by the browser. https://www.onyxreporting.com/blog/domo-python-tutorial-execute-datasets-and-dataflows-via-api-and-pydomo
  • I believe there's a feature switch (might be beta, contact your CSM) that can hide the filter icon. buuuut, i wouldn't recommend that b/c the filter icon lets you know that a card is being filtered by the dashboard.
  • did you mean developer token as in developer.domo.com or access token as in domo -- admin -- access token? i think you'd want both and to be able to differentiate between both so users could track API usage
  • the cleanest method would be to think of your numerator and denominator as two different sets of fact tables which you then UNION together. your first set of facts are just employee call transactions. (i would add a callCount = 1 so you can do a clean sum instead of a count) then your denominator should be EITHER 1 row per…
  • if it were me, I would implement the DS pipeline and the recursive dataflow as two separate dataflows. separate interests. if you alter your DS pipeline for whatever reason, or need to test something, you don't necessarily want to commit that the your recursive dataflow. and if you need to add new columns or calculations…
  • @DataUp , your beast mode will not behave as expected UNLESS you have the day of the week (Sun, Mon Tues) on the axis. At which point your CASE statement is superfluous and you could just do a count(distinct on dates). Even that aside, conceptually you're mixing up two things. In your solution, you've combined what should…
  • @user052647 You should probably stop using Fusions and switch over to using Data Set Views as soon as reasonable. Fusions and DSVs use the same technical underpinnings, so I like to frame DataSet Views as an improved UI for Fusions. With DSVs you can JOIN Fusions on Fusions. Keep in mind a Fusion is the same as a VIEW in a…
  • i'll just leave this here.