What does the dataValues array contain? Add in a console.log(dataValues);line in the code, open the page in Chrome, and see what gets output in the developer's console; post it here so I can test.
On Saturday, May 18, 2013 4:00:13 PM UTC-4, TheInnovator wrote: > > I am trying to crate a stacked bar chart using google charts. It's supposed > to look like this > http://jsfiddle.net/GTpgA/1/ > > Here's my code and i'm pulling data from a sharepoint list. After a lot of > debugging and alerts, the error is somewhere here but it all looks right to > me. > * > data.addRow('FY12',dataValues[0][1], null, null); > data.addRow('FY12',null, dataValues[0][2], dataValues[0][3]); > data.addRow(null,null,null,null); > data.addRow('FY13',dataValues[1][1], null, null); > data.addRow('FY13',null, dataValues[1][2], dataValues[1][3]); * > > Here's the full code..... > > > function buildPlannedActual(Charts) { > > var chartTitle = ""; > var projectName = ""; > var beginFY = ""; > var endFY = ""; > var LastFY = ""; > var LastFY = ""; > > // get max min values > var maxVAxis = 50; > var minVAxis = 0; > var step = 5; > var countVAxis = (maxVAxis - minVAxis) / step + 1; > > var dataValues = [ > ['FY 12', 0, 0, 0], > ['FY 13', 0, 0, 0] > ]; > > > var sourceType = getSource(Charts); > var varSource; > > switch (sourceType) { > case "SAC": > varSource = "SAC"; > break; > case "JAC": > varSource = "JAC"; > break; > case "RAC": > varSource = "RAC"; > break; > } > > $().SPServices({ > operation: "GetListItems", > listName: "ChartConfigValues", > async: false, > CAMLQuery: "<Query><Where><Eq><FieldRef Name='Charts' /><Value > Type='Lookup'>" + Charts + "</Value></Eq></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > alert("numRecords: "+numRecords); > if (numRecords > 0) { > $(xData.responseXML).SPFilterNode('z:row').each(function () { > projectName = formatStr($(this).attr("ows_ProjectName")); > var fiscalYear = > formatStr($(this).attr("ows_FiscalYear")); > chartTitle = $(this).attr("ows_Title") + fiscalYear; > var prevYear = fiscalYear - 1; > beginFY = prevYear + "-10-01"; > endFY = fiscalYear + "-09-30"; > LastFY = prevYear -1 + "-10-01"; > LastFY = fiscalYear -1 + "-09-30"; > }); > } > > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "StartingSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"PlannedDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>"+ projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"PlannedDate' /><Value Type='DateTime'>" + beginFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"PlannedDate' /><Value > Type='DateTime'>" + endFY + "</Value></Leq></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > alert("Planned: "+numRecords); > if (numRecords > 0) > { > // Loop through each item > > $(xData.responseXML).SPFilterNode('z:row').each(function() { > // Get Sum for Rc Projected Site Months > dataValues[0][1] ++; > }); > } > > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "CurrentSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"CertainDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>"+ projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"CertainDate' /><Value Type='DateTime'>" + beginFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"CertainDate' /><Value > Type='DateTime'>" + endFY + "</Value></Leq></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > if (numRecords > 0) > { > > $(xData.responseXML).SPFilterNode('z:row').each(function() { > dataValues[0][2] ++; > > }); > } > > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "CurrentSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"CertainDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>" + projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"CertainDate' /><Value Type='DateTime'>" + LastFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"CertainDate' /><Value > Type='DateTime'>" + LastFY + "</Value></Leq><And><IsNull><FieldRef > Name='"+varSource+"CertainDate' > /></IsNull></And></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > if (numRecords > 0) { > > $(xData.responseXML).SPFilterNode('z:row').each(function () { > dataValues[0][3] ++; > }); > } > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "StartingSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"PlannedDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>"+ projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"PlannedDate' /><Value Type='DateTime'>" + LastFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"PlannedDate' /><Value > Type='DateTime'>" + LastFY + "</Value></Leq></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > alert("Planned: "+numRecords); > if (numRecords > 0) > { > // Loop through each item > > $(xData.responseXML).SPFilterNode('z:row').each(function() { > dataValues[1][1] ++; > }); > } > > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "CurrentSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"CertainDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>"+ projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"CertainDate' /><Value Type='DateTime'>" + LastFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"CertainDate' /><Value > Type='DateTime'>" + LastFY + "</Value></Leq></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > if (numRecords > 0) > { > // Loop through each item > > $(xData.responseXML).SPFilterNode('z:row').each(function() { > > // Get Sum of Actual Site Months > dataValues[1][2] ++; > > }); > } > > } > }); > > $().SPServices({ > operation: "GetListItems", > async: false, > listName: "CurrentSites", > CAMLViewFields: "<ViewFields><FieldRef > Name='"+varSource+"CertainDate'></FieldRef></ViewFields>", > CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ProjectName' > /><Value Type='Lookup'>" + projectName + "</Value></Eq><And><Geq><FieldRef > Name='"+varSource+"CertainDate' /><Value Type='DateTime'>" + LastFY + > "</Value></Geq><Leq><FieldRef Name='"+varSource+"CertainDate' /><Value > Type='DateTime'>" + LastFY + "</Value></Leq><And><IsNull><FieldRef > Name='"+varSource+"CertainDate' > /></IsNull></And></And></And></Where></Query>", > completefunc: function (xData, Status) { > var numRecords = > parseInt($(xData.responseXML).SPFilterNode('rs:data').attr('ItemCount'), 10); > if (numRecords > 0) { > > $(xData.responseXML).SPFilterNode('z:row').each(function () { > dataValues[1][3] ++; > }); > } > } > }); > > // Initialize data object to hold chart data > var data = new google.visualization.DataTable(); > data.addColumn('string', 'Name'); > data.addColumn('number', 'Planned RIP'); > data.addColumn('number', 'Actual RIP'); > data.addColumn('number', 'Anticipated RIP'); > > //NOT TO SELF: CREATE QUERIES FOR FY13 ALSO > data.addRow('FY12',dataValues[0][1], null, null); > data.addRow('FY12',null, dataValues[0][2], dataValues[0][3]); > data.addRow{null,null,null,null); > data.addRow('FY13',dataValues[1][1], null, null); > data.addRow('FY13',null, dataValues[1][3], dataValues[1][3]); > > > /* $.each(dataValues, function (index, value) { > > > > data.addRow([dataValues[index][0], Number(dataValues[index][1]), > Number(dataValues[index][2]), Number(dataValues[index][3])]); > }); */ > > var options = { > title: chartTitle, > titleTextStyle: { color: 'black', fontName: '"Arial"', fontSize: '15' > }, > legend: { textStyle: { color: 'black', fontName: '"Arial"', fontSize: > '12' } }, > tooltip: { textStyle: { fontName: '"Arial"' } }, > colors: ["#FFFF00", "green", "blue", "#FF8000", "Red"], > backgroundColor: { > fill: '#D8D8D8', > strokeWidth: '0' > }, > vAxis: { > title: "Number of Sites", format: '#', > titleTextStyle: { color: 'black', fontName: '"Arial"', fontSize: > '16' }, > gridlines: { count: countVAxis, color: 'black' }, > minValue: minVAxis, > maxValue: maxVAxis > }, > hAxis: { title: "Month", titleTextStyle: { color: 'black', fontName: > '"Arial"', fontSize: '16' } }, > seriesType: "bars", > isStacked: true, > }; > var chart = new > google.visualization.ComboChart(document.getElementById(Charts)); > chart.draw(data, options); > > } > > -- You received this message because you are subscribed to the Google Groups "Google Visualization API" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-visualization-api?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
