Getting API data into Excel - excel

I need to give power-users of the web application I am working on the ability to create their own reports, analysis, etc. in Excel. Basically they need to create some Excel sheets, read some data from the web app and than mix the result with further data coming from other data sources.
The web application already exposes data in JSON/XML format through a web api (not fully REST but this doens't matter) and I would use this channel to get data in Excel.
At the moment I have these three options in my mind:
In the past I've solved a request like this with some VBA code and a COM object (that talked with the server/database) but I am not sure if today this is still the best solution to do this kind of job.
I have learned that today Excel has PowerPivot that can read data from a web service. I could develop an oData feed for PowerPivot but I am not sure if PowerPivot is what power-users need
Another solution could bean ad-hoc Excel add-in
How would you solve a request like this?

Power Query would be a better option than Power Pivot here. Power Pivot is a dimensional modeling and analytical database (it is exactly a private instance of SSAS Tabular running behind the Excel process).
Power Query is an end-user friendly ETL tool, developed as an add-in for Excel, and available natively as of Office 2016. It allows loading directly to an Excel worksheet or into a Power Pivot model. It will give more flexibility to your end users. It is a GUI-driven interface that is a front-end to the M query language, developed by Microsoft.
Unfortunately, I am not able to help with Power Query too much, but it fits your use case perfectly.
Edit: An additional feature of Power Query, likely not to meet your needs, but I thought I'd throw in.
Power Query can read directly from HTML tables. If you present data in HTML tables, your end users can simply load directly from a URL.

Power Query definitely the "correct" tool for this within Microsoft world. It can also handle JSON and XML (and Odata) directly. How well it manages your data will depend a bit on how nicely formatted it is, but it can work with most things with a little bit of effort.
It is a free Microsoft authored add-in for pre Excel 2016 and built in to Excel 2016.

Related

Excel Mobile Data Entry Form

I am trying to create a data entry "app" to collect daily readings across our site. Here are the three biggest constraints:
Software - ideally, we would use some software within the Microsoft 365 Suite, mainly because those are the only approved apps on site. It may be possible to use open source software, but that might raise some flags in terms of security. So my thoughts are to use either Excel or Access.
Cost - ideally, we do not want purchase any additional software licenses. I would try and create something with Power Apps, but we do not have the licensing for an Azure or SQL server to store the data. I could be missing something here though.
Mobile-Friendly - finally, it needs to work on an Android tablet. Currently, we collect readings using pen and paper. The whole idea of this is to move towards using a tablet.
The easiest approach would be to create an Excel spreadsheet, save it on OneDrive, and edit the spreadsheet. I don't love this option because we are collecting 100's of data points each day. This would end up with a very wide spreadsheet that will be cumbersome to navigate.
The other option I looked into was creating an Access database and accompanying form and storing it on SharePoint. However, it seems Microsoft has stopped supporting Access databases on SharePoint.
I have created data entry forms using VBA, similar to this, but these do not work on mobile.
Is it possible to create a data entry form in Excel that also works on the Android version of Excel? Are there other alternatives I am not thinking of?
I am engaged in just this kind of project also. I have written an app in PowerApps, built an Excel spreadsheet and stored it in OneDrive, and am running it (the app) on an iPad. The design differs somewhat from your description of directly presenting a spreadsheet to the user (which I think PowerApps could do) because I don't want users having direct access to the data.
Edit: You do not need Azure or SQL, unless you are storing tons of data. Excel can be a satisfactory data storage location for modest uses.
I found the learning curve for PowerApps to be quite steep, as it's a different paradigm than line-by-line coding.
I think this is a more user friendly way to collect data than trying to run an Excel form, and once you get it made and polished, you'll look like a pro :)
I am by no means an expert but if you need some tips I'll do what I can to help. It sounds like we are at similar developmental stages.
Is it possible to create a data entry form in Excel that also works on the Android version of Excel? Are there other alternatives I am not thinking of?
Microsoft Forms does the job when created from OneDrive on mobile browser. Side note: the form I just created and the response I submitted have now disappeared from my OneDrive.
I also saw some people using Power Automate to save responses from a form into an Excel file (every reponse).

Using Sharepoint Office 365 to display data

I am completely new Office 365 (and SharePoint) but have been asked to create a site that will display a range of data in the form of graphs and tables etc The data will change daily and therefore it must be possible for members of the team to enter new raw data, for the results to then be displayed through Office 365.
I realise this might sound a little vague but my initial thoughts are that SharePoint is what I should use to display the data and to have a SQL backend database that stores the data for SharePoint to connect to. Having done some reading on the topic and I am still a little unsure if this is common practice or even possible.
Any inital pointers would be greatly appreciated.
This can be done with Power BI. The data sources can by almost anything, SQL, spreadsheets, online sources, you name it. Create queries to get the data, model it (if required) and build reports and dashboards that display in a browser (or on a phone).

Is it Possible to update SQL server data using Excel Power query?

I just recently realise, while using Excel, it lacks on features for being able to update SQL server data through their worksheet.
I have tried using Data-->From other sources--> SQL Server data; that works like a charm but as it has limited ability (View and only get the latest data but not update).
I don’t know if this is done purposely by Microsoft as a money making schemes.
But through my research today, I also came across PowerQuery, and It seems to do pretty much what Data add-in did escape it has few new extra features and sounds pretty advance, therefore, I was wondering if this add-in has the ability to update SQL server data using excel sheet, if so can you guys advise me to the right direction:
I came across lots of commercials products that did the job but frankly speaking, I cannot afford it.
The best solution for in this space that I've seen is the Master Data Services component included in SQL Server (Business Intelligence or Enterprise Edition). This includes an nice Excel Add-In for maintaining data, a Web UI and SQL Views and Staging Tables for data integration.
It doesn't have any direct integration with Power Query, but I would let PQ dump data into Excel Tables, then copy and paste the data into Excel tables using the MDS Add-In.

How publish changes to OData feed from Excel

I've created an IUpdateable ODATA feed using WCF which I can connect to using Excel 2010 Power Query. Excel is able to retrieve data but I cannot find a 'publish' button or anyway to tell Excel to push updates back to the server.
Does Excel / Power Query support ODATA CRUD functions out of the box?
Is there another tool I could use to update data without writting code?
Power Query supports reading from data sources, but we don't support Create/Update/Delete.
I agree with you--it would be awesome to publish data from Excel without having to write any code!
If you think this is something Power Query should have, I'd go to https://ideas.powerbi.com and vote up the feature (you might be the first with the idea).
Edit(2019): Looks like several people have upvoted this one: https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/12251397-q-a-can-you-perform-crud-operations-with-powerquer

SSAS-like manipulation of data in excel, without SSAS

I have provided users with a view of a large data set through Sql Server Analysis Services, and they find it very easy and intuitive to manipulate.
However, I am now being asked to provide them with access to smaller and smaller data sets, for which Analysis Services is not a great fit. The reason is that they like the ease of manipulation of the data, and it's pretty flexible in it's presentation of the data.
Also, many of the data sets are available to retrieve via a REST API, in a tabular form, which I'd prefer to use rather than providing database access.
Can anyone recommend any tools or libraries (ideally open source) which:
provide an SSAS-like interface for building up a pivot table (with attributes grouped together rather than in a flat list)
can retrieve their data from a web service rather than a traditional DB?
(NB I thought about trying powerpivot, but I'm not really sure what I'd be getting myself into, so if anyone has any experience of using this I'd be interested to hear)
Powerpivot is an excel plugin for excel 2010 that uses the vertipaq engine. It has a language called DAX that is very similar to MDX,
more information can be found here
If you wish to use PowerPivot, you have three options:
1) Use PowerPivot from within Excel (it's a free add-in - be sure to install the edition that matches the edition of Excel you have, i.e. 2007 or 2010 and 32-bit or 64-bit). You are using the resources of the client machine in this configuration.
2) Use PowerPivot for SharePoint - this requires SPS 2010 Enterprise. It allows you to host (render) the PowerPivot workbook using resources from the SPS server.
3) Use SQL Server 2012 SSAS installed in Tabular mode (to build a BISM). BI Semantic Models are PowerPivot models which are hosted on a SQL Server instance. This requires a full SQL Server licence, so it's certainly not cheap. However, here you have the greatest flexibility for resources, as you can use (control/monitor) the resouces of your server.
For more information see my deck on the BISM on SlideShare.

Resources