How to develop a connection for Power BI service to large AWS MySQL? - mysql

I recently discovered Power BI as part of our Office 365 subscription so am very new to it.
We have a MySQL database with about 5 million rows in AWS. I want to add this as a data source to our Office 365/Power BI service.
How to do this?
I see there is no content pack service that allows me to do this.
According to this SO question and answer, there is no direct way to do this: How to connect POWER BI web with AW mysql database?.
I also looked at using a Power BI Gateway to achieve this. There are two types: Personal and On-Premises. We don't have any Windows Servers, so this leaves the Personal option: https://powerbi.microsoft.com/en-us/documentation/powerbi-personal-gateway/
For Personal, the documentation at that link says "A personal gateway is not required in order to refresh datasets that get data only from an online data source" which is a little confusing given that this seems to be the only option for connecting to my online data source (maybe this document meant to say "from a supported online data source"?). It seems that I install this on a local machine in our office, connect to my AWS MySQL database, query/model on my desktop, then upload my results to our Power BI Service for the rest of our company to access. I schedule refreshes using the Personal Gateway. Is this correct? I hope this does not involve the transfer of millions of rows to/from desktop and/or Power BI Service?
p.s. I also considered developing something similar to the content packs that are provided for GitHub, Google Analytics, MailChimp, etc but there doesn't seem to be a "private" way to do these. Doing it this way seems to involve becoming a Certified Azure Developer (even though there is no Azure in this problem) and then making the solution public (which I obviously don't want to do): https://azure.microsoft.com/marketplace/programs/certified/apply/. If there is a way to develop my own "private" solution without the certification and publication process, I would consider that.

I would tackle this through Power BI Desktop. You will need a windows machine to install this on, and it will need the MySQL Connectors installed, ref:
https://stackoverflow.com/a/32746679/1787137
Then I would develop and publish your queries, datasets and reports using PBI Desktop.
Finally I would configure PBI Personal Gateway to schedule refresh of the published report datasets.
5m rows is not trivial but quite possible in this scenario. You will likely only need a selection of your tables and columns, that have analytical value.

Related

Dynamic Report creation

I hope someone here can help.
I have a requirement from my client who is an ISV. They want to develop a solution whereby they want to offer their customer an ability to create any reports from the customer specific database.
What I mean is, we publish the dataset on a portal the customer can then drag and drop the tables they needed, create the joins to create the required report.
Is it possible to do this in PowerBi or SQL Server Reporting service?
Many Thanks
Service Content Pack
It is possible in Power BI by developing an online service content pack. This allows online services to give their customers insight into their own data via the PowerBI.com cloud service. The ISV pre-builds the data model (and some initial charts); the end user doesn't have to worry about joins at all. They can drag & drop the fields that the ISV makes available.
There are some base requirements (it has to be a SaaS application that has an API accessible via the public internet).
More information: https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-content-pack-overview/
Embedding
If the ISV is building their own portal, they can embed SSRS reports on their own website (and use parameters that pass the customer ID from the website directly to each report). This looks like a good place to start: https://learn.microsoft.com/en-us/sql/reporting-services/application-integration/integrating-reporting-services-into-applications. One downside to this solution is that SSRS doesn't allow the end-user to change the reports themselves (no dragging or dropping fields).
You can also embed Power BI reports onto an externally facing website. More information here: https://powerbi.microsoft.com/en-us/power-bi-embedded/
There may be other solutions, such as tools that allow external access directly into SSAS, but I've limited the scope of my response to the two tools you've asked about (SSRS and Power BI).

Internet synchronization for Access 2000 using Windows Server 2008 and IIS 7.5

I am using Access2000 and Developer Tools, JRO for internet synch, RepMan 4, and was using Win Server 2003 (dedicated server). Just upgraded to Win Server 2008 and have been trying to get Internet synch operational, but with no luck. Here's my problem: I see that MS is urging/forcing subscriptions to SharePoint2010 for internet synchs, however I am not sure that their new platform is as useful to me as their old. Each company I distribute to will run a runtime version of my access application at multiple locations(could be 1 location per company, could be 100). They need to be able to direct synch within each location via LAN (anywhere from 2 to 20 computers). They do not always have an Internet connection (they are at sea), and when they do, it's by satellite and transmission costs are high. And so occasionally they will connect with one computer and perform Internet Replication to send data to home office(could be daily, weekly, or monthly). My current means of synching via JRO is very simple. After attaining an Internet connection, just open a form and either click the synch LAN button or the synch Internet button. Also, by not utilizing automatic synchs, we avoid corrupting other replicas when one is bad or a user has deleted massive amounts of data inadvertently (since deletes always win).
I feel that eventually I will have to update to Access2010 just to keep abreast on new developments in MS (i.e. new .PDF reports instead of .SNP). I recently purchased Office 2010 Pro in order to begin looking into this, but of course this will take some time to work thru.
Here are my questions:
Will SharePoint2010 allow for only one subscription per remote location to handle synchronization back to main office, or would every replica that performs a direct synch at the remote office be required to maintain a Sharepoint2010 subscription?
Can I still use JRO to complete direct synchs among replicas at a remote location and within the home office, and therefore only use Sharepoint 2010 to pass those updates via Internet to the home office.
Will Sharepoint 2010 Enterprise allow me to host multiple company databases in one central account (similar to RepMan4), or must I set up a separate account for each of my customers? If so, do I need to purchase a copy of Sharepoint 2010 for each of these customers?
Will Sharepoint 2010 handle basic data replication and/or design updates in a similar manner to my current set-up? Will I be able to utilize my custom conflict manager?
Also- do you have any info whether Internet synchronizations are indeed capable utilizing Access2000 viaIIS 7.5 on Windows Server 2008 with RepMan4? I have not found anyone who has accomplished this – latest suggestion is that maybe IIS needs to be run in a 32-bit environment in order to open the synchronizer, but I have not yet tried this.
My company makes a product called [EQL OnWeb - link deleted] which is designed for exactly your use case. It works with getting Access 2000 databases on the web without rewriting them first, and there's a free trial so you can see if you like it.
I won't comment in detail on SharePoint 2010 because clearly I'm biased... but I like our product better :)

Looking for a Reporting Solution and Need Advice

The company I work for is looking for a reporting solution with the following requirements:
Must be able to generate a set of reports nightly.
Must give the client the ability to create reports dynamically.
Must have robust export features.
Must have a viewer that can be displayed within a web application.
The company is looking at utilizing Crystal Reports and/or SSRS. Our company is mainly .NET developers using VS2k8 and SQL Server 2k8.
What are some of your experiences with each product and which one do you think would meet our requirements? It seems both products offer the requirements I mentioned, but they both feel robust in different areas.
If you plan on using .net and sql server why bother with Crystal Reports? It is definately the wrong route to take. Take advantage of Reporting Services as it is very very very easy to use, setup, and deploy.
The web placeholder for hte reports has automatic export to excel, pdf, rtf, html, etc.
It is very robust and a very clean intuitive tool. The use of stored procedures within datasets makes it all the better.
We initially went the CR route and it was nothing but trouble and not as easy to build and deploy simple reports. We moved to RS and it is night and day...
From my own personal experience, SSRS is much simpler to set up and use - it also seems to be the way MS are going. In addition to that, if you're already using MS SQL server, you have no further license costs.
I haven't used the SSRS report builder heavily, but it certainly allows the creation of relatively simple reports by (somewhat skilled) end users.
EDIT: Should note that my personal experience of crystal reports has been akin to repeatedly shooting myself in the foot...
One downside to both Crystal Reports and SSRS is that report-viewer controls have COM dependencies. Moreover, much of the BusinessObjects .Net SDK has COM dependencies. Probably not a big deal if you plan to host the site internally, but worth mentioning.
I had a client whose hosting division wouldn't allow for COM installations on the shared server. Fortunately, I was able to use the BusinessObjects WebServices SDK in combination with BusinessObjects OpenDocument URL SDK to build a custom interface to BusinessObjects Enterprise.
Hope this helps.
Crystal and Reporting Services are both similarly capable tools despite what people say. Each tool can do most of what the other can with each one having particular areas in which it excels.
However, rather than installing Crystal you can try installing Reporting Services and just set fire to piles upon piles of used bank notes - the end result will be the same.

Any tools availabe to display Microsoft Access reports on the web?

We're looking for an easy way to display Access reports on the web. These reports have been written and viewed internally for years. They are not simple tables, but more complex charts and graphs. But, now people outside the organization need to see them. All of the data is in access. And, except for reporting everything else is working fine.
We have a web server that has permissions to see the Access database. However, the Access database server cannot be the webserver itself. So, the question is how do we view these reports on the web? This excellent solution, which I reference in case it helps others, (https://web.archive.org/web/20211020135306/https://www.4guysfromrolla.com/webtech/042600-1.shtml) does not apply, as it requires you to be on a company intranet . (Although, it may be possible to implement the solution outside of an intranet, so many security holes would be opened up that the developer leading this project would surely be fired.) If possible, we also do not want a solution that expects every client to install code, for example, the access runtime.
Is there a tool that can read the
access reports when requested? OR
Is there a tool that can upload the
data from the Access database on a
periodic basis and based on the last
retrieved data - it can display the
report that was written in access?
Other solutions ...
Thanks!
print the reports to pdf and then copy the pdf files to the webserver
Options:
output to PDF.
output to Access snapshot format and force users to use the snapshot viewer.
wait for Access 2010 with Sharepoint 2010 and Access Services and you're home free (as long as you can rewrite your reports to be full web reports, i.e., not VBA and only using the capabilities of web reports in A2010).
We deliver an Access app (and reports therefore) over a Terminal Server as a WebApp.

SQL Server reporting services..Best advise for integrating with other technologies?

I'm looking to implement SQL Server Reporting Services as our standard reporting platform in our company. We were trialing Crystal Reports, but alas it seems to be plagued by issues.
SQL Server Reporting Services looks to be a great product, but I have a concern or two.
I have some existing web apps in ColdFusion, and the backend is in MySQL. If I move forward with SQL Server Reporting Services, how should I set up my environment? Is there a JDBC connector or is ODBC the only way to talk to this?
How does it integrate for the user? Will I need to re-authenticate the user to view the reports? Will I need to put a link in ColdFusion to link to the Reporting Services system? Is there a way to make it seamless for the user?
Should I port all the backend to SQL Server to fully leverage the SQL Server platform? Should I convert my existing apps to ASP.NET, and make the entire platform SQL Server / ASP.NET?
It's not too bad in the fact that the existing apps / MySQL aren't of a size that is too big to port. So I guess just looking for some best practice advise to see if its okay to use the reporting services component on its own, or if I'm much better to consolidate everything into a Microsoft solution.
I think it'll be easier than you think!
Reporting Services will happily pull reports from any OLEDB or ODBC source, and MySQL has ODBC drivers, so there's no problem getting at your data through an SSRS report.
You can set up the authentication in a number of ways. If your users are already authenticated in your Windows domain, this will be easier:
SSRS needs to know who is viewing the report. It will allow anonymous viewing (if you enable it; it's off by default), but if you're using IE and are logged in to the same domain as the IIS server, it's completely transparent
SSRS can then use this identity to connect to the data source, or it can use another identity. This is configurable per report or per data source.
One thing you could do is embed your reports within iframes in your coldfusion pages. This would make the whole thing seamless. The reports are accessible by sending an appropriately formed URL to the server, so it's quite flexible.
As for changing everything to ASP.NET, you'll really only get benefits from that if you ever need to write (and integrate with) your own code to manage the reporting server, or write custom extensions (data providers, delivery extensions and the like), but in my experience this is so rare as to be not worth considering. Go with what you have for now.