General question about Power BI and SQL Server - dashboard

We are in the process of creating a dashboard with Power BI.
We have two licenses of Power BI pro that we are using the create a dashboard with a SQL Server backend.
Can people share with me how they distributed the Power BI reports they developed to their users? We have 600 people in the company and we don't want to have to buy 600 Power BI licenses. Can you please give in detail the entire architecture you used to build your dashboard including the backend architecture?

AFAIK, there are three options. I assume you've made some research and knows pros and cons of :
Power BI Report Server - which is a dedicated on-prem server
Power BI embeded - in MS Azure cloud
Publish on the web - hosted on Microsoft's website.
Hosting : I'd a similar requirement of sharing Power BI reports with about 200 users. And I am using Azure Power BI embedded solution which is quite flexible. The users don't need to purchase Power BI Pro license and we can schedule server switch on/off depending on day timings as well as on-demand. Several pricing plans are available.
Architecture in brief : We've custom application which connects to various systems such as SAP, several MS Excel files and a couple of .net based web apps. The custom application fetches the data, applies a bit of validation (esp cleansing) and puts the data in the SQL Server from where Power BI dashboards & reports are shown. The SQL Server DB is hosted in Azure.
We had an option of using Power BI Gateway connector but we discarded it.
We've 2 Power BI Pro licenses for the users who need to support/enhance the dashboards/reports.

Related

PowerApps Common Data Service (CDS) 2.0 connector doesn't work for a Dynamics 365 CE instance

Hopefully, someone can straight up my PowerApps connectors understanding. Apparently, I have 3 connection options.
Common data service - this connection type only allows me to connect to CDS 1.0 databases, but I want to connect to an existing D365 v9 instance.
Common data service (experimental) - this connection type asked me for a D365 v9 instance ID, but everything is grey out after the step, i.e. it didn't show me any entity after connecting successfully.
D365 data source - this one works but I was told MS has stopped working on this connector. Also, I will have to update the connection after deployment to a different environment manually.
What is the best practice if I want to use a CDS connector? Or I will be stuck with the old D365 connector for now?
Thanks.
==11/1/2018 update==
I have a better understanding of my situation now. Every Dynamics 365 CE instance should have a PowerApp environment automatically, but one of my D365CE instances doesn't. I am suspecting it is because the D365CE instance is still version 8.2.
My question above is because I created an empty PowerApp environment and tried to connect it to the D365CE instance (v8.2). I will give you guys another update after I upgrade the instance to v9.
==11/30/2018 update==
Confirmed. By upgrading a D365CE instance from v8.2 to v9.0, the Power Platform generates an environment automatically and linked it to the D365CE/CDS.
Here's a breakdown of the three connectors you're looking at :
Common Data Service - this connector actually supports both versions of CDS, but it will be dependent based on the environment that you're in. So if you're in an environment that has a CDS1.0 database, it will connect by default to that environment. If you have a CDS2.0 database, it will connect by default to that environment.
Experimental Connector - this is similar to the previous connector, but it includes experimental features in development by our team, and isn't recommended for production use. Generally you should only be using this connector if there is a specific feature we announce in the experimental connector you wish you use.
Dynamics 365 Connector - this is similar to the base CDS connector, however it can only connect to CDS2.0 environments. It also has the ability to connect across environments. So you can be in Env1, but connect to a database in Env2. The normal CDS connector will only connect to the database within the environment you are building your app in.
Which one should you use? The Common Data Service connector is going to be your best option, it's where the most improvements are being released at the moment, and is designed to work best with PowerApps and Flow.
To connect to your Dynamics 365 environment, you'll want to make sure you start from web.powerapps.com and select that environment from the drop down in the top right, if you can't find your Dynamics 365 V9 environment - make sure you have system customizer permissions - if you do and you still can't see it, it may be an issue on our end. You can send me a message with your Dynamics org URL and we can check it for you.
Once you can select it from the environment drop down, you can then create a new app and use the Common Data Service connector, and it will connect directly to your Dynamics 365 data.
Hope this helps,
Clay.
I don't have much experience with CDS 1.0 in the Power Platform. I can share some insights on my experience with Microsoft Flow / Logic Apps, CDS 2.0, and Data Integration. So I hopes this helps add another perspective to this question too.
What is your goal in using Common Data Service? Just to pull Dynamics 365 CE data into it?
This recent Product Team Blog could be useful here if so.
Some initial feedback, if the main goal is to connect to a Dynamics 365 CE instance, consider using the Dynamics 365 Connector through Microsoft Flow. You can create a small Flow at https://flow.microsoft.com/ with a 2 step process like mine below. An event takes place in Dynamics, like creating an account. The event and it's data is captured and in used in a response process, like sending an email alert. In this case the alert is sent to the signed in users email.
From a developer standpoint you can also use the Xrm SDK and Web API to collect data and do some data processing as well in C# or JavaScript respectively too. This is more involved, but provides a greater amount of control around the data you're working with. There's a great intro to
Lastly you can spin up a PowerApp to surface your data as well with some pre build templates https://create.powerapps.com/.
Start with your Data and create a Dynamics 365 app in a phone layout.
Choose your organization and table.
After the app creates, hit play to run it.
Search for an account
It turned out the problem is not with the connectors but with PowerApp environments. By upgrading a D365CE instance from v8.2 to v9.0, the Power Platform generates an environment automatically and linked it to the D365CE/CDS. So, it should just work for all v9+ instances.

Sharing MS Database with Multiple Users

I have a MS Access Database that I need to share with multiple users in the entire state. Right now I split the database and placed the backend on a shared network drive and distributed the front end, but the issue I'm having is that offices further away can't enter a record in a timely manner (one office took over 2 hours).
We do have SharePoint, but it's on a 2010 server and our MS Access is 2013 and I'm told because of this, access won't link up to SharePoint and this is not an option.
Someone in my office mentioned something about replicating a database...is this something that will work? If not, are there any suggestions?
Replication in Access was killed in Access 2007.
SharePoint is not an option except if you start from scratch, and the shared lists and/or various web apps you can create are seriously limited compared to your present desktop solution.
Basically, you have three options:
Upgrade your WAN to 100 Mbit/s low-latency quality fibre connection
Create a Terminal Server hosting your application. Remote users will access this via standard Remote Desktop Connection
Upgrade your backend to SQL Server Express (free) and set up an in-house or outsourced server hosting this
The first options require zero coding, while the last takes a little but not much, and that is well documentated (just bing/google on this).

administrative abilities using OAuth 2

One of my clients (state public defenders office) has asked me to write a system to update people's (laywer's) calendars (google for govt, calendar) on a daily basis, from data pulled from the Circuit Court (a seperate agency) via web services. Currently the defenders office is using Visual Studio 2001 beta for most of their applications, but will allow me to develop something new in VS2010 and SQL Server 2008 r2. Currently, they pull data from these web services and put them in a SQL Server database, to enable displaying this info on their web site.
I can't seem to find any demo, nor source code, in Dot.Net, to connect to Google Calendar as an administrator, and insert calendar events about upcoming case and trial appearences.
Another agency (The District Attorney's office) has written an application to pull data from the aforementioned web services and create calendar events in MS Exchange and MS OutLook. It is hoped that the defender's office can do the same with Google for Govt.
The network admin there told me to look at GAM (python app). I'm hoping to find C Sharp examples rather than try to translate Python to C Sharp, line by line.
Randy
Check out the official Google Calendar API!
There are client libraries for .net
It also has a get started section on the .net download area. You'll probably need access setup before hand to make the changes though.

Oracle ADF Hosting Pricing

I found it easier (because I have been working on it) to create web applications using Oracle ADF and related tools but I am not sure of how much it will cost.
I am no entrepreneur or organization, I am just a developer but I had an idea of developing web application (a typical data input, store and report like) for which Oracle ADF will ease my development. The Oracle's pricing list looks complicated. My total operational budget(including hosting, and licenses) is around $50-$100 per month (which I know is very less, but GAE or AWS comes around this budget). I am looking at a small userbase here mayB grow slowly.
Thanks
If I'm not mistaking is the cheapest WebLogic Server license +- 20.000 dollar per CPU.
You can use ADF Essentials + GlassFish. Those are both free to use, the downside is that ADF Essentials doesn't support out of the box security.
Oracle does have a cloud offering where you pay per month and it can run ADF apps on WebLogic - see - https://cloud.oracle.com/mycloud/f?p=service:java_pricing:0:::::
But given the amount you had in mind you might want to look into the GlassFish+ADF Essentials option. http://multikoop.blogspot.com/2012/09/adf-essentials-in-redhat-cloud.html

Reporting tables (state transition tables) for Websphere Process server

I am trying to find the necessary tables in Websphere Process Server to do some basic productivity reporting. I an completely UN-familiar with WPS, but I assume that there has to be a core set of tables that capture state transitions of workflows.
WPS flow data is managed internally by a DB2 Database, but i haven't seen any application that access directly to that data. WPS exposes a series of API's (EJB's, Web Services and RESTful Services) that allows applications to query WPS flow information but i don't think that approach is suitable for Reporting. More of that here: http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=%2Fcom.ibm.bspace.help.api.rest.doc%2Frest%2Fwsprocessserver%2Findex.htm
What several companies does for Reporting and Monitoring is query WPS through IBM Websphere Business Monitor: it's a product designed to make reports about process instances in a very fancy way. It's a great product but it's also very expensive.
What are you trying to achieve by looking at the WPS database tables?
WPS tables should ideally be left alone. As suggested by Carlos look at the APIs exposed by WPS and use them for your purposes.
The database - "how it is used internally to store information" is not publicly exposed so you won't find a great deal of information. There is information available on the database views which you can query on:
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic/com.ibm.websphere.bpc.620.doc/doc/bpc/r6bpc_dbviews.html
I don't know the version of WPS that you are using. I am pointing you to the 6.2 docs. You should be able to locate them in 7.0 or what ever version you are using in your environment.
WB Monitor is a BAM tool that can be used for your BAM needs.

Resources