Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Display a gauge for each value of a table

Hello,

I've searched a lot about that, but did not find anything. How can I display a gauge for each ZE_value of my table ?

Of course my table can be filtered, so I will have to display sometimes more than two gauges...

Thank you for your Help !

Ivan

1 Solution

Accepted Solutions
Not applicable
Author

Hello, I've found the solution, you can see the document attached Thanks for your help!

I've simply defined an ID in the table, and then:

first_gauge: =sum({$<Ziel_ID={$(=min(Ziel_ID, 1))}>} ZE_value)

second_gauge: =sum({$<Ziel_ID={$(=min(Ziel_ID, 2))}>} ZE_value)

etc...

With a condition it's easy to hide the second gauge if only one value is selected in the table....

View solution in original post

7 Replies
swuehl
MVP
MVP

Create your expression, like sum(Value), then change the Representation under display options in expression tab of your chart properties to the gauge style you like (e.g. linear gauge) and adapt the gauge settings available after setting a gauge representation via button.

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

You will need to have a fixed max value to make your gauge work sensibly - percentage of a whole tends to work well - for example.  If the max value can shift about (as it would with a simple sum) then you need to work out what the maximum value is on any row of the table.  This gets a bit more complex, but can be done by using the aggr statement, something like:

=max(aggr(sum(Value), [Dimension 1], [Dimension 2], [Dimension 3])

Where 'sum(Value)' is your original expression and Dimension 1 - 3 are the dimesnion fields in your table.

Hope that helps,

Steve

http://www.quickintelligence.co.uk/

deepakk
Partner - Specialist III
Partner - Specialist III

Hi,

Try the attach application. The important  factor is hthe setting that you need to do in Gauage setting. I have attach the snap shot of the same

Deepak

Not applicable
Author

Hello everybody, thank you for your help!

It helps me a lot, but I think I wasn't precise enough: I would like to have the possibility to filter the product for example, and then to get the values in the gauges separately, and not in the table. And that's really the trick I don't understand.

For example, if I filter on product B, two gauges should be displayed. I know how to hide the gauges A, with a condition, but not the expression I have to write to display the values A.

Thank you again for your help, Regards,

Ivan

Unbenannt.PNG

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

The best way is to use a set of syntax called Set Analysis - you will find lots of references to it on the community.

The expression for each gauge will be something like:

sum({<[ZE_value]={'Val1'}>}ValueField) / sum({<[ZE_value]=>}ValueField)

In the first part of the expression you are finding the value only where ZE_value = 'Val1', in the divisor it is finding the total for all values in the ZE_value field.

You need to be aware of what this syntax has on making selections on this field.  The best thing to do is implement and then test to see what happens under various selections.

- Steve

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

I think it will be very difficult to get the separate gauges to display the values that you want.  It may be possible to do it with a rank statement and working out which values are appearing where in the table - but I wouldn't want to say for sure.

The best bet, I would say, is to go back to the original idea of showing the gauges in-line in your table.  This way as the dimensionality changes based on selections the gauges shown will change.

I've attached an example that I hope will help.  Note that you need to configure the colour segments for the gauges after selecting the second expression on the expressions tab.  It is also critical that the expression for the max gauge value gives the right value based on the dimensions in the table.  Hopefully this will make sense when you see the example.

Hope that helps,

Steve

http://www.quickintelligence.co.uk/

Not applicable
Author

Hello, I've found the solution, you can see the document attached Thanks for your help!

I've simply defined an ID in the table, and then:

first_gauge: =sum({$<Ziel_ID={$(=min(Ziel_ID, 1))}>} ZE_value)

second_gauge: =sum({$<Ziel_ID={$(=min(Ziel_ID, 2))}>} ZE_value)

etc...

With a condition it's easy to hide the second gauge if only one value is selected in the table....