Best Of
Re: How to calculate a % of line value from the grand total inside a table in domo card
@Utz That makes sense. The reason your formula is not returning as expected is because it's only calculating using the total cost per seasonal value, not the grand total. You will need use a window function or a fixed function in your denominator in order to include rows for all seasonal values. For example:
sum(`Cost of Sales`)/sum(sum(`Cost of Sales`) fixed ())
Re: Lead Function in Rank and Window Returning Self Referencing Value
Just to clarify, but is StudentIndex always populated and is it unique for each partition?
Re: Antithesis Filtering on Dashboard
I agree with @MarkSnodgrass - I would attempt this with variables. Create a variable with your full project list. Then create a calculated field for "Selected Project".
case when variable = `ProjectName` then 'Selected' else 'Not Selected' end
When you build your cards, you would use two different filters, one filtered for 'Selected' and one for 'Not Selected'
Hope that makes sense.
Re: Antithesis Filtering on Dashboard
I think you can do this using the variable feature. If you haven't played around with that yet, here is a demonstration of it that was just done today. https://www.youtube.com/live/ZCQwiBq8PHc?feature=share
There are some other introductory videos that are worth watching as well.
Re: How to get WoW comparison by changing global date filter?
@Joyce The reason this issue occurs is because changing the filter excludes the rows necessary to complete the calculation since your beast modes are written to only calculate results for data from the past two weeks. In other words, when you filter to more than 2 weeks ago there are no rows being included that satisfy the condition of your case statements.
You can get around this by using a date variable in the place of CURRENT_DATE() in your beast modes and hiding the date range selector in your card.
Re: How do I remove the "Warning: Not All the Data is Shown" from a filter?
Adding a sort and count aggregation seems to have removed the issue.
Side note: not being able to remove your own posts is a real bummer.
Re: Automatic Record Matching - Customers
Hey kpmwinston - I recently had this same requirement and solved it via MagicETL and using the Dynamic Unpivot + Python Scriprting blocks. The idea goes something like this:
- Add dataset A as a datasouce in MagicETL
- Add dataset B as a 2nd datasource in MagicETL
- Drag two unpivot blocks into your flow, and connect one to Dataset A, one to Dataset B
- This will transform both datasets a 'vertical' stacked dataset (turning your rows into columns)
- So both datasets should now be laid out like this:
In your case, as part of setting up the unpivot block, the product column above would be your column names (Customer Name, Customer Address), and sales column above would be equivalent to their values.
- Connect both unpivot blocks to python scripting blocks and leverage the fuzzywuzzy python library to compare the 'values' from dataset A and dataset B to get a confidence score.
- This same process could be done on the column names if you wanted to do a fuzzy match to determine if the different column names between both datasets are related. If they are you could leverage a bit more python to conform the column names between both datasets automatically.
I won't go into a lot of detail on the step above, but the following link provides some sample MagicETL python scripting using the fuzzy wuzzy python library that outputs the matches and confidence scores that you can then connect to an output dataset. In the example link, this person is trying to match addresses from 2 different sources where the addresses are very similar but may not match 100% (so you cant leverage standard joins between them) which sounds nearly identical to what you're trying to achieve.
I know this isn't a detailed step by step, but it should get you close enough to an actual solution to your problem.
Re: Any Way to Use Regular Expressions to Change Case of Specific Words
Hi pstrauss,
You can do this in a MagicETL. The best way I've found to do this is using the Python Scripting Block. In the example I put together for you, I wanted to make it simple to configure which words end up capitalized without having to reconfigure my ETL every time I want to add a new preposition. In the design pattern below, I just used a Domo Webform to store a list of my words so all you need to do is pop new values into it.
1) There are 2 data sources in this ETL. The first is a table containing rows of articles text. The second is my dataset of prepositions.
2) Connect both sources to a Python Scripting block and add the python code shown in the screenshot at the bottom of this post.
3) Make sure you change any references of 'Articles' or 'Prepositions' to match your dataset names. Then, change 'ArticleText' in the code to whatever the column name is in your articles dataset.
4) Once you make sure all dataset name and column name references match your existing datasets, run a preview and check the 'SCHEMA' tab on the Python Script block to ensure it's properly picking up the output schema.
You'll notice a simple capitalise() function. All it does is take your prepositions dataset and convert it into a list. Then it takes your article dataset and converts the article text itself into a list. It then goes through your article text and checks to see each word is in your prepositions list. If it is, it capitalises it with the title() function. If not, it leaves that word unmodified.
What you are left with is an output dataset where the article text has your prepositions capitalized because we've run a pandas apply() function to your article data and telling it to execute the capitalise() function on your data.
Edit: I just realized you wanted to opposite of capitalizing, and instead lowercasing your prepositions. Thats easy enough to do by changing the "v.title() if v in list..." to "v.lower() if v in list..."
Apologies for the mix up! This should still get you 99% of the way there. I hope this helps! :)
Python Script
Articles Dataset
Prepositions Dataset
Final ETL Output
Notice all instances of and, to, from, the, with are now all capitalized
Re: Can you remove filtering capabilities for specific card level for Participants?
You can't conditionally show or hide different filtering options. If you're looking to restrict the records returned for specific users you can look into PDP to automatically do filtering so they won't be able to see other records.









