Dynamic Report creation - sql-server-2008

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).

Related

Sharepoint and Database interaction, what should I do?

I've developped a MySQL database containing informations about different documents and products. Now I have to create a user interface which has to be integrated in a sharepoint. As I'm new to sharepoint, I am a bit lost and I don't know what I should choose (developping a Web Application on visual studio which will be hosted on Sharepoint, developping a WebPart...etc I have no idea of what to do).
So my question is : What's the best option to develop this user interface on Sharepoint ?
Thanks
You can go different ways:
Push data from your MySQL database to SharePoint list periodically or event-based.
In this case you already have UI interface of SharePoint list view. If out-of-box UI not enough then you can create your own using javascript or by creating your own web part or by creating SharePoint add-in.
You can do it many ways:
1.1. C# console app (create with Visual Studio). Console app will connect to your SQL database and create list items in SharePoint list. You can schedule this console in Windows Task Scheduler.
1.2. Another periodically running code that external to your database. May be PowerShell script, SharePoint timerjob, Windows service, SharePoint workflow or something else. This code will connect to database and push data to SharePoint list.
1.3. I don't know how you fill your database but in your logic you can add logic to also create SharePoint list item in list when you add record to database.
It is event-based logic.
Get all data from your database in SharePoint on page load each time.
Add some web part to SharePoint that get data from your database on page load (you can mix some parts below to get intented behavior):
2.1. Create your own Visual Web Part in Visual Studio. Deploy solution with web part to SharePoint. Add web part to any page in SharePoint.
This web part will get data from your database on page load.
2.2. You can create web service hosted anywhere (SharePoint, another place) that return data from your database.
Create javascript logic that call this web service to get data and render data.
Add this javascript logic in Content Editor or Script Editor web part in SharePoint. CE and SE web parts is out-of-box web parts, you don't need to develop this.
2.3. Create SharePoint add-in that will get data from web service.
2.4. etc ....
May be I can suggest other options if you specify more precise requirements to implementation.
Just say how you see it in your imagination and I can suggest ways how to implement it.
Describe how it must be from user experience. Like 'I see page where I have three green buttons, color highlighted rows, auto-calculated field and so on and so on. I click button and get following result... ". Describe your expected user experience.
About trends - javascript rules now. In SharePoint Online you cannot create server code solutions hosted in SharePoint.
Best solution to use javascript to not change many things on migration to different version of SharePoint.

Where can I find utilities for SSRS Report Portal 2016

I am looking for utilities/code that has been developed to make the SSRS Report Portal 2016 user friendly/simpler for users that have zero technical background — interested in anyone who has developed an ordinary-language interface that can be configured for domain specific (schools, in this case) purposes.
The users need to be able to access the Portal, select a Template from a Library, and configure it to meet their own own needs — without having to understand any of the technical issues, or write any code. Eg. the Templates will contain auto-populated dropdown menus that allow the user to select the source and type of information that can be placed into a specific section of the report they are building.
Anyone who uses excel and pivot tables, with a little training, could easily make simple reports with report builder. The interface will let you drag and drop data if you have a tabular or multidimensional model. It works very similar to excel. Mobile report publisher is even easier if the data provided to them is well designed for that intention.

Reporting services deployment for external users?

In most organizations, are external users (outside the organization) granted access to SSRS reports by going directly to Report Manager with limited permissions to view their reports only, for example, or do organizations more often create a separate dashboard website which pulls in the reports from SSRS?
I'm asking because currently I see a situation where there is a separate .NET site which pulls reports from SSRS, and I'm curious if this is a possibly unnecessary extra layer (the separate website), or do companies often create a separate dashboard site due to limitations(?) of SSRS Report Manager, or for security reasons? For example, could the Reporting Services Report Manager interface be customized to look like an organization's website reporting interface (with their logo, colors, etc), and not the standard out of the box Report Manager?
Do companies often create a separate dashboard site due to limitations(?) of SSRS Report Manager, or for security reasons?
Yes and no; it's going to depend a lot on the needs of the company. If Report Manager isn't doing what you need, then a custom solution is really the only option...
For example, could the Reporting Services Report Manager interface be customized to look like an organization's website reporting interface (with their logo, colors, etc), and not the standard out of the box Report Manager?
To a very limited degree, yes. You can modify the CSS sheets being used by SSRS, and inject some Javascript to apply some style hacks, but what you'll be able to accomplish is still quite limited. See here for getting started: http://msdn.microsoft.com/en-us/library/ms345247.aspx

Real time alert in JasperReport Server 4.5?

I am trying to implement a system which sends out email alerts based on certain changes in the database - for instance, if the revenue for a certain store drops below 50% of the 30-day average, we'd like to automatically generate an alert to the relevant decision makers, so they can check what's going on. (Fictional example, we don't have stores)
Does JasperReportc Server 4.5 (or any other related tool) provide any functionality which could accomplish this? If not, is there any open-source solution which would be suitable? Ideally we'd like a user-friendly frontend to define the criteria and design the alert mails.
Or can it be possible at database level?
Thanks.
I have to mention that Jasper is just a reporting tool. It does not send any email alerts or anything. All it can do is generate dynamic reports at different times.
Perhaps your application itself can use SMTP or IMAP to send emails. You can code the necessary conditions in your application itself.
You can use Jasper in your application when you want fast-building dynamic reporting solutions. It takes less time on Jasper to create a report than building it in the application. Also, Jasper can have your report exported in PDF or Excel format also without having to jack around with API files. Jasper also offers charts and other graphical reporting structures.

SQL Server Reporting Services(SSRS) Dynamic Data Souce

I'm a very new user to SSRS. I learned the basic things and am able to make reports using VS 2008 and BIDS. But I can't move further. I want to use the dynamic data source. My issues are:
First the user should input four credentials: a)Server name b) database name c) user id 4) password. It will help to make the connection with database and make the data source. The credential should be stored in session or cookie.
Now the user will be able to see all the reports without giving the credential because he/she has already given them.
I made a dynamic data source but the credentials are asked for every time I open a report.
Any demo project or an articles will be highly appreciated.
It sounds like SSRS alone will not accomplish what you want. SSRS will not provide a good interface for end users to create new datasources, or change existing datasources. There are some potential workarounds that get some of the functionality you desire, such as a method to change servers found at:
http://blog.softartisans.com/2011/04/19/how-to-create-a-dynamic-reporting-services-shared-data-source-using-linked-servers/
(requires the ability to use linked servers.)
But to manage the user session or cookies, you will need more than SSRS. The easiest way to get at this will be with a .NET web site to manage the credentials. It might be able to use a ReportViewer control, or other method of accessing SSRS, such as URL access, to get reporting functionality.