Domo Everywhere

Domo Everywhere

Target a specific card value using ID or something.

On my embedded domo dashboard, I have a card which is showing unique participants calculated on domo. But on my platform, I need to apply a check on this specific count, if the count becomes less then 10 then I need some event to occur.

How can I target this value, is there a way I can pass any data-value in canvas with data-id to target this id and its value and so I will be able to apply that check on my embedded dashboard.

Could anyone of experts helps me to resolve this issue. Regards, Muhammad

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In

Best Answer

  • Answer ✓

    When you said "some event to occur" in the OP, I didn't know that's what you wanted. If you've shared that summary number to the dataset, for any cards that draw from the same dataset, you could use card-level filters that require that field to be above 10, and then you can specify a "No data" message.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

Answers

  • Contributor

    The answer is yes, but you will need to make a specific DDX brick that emits a message that you can have the parent application listen for.

    Here is some example react code to listen on the frontend, however a complimentary Domo DDX brick would need to be made to send the "uniqueParticipantCount" message to your application.

    ** Was this post helpful? Click 💡/💖/👍/😊 below. **
    ** If it solved your problem. Accept it as a solution! ✔️ **

    Or do you need more help? https://calendly.com/matthew-kastner/15-minute-chat
    Did I help you out? Feedback is priceless and will help me more than you know.Write a review!

  • We have so many dashboards on domo, so to change each dashboard would be a big hassle. and we are using normal cards for now not any ddx bricks cards. is it possible if we assign a id or something to fetch on client side when dashboard is embedded ? I am looking a solution without a ddx brick.

  • Contributor

    I've done a lot of toying around with Domo Everywhere and "emitting" and "listening" is the only way to do what you are requesting (through usage of a DDX brick or Domo Enterprise App).

    I would guess building a DDX brick that does that would only take like 20 hours or so if you have a custom code developer on the team. Feel free to DM me if you need help though on building one out.

    ** Was this post helpful? Click 💡/💖/👍/😊 below. **
    ** If it solved your problem. Accept it as a solution! ✔️ **

    Or do you need more help? https://calendly.com/matthew-kastner/15-minute-chat
    Did I help you out? Feedback is priceless and will help me more than you know.Write a review!

  • Maybe I'm mis-reading the question, but it sounds like you would just need an alert. If you want to know when a summary number falls below a threshold, you can set up an alert on that card specifying that threshold:

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

  • But does it impacts the whole dashboard, let say if my alert triggered and I want to hide my whole dashboard with other cards too and show some error on a screen, then would this be possible using this ?

  • Answer ✓

    When you said "some event to occur" in the OP, I didn't know that's what you wanted. If you've shared that summary number to the dataset, for any cards that draw from the same dataset, you could use card-level filters that require that field to be above 10, and then you can specify a "No data" message.

    Please 💡/💖/👍/😊 this post if you read it and found it helpful.

    Please accept the answer if it solved your problem.

  • Contributor

    For everyone else I made a quick little DDX brick script to do what I said you could do above:

    //Available globalsvar domo = window.domo; var datasets = window.datasets;
    var fields = ["state", "revenue"];var groupby = ["state"];var query = `/data/v1/${datasets[0]}?fields=${fields.join()}&groupby=${groupby.join()}`;domo.get(query).then(handleResult);
    function handleResult(data) { let isNewYorkRevenueLow = data.reduce((row, i, total) => { console.log("row.state",row) if (row.state === "New York") { return total + row.revenue; } return total; }, 0);
    if (isNewYorkRevenueLow < 2000) { const message = "New York Revenue is below 2000!"; window.parent.postMessage(message, "https://clearsquare-co-partner.domo.com"); // Replace "http://example.com" with the origin of the parent } console && console.log(isNewYorkRevenueLow);}

    ** Was this post helpful? Click 💡/💖/👍/😊 below. **
    ** If it solved your problem. Accept it as a solution! ✔️ **

    Or do you need more help? https://calendly.com/matthew-kastner/15-minute-chat
    Did I help you out? Feedback is priceless and will help me more than you know.Write a review!

Welcome!

It looks like you're new here. Members get access to exclusive content, events, rewards, and more. Sign in or register to get started.
Sign In