You are a Microsoft .Net developer. You use Entity Framework (or any other IQueryable provider) to query your data. You need AdaptiveLINQ!
AdaptiveLINQ is the smarter solution to expose analysis query by OData protocol. And it doesn't need SQL Server Analysis Services or any other expensive OLAP technology. In a few lines of code build a data delivery service performer as a BI engine.
The .QueryByCube()
extension method provided by AdaptiveLINQ will allow you to build analysis query as easily as any other LINQ method.
For example, the query sales per customer will be written as following:
myDataSet.QueryByCube(mySalesCube).Select(item => new { Customer = item.Customer, Sales = item.TotalSales });
The query sales per customer and product category will be written as following:
myDataSet.QueryByCube(mySalesCube).Select(item => new { Customer = item.Customer, Category = item.ProductCategory Sales = item.TotalSales });
Combining AdaptiveLINQ with Microsoft WCF Data Services or ASP.Net WebAPI, you will be able to expose your data as queryable over HTTP.
Any OData client can query sales per customer using this simple HTTP request:
http://mydomain/myService.svc/Sales?$select=Customer,Sales
And sales per customer and product category will be written:
http://mydomain/myService.svc/Sales?$select=Customer,Category,Sales
Now you can create dashboard on any client technology implementing OData!