If you need to create reports for CRM Online you need FetchXML. Here is a sample of some FetchXML code that aggregates data.
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false" aggregate="true">
<entity name="phonecall">
<attribute name="modifiedon" groupby="true" alias="modifiedon" dategrouping="day"/>
<attribute name="statecode" groupby="true" alias="statecode"/>
<attribute name="statuscode" groupby="true" alias="statuscode"/>
<attribute name="activityid" aggregate="count" alias="counter"/>
<filter type="and">
<condition attribute="modifiedon" operator="on-or-after" value="2016-12-01" />
</filter>
</entity>
</fetch>
In this case we are totaling the status and state code of phone calls that were updated on or after 12/1/2016.
Normally FetchXML is extracted directly from CRM's Advanced Find, but aggregating data is not.
Note that if you have more than 500 records and want results in BIDS you will need the COUNT="50000" clause to the <fetch> line. If there are more than 50000 records in the data set you will have to upload the report to CRM Online for it to work.