Focal Point
[SOLVED] Tooltip Abbreviation Currency

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8097001386

July 14, 2016, 03:32 PM
Joel Elscott
[SOLVED] Tooltip Abbreviation Currency
I’m trying to format a tooltip into an abbreviated value, with a dollar sign, one decimal point and the abbreviation character.

For example:
1,778,000,000 should display as “Series For Label: $1.78B”
534,387,000 should display as “Series For Label: $534.4M”

Using some code I found on here by a couple geniuses, I was able to get this to work for billions, but my question is how can I make my code dynamic and work for Millions, or even in the rare event Thousands (K)?

Here is a snipit of the code I currently have that works for Billions:

  
*GRAPH_JS
series: [
{ "series": 'reset',
               tooltip: function(d,s,g){
                   var valueArr = this.data[0],total=0;
                                  for (var i=0 ;i<valueArr.length;i++){total+=valueArr[i].value;}
                           var sum= d / 1000000000  ;
               return this.getSeries(s).label + " For " + this.getGroupLabel(g) + ": " + "$" + sum.toFixed(1) + "B";
               }
  },
]
*END


This message has been edited. Last edited by: Joel Elscott,


WebFOCUS 8.2.03
z/OS
July 18, 2016, 11:24 AM
Joel Elscott
I solved my own issue. Below is the final code I used if anyone is interested. It's probably not the best way, but it works.

  
{ "series": 'reset',
	tooltip: function(d,s,g){
	    var valueArr = this.data[0],total=0;
		    for (var i=0 ;i<valueArr.length;i++){total+=valueArr[i].value;}
            if (d > 1000000000)
			{
				var sum= d / 1000000000  ;
				return this.getSeries(s).label + " For " + this.getGroupLabel(g) + ": " + "$" + sum.toFixed(1) + "B";
			}
			else if (d > 1000000)
			{
				var sum= d / 1000000  ;
				return this.getSeries(s).label + " For " + this.getGroupLabel(g) + ": " + "$" + sum.toFixed(1) + "M";
			}
			else if (d > 1000)
			{
				var sum= d / 1000  ;
				return this.getSeries(s).label + " For " + this.getGroupLabel(g) + ": " + "$" + sum.toFixed(1) + "K";
			}
 	}
},



WebFOCUS 8.2.03
z/OS