Forum Discussion
_anomDiebolt_
Qrew Elite
Go to this ugly chart:
https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=q&qid=84
Paste this code into the console:
Then apply the Un-HighCharted Waters technique with the above code as described here:
https://community.quickbase.com/quickbase/topics/what-is-the-hylo-technique
If you needs additional assistance feel free to contact me off-world using the information in my profile:
https://getsatisfaction.com/people/dandiebolt
https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=q&qid=84
Paste this code into the console:
var chart = Highcharts.charts[0];See screenshot of resulting Chart.
var options = chart.options;
chart.destroy();
options.xAxis[0].categories = _.filter(options.xAxis[0].categories, function(item, index) {
return index < 10;
});
options.xAxis[0].labels.step = 1;
options.series[0].data = _.filter(options.series[0].data, function(item, index) {
return index < 10;
});
new Highcharts.Chart(options);
Then apply the Un-HighCharted Waters technique with the above code as described here:
https://community.quickbase.com/quickbase/topics/what-is-the-hylo-technique
If you needs additional assistance feel free to contact me off-world using the information in my profile:
https://getsatisfaction.com/people/dandiebolt
EvanMartinez
6 years agoQuickbase Staff
I am actually familiar with the method that Eric used in his demo application for building out something like a top ten report and his method made use of native relationships and summary/lookup fields and a Universal Parent record. Essentially it works best when you have at least two tables to start. In your instance if your client has a table of Customers and each customer has many records related to sales that are being summarized up to the Customer. You then create another table to serve as the home of your Universal Parent record. From there you create a single record and then in your Customers table you create a numeric field and set it to be equal to 1 on all existing records and default to 1 for all new records and use this field as the reference field for your relationship so you have 1 Universal Parent record related to all your customers.
This way all of your customers are now related to your new parent record and you can start setting up your fields. If you want a top ten for example you create a look up field that is the Max of the field Total Customer Sales, you then set that new summary field as a look up down onto the Customer table. Then when you make your #2 customer summary field and do the Max of Total Customer Sales that are not equal to your #1 Customer look up field and then rinse and repeat till you have 10 summary fields calling up Customer 1-10 and 9 look up fields that you are using in the summary field to help you find the next Max so your last Summary field will be the Max of Total Customer Sales that are not equal to #1 Customer Summary through #9 Customer Summary. As the Customer Total Sales naturally fluctuates over time the relationship will change its order.
Then the final step is to create a formula field on your Customers table that is called Top Ten Customer ratings with a formula that says something like
This way all of your customers are now related to your new parent record and you can start setting up your fields. If you want a top ten for example you create a look up field that is the Max of the field Total Customer Sales, you then set that new summary field as a look up down onto the Customer table. Then when you make your #2 customer summary field and do the Max of Total Customer Sales that are not equal to your #1 Customer look up field and then rinse and repeat till you have 10 summary fields calling up Customer 1-10 and 9 look up fields that you are using in the summary field to help you find the next Max so your last Summary field will be the Max of Total Customer Sales that are not equal to #1 Customer Summary through #9 Customer Summary. As the Customer Total Sales naturally fluctuates over time the relationship will change its order.
Then the final step is to create a formula field on your Customers table that is called Top Ten Customer ratings with a formula that says something like
If([Total Customer Sales]=[#1 Customer Lookup], 1, If([Total Customer Sales]=[#2 Customer Lookup], 2, etc.Until you have your Customer 1-10 now rated by the formula and you set your Chart to show all customers who have a Rating of 1 or greater. It takes a decent amount of architecture that can long term have some possible considerations from a performance standpoint as a data set grows larger but it is possible and wouldn't require any outside scripting or third party services. It is something that you might want to test first in a testing app to make sure it works out the way you would like and to get familiar with the set up.
- QuickBase76 years agoQrew MemberHi. Maybe it's just me but having the ability to just list the top 'x' items in a report (tabular or chart) seems to be a very basic function and I'm surprised that QuickBase makes it so complicated. For example, at its simplest, one has a table with 100 customer records and values, say one of those being 'No of orders'. It would be good to show the top 5 customers based on No. of orders on a dashboard using simple coding for the regular user.
------------------------------
Quick Base
------------------------------