Best Of
Re: Remapping nulls in Analyzer
The remap nulls likely isn't working because the data contains blank spaces instead of actually being null.
I would suggest dealing with this by creating a beast mode in Analyzer that looks like this:
CASE WHEN LEN(TRIM(fieldname)) >= 1 THEN fieldname ELSE replacementvalue END
This will trim out all the spaces and then check the length of the field. If it is at least 1 character then use the existing value. Otherwise, use a value you want to replace it with.
Re: Consumption features
Hi Nihar,
We are currently in the process of turning more features as they become available to leverage via consumption and are appropriate in the freemium model.
Aside from the items you listed above, please feel free to let me know what other features you'd like to see and we can evaluate.
Re: Dates Being Filtered with Fixed
Can you try adding your Error Ratio calculation into the filter deny clause as well?
Re: How can I find rows in one column that are not in another column
Are column A and column B the same information? For example, a ProductID or something? If so, then you would use a Left Join and have the dataset that has column A on the left side and have your join criteria be Column A - Column B. After the join tile, you can add a filter tile and filter to where column B is null.
Re: Beast Mode
You need a few helper columns to acheive this. The first is the ID, the second is the revision number. assuming the revision number is in chronological order (highest number being the one you want to count) then you can add another column that finds the maximum revision number by ID. Lastly, create a function that reads the maximum revision number and the actual revision number, and produces a 0 if it is not the maximum, and a 1 if it is the maximum. Filter off anything that is not equal to the maximum id revision, then count distinct ID values.
This can be done in magic ETL and in Beastmode.
beast mode for finding the maximum revision number by id: max(`revision_number`) over(`id`)
beast mode for determining if the current revision number is equal to the max: case when `revision_number` = max(`revision_number`) over(`id`) then 1 else 0
filter off anything that is a 0 in your card
beastmode to count distinct IDs: count(distinct `id`)
This is just one of many ways to solve the problem.
nmizzell
Re: Top 25 Accounts
Ha…should I be a life guard? I'm just here to rescue.
More video answers at dashboarddudes.com/pantry
Re: Creating a case statement based on Row Header
You can accomplish this with a Flex Table chart type. You can probably just change the chart type to flex without needing to rearrange any of the columns. You'll then need to adjust the "column definitions" and "change value options" in chart properties to get the variance totals you're wanting.
jessdoe
Re: Table, compare several month-over-month
Hi, @John-Peddle,
This should be possible using a method more or less the same as I discussed here: https://dojo.domo.com/t5/Card-Building/hello-how-to-compare-month-to-month-with-secondary-axis-in-card/m-p/38214/highlight/false#M5099
For a table card, you need to have a data column for each column to be included in the table. If your dataset already has all the columns you need, then you're all set. However, in your case, seems you don't have all the columns you need in the dataset. Enter the Beast Mode calculation.
You'll need to create a Beast Mode calculation for Month/Year, Discrepancies, and %Difference for each of the four months. That's a total of 12 Beast Mode calculations. The good news is that they'll be nearly the same with just small differences to account for the varying number of months prior.
For example, for the Month/Year calculation for the current month, your calculation will be something like this:
min(
case
when month(`Date`) = month(CURRENT_DATE()) then concat(year(`Date`),'-',month(`Date`)
end
)
The corresponding calculation for the prior month will look something like this:
min(
case
when month(date_add(`Date`,interval 1 month)) = month(CURRENT_DATE()) then concat(year(`Date`),'-',month(`Date`)
end
)
and so on for prior months, changing "interval X month" to the appropriate number of months prior to the current month.
The other columns will have very similar logic, but instead of min(), you'll want to use sum() or count() depending on your data structure. Also, for the %Difference, you'll be doing additional math: sum(current month discrepancies) / sum(prior month discrepancies)
Hope that gets you going.
~Dan


