2012-11-29 17 views
5

यह सुनिश्चित नहीं है कि यह संभव है या नहीं। मेरे उदाहरण में मैं जेसन को स्रोत के रूप में उपयोग कर रहा हूं लेकिन यह कोई आकार हो सकता है। fiddle पर मेरे उदाहरण में मैं इस डेटा का उपयोग केवल दो कॉलम उत्पादफैमिली (xAxis) और वैल्यू (वाईएक्सिस) को बाध्य करके साझा किए गए फैशन में करूँगा लेकिन मैं कुल योग का उपयोग करके कॉलम को समूहबद्ध करने में सक्षम होना चाहता हूं।केंडो यूआई बार चार्ट डेटा ग्रुपिंग

इस उदाहरण में समूह के बिना यह परिवार ए के लिए कई कॉलम दिखाता है। क्या इसे एक कॉलम में समूहीकृत किया जा सकता है और डेटा की मात्रा के बावजूद समेकित मूल्य?

तो परिणाम परिवार 48 के मूल्य 4850 + 4860 = 9710 आदि के लिए एक कॉलम दिखाएगा?

ऑनलाइन सभी उदाहरणों के साथ एक समस्या यह है कि प्रत्येक श्रेणी के लिए हमेशा सही मात्रा में डेटा होता है। यकीन नहीं है कि यह समझ में आता है?

http://jsfiddle.net/jqIndy/ZPUr4/3/

//Sample data (see fiddle for complete sample) 
[{ 
     "Client":"", 
     "Date":"2011-06-01", 
     "ProductNumber":"5K190", 
     "ProductName":"CABLE USB", 
     "ProductFamily":"FamilyC", 
     "Status":"OPEN", 
     "Units":5000, 
     "Value":5150.0, 
     "ShippedToDestination":"CHINA" 
}] 


var productDataSource = new kendo.data.DataSource({ 
    data: dr, 
    //group: { 
    // field: "ProductFamily", 
    //}, 
    sort: { 
    field: "ProductFamily", 
    dir: "asc" 
    }, 
    //aggregate: [ 
    //  { field: "Value", aggregate: "sum" } 
    //], 
    //schema: { 
    // model: { 
    // fields: { 
    //  ProductFamily: { type: "string" }, 
    //  Value: { type: "number" }, 
    // } 
    // } 
    //} 
      }) 

$("#product-family-chart").kendoChart({ 
     dataSource: productDataSource, 
     //autoBind: false, 
     title: { 
      text: "Product Family (past 12 months)" 
     }, 
     seriesDefaults: { 
      overlay: { 
      gradient: "none" 
      }, 
      markers: { 
      visible: false 
      }, 
      majorTickSize: 0, 
      opacity: .8 
     }, 
     series: [{ 
      type: "column", 
      field: "Value" 
     }], 
     valueAxis: { 
      line: { 
      visible: false 
      }, 
      labels: { 
      format: "${0}", 
      skip: 2, 
      step: 2, 
      color: "#727f8e" 
      } 
     }, 
     categoryAxis: { 
      field: "ProductFamily" 
     }, 
     legend: { 
      visible: false 
     }, 
     tooltip: { 
      visible: true, 
      format: "Value: ${0:N0}" 
     } 
     });​ 
+0

मैं एक डैशबोर्ड बनाने की कोशिश कर रहा हूं जिसमें बहुत सारे ग्राफ होंगे और इस परम प्रतिक्रिया देने के लिए मैंने सोचा कि एक बड़ी जेसन फ़ाइल बनाने के लिए यह सबसे अच्छा है, लेकिन ऐसा लगता है कि यह दृष्टिकोण संभव नहीं है। यह फ़ाइल तब सभी ग्राफों के बीच साझा की जा सकती है लेकिन प्रत्येक ग्राफ की संरचना इतनी अलग है कि मुझे प्रत्येक ग्राफ के लिए एक जेसन फ़ाइल बनाना होगा। – jqIndy

+0

यह आपकी मदद कर सकता है http://jsfiddle.net/v8tsQ/42/ – SimonGates

+0

इस के साथ समस्या यह है कि यदि आपके पास उसी तिमाही के लिए उसी कंपनी के लिए जेसन में एक और आइटम था तो यह बार पर एक अतिरिक्त कॉलम के रूप में प्रदर्शित होगा चार्ट। मैं इस कुल को मौजूदा 2011Q2 में कैसे जोड़ सकता हूं ताकि यह अभी भी कुल 1 + 145 = 146 के साथ केवल 1 कॉल प्रदर्शित कर सके? { "CompanyId": 201, "GROUPNAME": "नक्षत्र", "SectionName": "CCLF", "FindingQuarter": "2011Q2", "DataElement": "कुल", "DataValue" : "", "कुल": 145 }, – jqIndy

उत्तर

2

केंडो यूआई चार्ट समूह समुच्चय को बाध्यकारी समर्थन नहीं करता। कम से कम अब तक नहीं।

  1. , कुल परिभाषा ले जाएँ तो यह समूह प्रति गणना:

    मेरे सुझाव है

    group: { 
        field: "ProductFamily", 
        aggregates: [ { 
         field: "Value", 
         aggregate: "sum" 
        }] 
    } 
    
  2. परिवर्तन हैंडलर में एकत्रित मूल्यों निकालें:

    var view = products.view(); 
    var families = $.map(view, function(v) { 
        return v.value; 
    }); 
    var values = $.map(view, function(v) { 
        return v.aggregates.Value.sum; 
    }); 
    
  3. समूह और श्रेणियों को मैन्युअल रूप से बाध्य करें:

    series: [ { 
        type: "column", 
        data: values 
    }], 
    categoryAxis: { 
        categories: families 
    } 
    

कार्य डेमो यहां पाया जा सकता: http://jsbin.com/ofuduy/5/edit

मुझे आशा है कि इस मदद करता है।

+0

यह शानदार है। बहुत बहुत धन्यवाद! – jqIndy

संबंधित मुद्दे