I have a data table with number of car sales in the last 3 years. I want to create a line chart showing sales trend over a given year. I need a select element that will allow users to filter sales by year.
My table is has many columns including one for sale date (column 0):
var dataTableSales = google.visualization.arrayToDataTable([
['Sale Date', 'Sale Type'],
[new Date(2016, 0, 16), 'cash sale'],
[new Date(2016, 0, 16), 'cash sale'],
[new Date(2016, 0, 16), 'leased'],
[new Date(2016, 0, 16), 'leased'],
[new Date(2016, 0, 16), 'financed'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'cash sale'],
[new Date(2017, 0, 16), 'financed'],
[new Date(2016, 0, 17), 'cash sale'],
[new Date(2016, 0, 17), 'financed'],
[new Date(2016, 0, 17), 'cash sale'],
[new Date(2016, 0, 17), 'leased'],
[new Date(2016, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2017, 0, 17), 'cash sale'],
[new Date(2017, 0, 17), 'financed'],
[new Date(2016, 0, 18), 'leased'],
[new Date(2016, 0, 18), 'cash sale'],
[new Date(2017, 0, 18), 'cash sale'],
[new Date(2017, 0, 18), 'cash sale']
]);
So far I have:
var datePicker = new google.visualization.ControlWrapper( {
'controlType': 'CategoryFilter',
'containerId': 'categoryFilter_div',
'options': {
'filterColumnIndex': 0,
'ui': {
'labelStacking': 'vertical',
'label': 'Year:',
'allowTyping': false,
'allowMultiple': false
}
}
} );
// Create a line chart, passing some options
var lineChart = new google.visualization.ChartWrapper({
'chartType': 'LineChart',
'containerId': 'chart_div',
'options': {
'width': 720,
'height': 300
}
} );
dashboard.bind( datePicker, lineChart );
dashboard.draw( gDataTableSales );
The datePicker get populated with the sale dates but I need the year. Also, the line chart doesn't render - I get an error: All series on a given axis must be of the same data type. Any pointers to a solution would be appreciated.
gDataTableSales- WhiteHat