upd(docs): include chart docs into readme
This commit is contained in:
@@ -81,6 +81,191 @@ CRM module definitions
|
||||
|
||||
## Analyze data for chart
|
||||
|
||||
|
||||
|
||||
|
||||
# JSON for Charts
|
||||
|
||||
When the API generates a JSON like this we can generate charts (with some JS on the front-end). The Groupby, Sum and Count fields in the form in the chart module in the CRM are there to format the values in the data array.
|
||||
|
||||
## Example with no GroupBy, Sum or Count:
|
||||
|
||||
Example chart: select Opportunity value for all opportunities between 1/1/2018 and 31/12/2018 and show them in a line chart.
|
||||
|
||||
```
|
||||
{
|
||||
"kind": "line",
|
||||
"data": [
|
||||
[
|
||||
"Close date",
|
||||
"2018-01-01",
|
||||
"2018-01-02",
|
||||
"2018-01-03",
|
||||
"2018-01-04"
|
||||
],
|
||||
[
|
||||
"Opportunity value",
|
||||
30,
|
||||
200,
|
||||
100,
|
||||
400
|
||||
]
|
||||
],
|
||||
"fields": {
|
||||
"Close date": {
|
||||
"kind": "datetime",
|
||||
"min": "1/1/2018",
|
||||
"max": "31/12/2018"
|
||||
},
|
||||
"Opportunity value": {
|
||||
"name": "(Field name)",
|
||||
"kind": "(Field kind)"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Line chart",
|
||||
"description": "Description for the chart",
|
||||
"kind": "line",
|
||||
"module": 62511111111111110,
|
||||
"x": 62522222222222220,
|
||||
"xmin": "1/1/2018",
|
||||
"xmax": "31/12/2018",
|
||||
"y": 62533333333333336
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example with Count:
|
||||
|
||||
Example pie chart: select opportunity.state count by opportunity.state.
|
||||
|
||||
This will need to return:
|
||||
|
||||
Open, 10 (where the 10 is a count)
|
||||
Won, 5
|
||||
Lost, 2
|
||||
|
||||
```
|
||||
{
|
||||
"kind": "pie",
|
||||
"data": [
|
||||
[
|
||||
"Open",
|
||||
10
|
||||
],
|
||||
[
|
||||
"Won",
|
||||
5
|
||||
],
|
||||
[
|
||||
"Lost",
|
||||
2
|
||||
]
|
||||
],
|
||||
"fields": {
|
||||
"state": {
|
||||
"kind": "string"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Pie chart",
|
||||
"description": "",
|
||||
"kind": "pie",
|
||||
"module": 62511111111111110,
|
||||
"x": 62522222222222220,
|
||||
"y": 62533333333333336,
|
||||
"count": 62566666666666664
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example with Sum:
|
||||
|
||||
Example donut chart: select opportunity.type sum by opportunity.value.
|
||||
|
||||
This will need to return a sum of all the opportunies by type (very similar to count, but it sums instead of counts)
|
||||
|
||||
```
|
||||
{
|
||||
"kind": "donut",
|
||||
"data": [
|
||||
[
|
||||
"Open",
|
||||
120000
|
||||
],
|
||||
[
|
||||
"Won",
|
||||
1000000
|
||||
],
|
||||
[
|
||||
"Lost",
|
||||
30000
|
||||
]
|
||||
],
|
||||
"fields": {
|
||||
"type": {
|
||||
"kind": "string"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Donut chart",
|
||||
"description": "Description for the chart",
|
||||
"kind": "donut",
|
||||
"module": 62511111111111110,
|
||||
"x": 62522222222222220,
|
||||
"y": 62533333333333336,
|
||||
"sum": 62555555555555550
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Example with GroupBy and Count
|
||||
|
||||
Example bar chart with number of leads per country: select lead.country from leads Count lead.id GroupBy lead.country
|
||||
|
||||
```
|
||||
{
|
||||
"kind": "bar",
|
||||
"data": [
|
||||
[
|
||||
"France",
|
||||
12
|
||||
],
|
||||
[
|
||||
"Slovenia",
|
||||
10
|
||||
],
|
||||
[
|
||||
"Spain",
|
||||
3
|
||||
],
|
||||
[
|
||||
"United Kingdom",
|
||||
5
|
||||
],
|
||||
[
|
||||
"Germany",
|
||||
20
|
||||
]
|
||||
],
|
||||
"fields": {
|
||||
"country": {
|
||||
"kind": "string"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"name": "Bar chart",
|
||||
"description": "",
|
||||
"kind": "bar",
|
||||
"module": 62511111111111110,
|
||||
"x": 62522222222222220,
|
||||
"y": 62533333333333336,
|
||||
"groupby": 62544444444444450,
|
||||
"count": 62566666666666664
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Method
|
||||
|
||||
| URI | Protocol | Method | Authentication |
|
||||
|
||||
Reference in New Issue
Block a user