SharePoint List
The SharePoint List tab allows you to define a SharePoint list or library of any site or even site collection in the current web application as the data source of a chart. If you need to use an alternative data source e.g. an external web service or static data, you should clear the site URL by clicking the Remove link:
If you use SharePoint data as a data source, you should specify site URL, choose a list and its view:
Note: If you modify the selected view later, the chart will not change because the chart builder copies the CAML-query of the selected view.
Next, you should pick fields which you’re going to use in your chart:
Note: To improve performance, pick only those fields that are required to build the chart.
The Root property is used to specify the server relative URL of a list folder from which results will be returned. Leave it empty to retrieve data from the root folder of the specified list.
The Rows property is used to specify the number of list items which will be returned.
Note: Do not specify more than 5000 items to ensure optimal performance.
The CAML Query section allows you to modify CAML-query that will be used by the chart builder to retrieve data for a chart. Here you can filter data by the current user or date, combine multiple lists by using JOIN clauses, or specify tokens and replace them with dynamic values with JavaScript in requestInit handler.
Example:
<View> <Query> <OrderBy> <FieldRef Name="ID" /> </OrderBy> </Query> <ViewFields> <FieldRef Name="LinkTitle" /> <FieldRef Name="Amount" /> <FieldRef Name="Product_x003a_Category" /> <FieldRef Name="Country" /> </ViewFields> <ProjectedFields> <Field Name="Country" Type="Lookup" List="Customers" ShowField="Country" /> </ProjectedFields> <Joins> <Join Type="INNER" ListAlias="Orders"> <Eq> <FieldRef Name="Order0" RefType="Id" /> <FieldRef List="Orders" Name="ID" /> </Eq> </Join> <Join Type="INNER" ListAlias="Customers"> <Eq> <FieldRef List="Orders" Name="Customer" RefType="Id" /> <FieldRef List="Customers" Name="ID" /> </Eq> </Join> </Joins> <RowLimit Paged="TRUE">1000</RowLimit> </View>
Note: If you retrieve data from joined lists, you should specify additional columns in init handler on the Advanced tab:
handlers.init = function(data, logger, processor, el, model) { // adding Category field to model model.fields.push('Country'); return true; }