Best Of
Re: MFA on every login
I see this is awaiting review from the product team - hoping there is also an opportunity to authenticate via third party MFA apps (Google Authenticator, etc) on the near term road map?
Re: WorkFlow Code Engine Help
I recreated the codeengine function that you are asking about.
Loom example:
Exact code:
______________
http://const codeengine = require("codeengine")
async function addUsersToGroup(group, person) {
try {
const url = `/api/content/v2/groups/${group}/user`;
await codeengine.sendRequest("put", url, [person]);
return true;
} catch (error) {
throw new Error(error);
}
}
module.exports.addUsersToGroup = addUsersToGroup;
_________________
Please 💡/💖/👍/😊 this post if you read it and found it helpful.
Please accept the answer if it solved your problem.
Re: Magic ETL Tiles groups for clearer organization and visibility/observability :D :D :D
@matthewpinson thank you kind stranger whom i've never met before
Re: Fix HTTP 413 Errors when logging into multiple instances
Hey, @MarkSnodgrass and @DataMaven - thanks for the feedback here! The idea of a central identity is interesting.
Re: Aggregation Issues with Beast Mode Calculation
@Cara, the answer provided by @JedP is excellent and thorough. I'd just like to add on one bit that I think is helpful.
It's very important to think about where you're applying the aggregation context with case statements, and the order of operations when processing the beast mode.
case when Department = 'Finance' and MONTH(ScheduleDate) = 2 then SUM(TransactionNumber) end
is different from
SUM(case when Department = 'Finance' and MONTH(ScheduleDate) = 2 then TransactionNumber end)
In the first example, the case statement is evaluated after the aggregation takes place.
In the second, the aggregation takes place after the case statement has been evaluated.
These 2 can yield vastly different results depending on how you have your card configured.
Re: Aggregation Issues with Beast Mode Calculation
Hello @Cara ,
Great question, this is due to the aggregation rollup on the card and the dimension grouping used on the card. The **** error indicates that the grouping in your pivot table doesnt match the grouping in another part of your visual, in this case its your Beast Mode code.
A common way this happens is when you reference a column in your Beast Mode code that is not used on the card itself. Here is a good example of how it happens:
This Sample Beast Mode code uses the Item Color column, but that column is not used in the card. The Beast Mode code creates Item Color groups, and the card doesn't know what to do with those group because they were not used on the card.
CASE
WHEN `Item Color` = 'Blue' THEN SUM(`Order Quantity`)
WHEN `Item Color` = 'Black' THEN SUM(`Order Quantity`)
WHEN `Item Color` = 'Red' THEN SUM(`Order Quantity`)
ELSE 0
END
In the below screen shot we can see the error due to the Item Color grouping in the BM code above.
When you add in the Item Color column, you can now see the why there were multiple groups, the Beast mode code has groups split out causing separate aggregations instead of a rollup aggregation.
To fix this issue, you want to correct your Beast Mode grouping or adjust your columns on the Pivot table to reflect the groups created in the Beast Mode.
Here is a good example of a corrected Beast Mode code that corrects the grouping & Pivot table.
SUM(CASE
WHEN Item Color
= 'BLUE' THEN Order Quantity
WHEN Item Color
= 'Black' THEN Order Quantity
WHEN Item Color
= 'Red' THEN Order Quantity
ELSE 0
END)
The results of the new Beast mode code aggregates the data correctly for the grouping rollup:
Re: Connecting Monthly Goals to Incoming Cumulative Daily Data
As David notes - you will need to aggregate ("group" and sum/count), with necessary fields. If you add fields to an output, the data will "break" or split on that data. Example, if your objective is to sum the amounts by store then you might include Store, Quarter, Month, and Sales. Since Month is in the set, it will split the data on each month within the quarter. If you remove month but keep the other fields, it will give you Store, Quarter, and Sales - total by quarter. If you add a salesperson in the data, it will split up on that as well.
And its up to you whether you are using an ETL with tiles, or doing things in beast mode formulas.
If I use formulas to aggregate what I need - I'll split the data up with additional columns for year, quarter, month, or week. That way the values are there and I can choose what type of totals I want on the display.
You can chart past data or future data. For current year and current quarter, I might have a formula such as:
sum(
case when YEAR(mydate
) = YEAR(CURRENT_DATE())
and QUARTER(mydate
) = QUARTER(CURRENT_DATE())
then amount
else 0 end
)
And for a previous year, current quarter:
sum(
case when YEAR(mydate
) = YEAR(DATE_ADD(CURRENT_DATE(),-365))
and QUARTER(mydate
) = QUARTER(DATE_ADD(CURRENT_DATE(),-365))
and mydate
<= DATE_ADD(CURRENT_DATE(),-365)
then amount
else 0 end
)
You can use static values as well. For first quarter, you might use:
sum(
case when YEAR(mydate
) = YEAR(CURRENT_DATE())
and QUARTER(mydate
) = 1
then amount
else 0 end
)
Even though its only the second quarter of the year, I can chart data for the entire year if I have those values in my data. Perhaps future appointment dates are in the data and I want to see the number of appointments in the third quarter of the current year, I can say QUARTER(mydate
) = 3
Re: Export on cards with embedded Domo Everywhere App Studio
Exporting from app studio is definitely a feature we would value
Re: Magic ETL Tiles groups for clearer organization and visibility/observability :D :D :D
Ten thousand thumbs up for colorizing the column headers to see where the column came from!