Data Auto Refresh vs Multiple Visualizations

Here's a fun question.


I have a table that autorefreshes and receives randomized data. ( Bypass Data Cache )

I have a barchart using the same cube.

When the data refreshes I get different results between the table and the barchart.

How do I get them both to use the same data result?


How often are you refreshing the visuals? if it's on a frequency that is greater than 1 min you can consider warehousing the data cube results on a schedule that trigger the data cube storage every minute. Then the 2 visuals should show the same data result. Otherwise, you are basically calling the data cube results again and those are randomizing data again. Can I ask what is this for? is it just for a cool demo or there is a good use case behind it?

This was a side experiment while searching for a solution for a Wheel Of Fortune concept.

Investing in Financial markets has risk, projecting possible future outcomes is difficult. We have built annualized returns going back to 1950, so thats 66 datapoints.

We want to present a user with a question about how much risk they want to take on.

Then we spin the Wheel Of Fortune and randomly pick a year and multiply out what the hypothetical return would be.

I haven't come up with a BI solution for this. One idea I had was to Auto-Refresh data every second for 5 seconds and stop on the last iteration. While the data is refreshing I want to see gauges, barcharts, linecharts all changing to give the feeling someone on The Price Is Right would experience while spinning the Wheel Of Fortune. The Price Is Right is an American game show. The Wheel Of Fortune is a huge wheel the contestant spins and when it stops, the results can be bad or good.

Another idea I have toyed with is using a Table visualization with no header or borders and highlight different cells, maybe while playing a fun sounding game show music for 5 seconds.

If you have any ideas I'd love to hear them.

Maybe have a number of still images and a timer/animate to quickly flash (show/hide, grow/shrink, change colour /position etc) between them? I have used this this technique for a fruit machine style gimmik.

Another thing I once did was to make a clock like you get on some game shows. It was a circle and on top was a image of a line for the hand. I used a timer to rotate the line image to make the line go round the clock face.

The data cubes and metric sets are stateless, and it seems what you are trying to do is enforce a state between different metric set requests. State can really only be controlled at the dashboard level. If I was doing something like this I'd move all the things that I needed to maintain the state up to the dashboard. There are lots of ways of doing this, but I'd do something similar to the following:


  1. Setup my cube with a column that is my 'random value' -- this can be a text or numeric value. Text will be simpler, but it can be numeric if you need to use the value in formulas
  2. Create my visualizations using the data.
  3. Set up parameter:
    1. that connects to the 'random values' in each visualization.
    2. that connects to the 'initial value' in each visualization. (this will need a filter control attached)
  4. Create a "Spin Button" and then setup a script that runs on the click action which executes a series of filters, each choosing a random number each time, spaced some time apart (say 5 seconds). This can be done by setting up a chain of promises with timeouts but can also be done synchronously. The script to do the filtering is pretty simple https://www.dundas.com/support/support-center/support-articles/scripting/set-filter-value-by-script



The Wheel Of Fortune concept made me think of that may be relevant to your case:
this example

To achieve the spining whell (pie) on drag just add the following 3 lines to a script under the mouse down action:

var targetControl = chart1;
targetControl.control.isDragging = true;
targetControl.control.startDraggingY = e.originalEvent.clientY;

As for the random number geneartion - you can maybe randomize the number at the dashboard level using a formula like shown under this video: https://www.youtube.com/watch?v=gg_4lieuZ0Y

then you can consider using formula visualizations to maybe eliminate the need to randomize the data again.