Returns maintenance KPI summary grouped by asset. When assetId is an area/site, includes every
descendant asset's KPIs as separate rows rather than requiring a specific leaf asset.

---
### Parameters
**paramsDict** `Dictionary`<br />
<table class='dictionaryKeyTable'>
	<tbody>
 	<tr><td> - assetId</td><td>Integer</td><td>Not required  restricts to this asset and its descendants</td></tr>	
 	<tr><td> - endDate</td><td>DateTime</td><td>End date</td></tr>	
 	<tr><td> - startDate</td><td>DateTime</td><td>Start date</td></tr>	
	</tbody>
</table>

---
### Returns
**kpiByAsset** `pyDataset`<br />

---
### Example
```python
# Compare maintenance KPIs across all assets for the current month
paramsDict = {
				'startDate': system.date.addDays(system.date.now(), -90),
				'endDate': system.date.now()
			}
data = system.kanoa.utilities.convertDatasetToJSON(system.kanoa.cmms.getMaintenanceKPIByAsset(paramsDict))

for i, row in enumerate(data):
	print 'Row %i'%i
	for k,v in row.items():
		print k,v
	
	break
>>> 
Row 0
MTTA_Minutes 0.0
workOrderCount 20
MeanWait_Minutes 0.0
completedCount 0
MeanCycleTime_Minutes None
assetId 901
assetPath Kanoa Box Co\Box Plant\Packaging\Box Line 1
assetName Box Line 1
MTTR_Minutes None
openCount 20
>>> 
```
