Tableau Desktop client has to talk to Tableau server - desktop

Tableau architecture shows that Desktop connects to tableau server (using gateway) and then to data server which are on tableau server. My question is do tableau client has to talk to tableau server? Can't I just install tableau desktop and connect to required database (even hosted on cloud)?
Regards, G.

Tableau supports multiple approaches for connecting to data.
Tableau Desktop can indeed connect directly to a database without Tableau Server being involved at all. This is a typical way to start and often remains the main approach.
You can also choose to use Tableau Server as an effective proxy to your database, and have multiple desktop and server clients connect that way. There are advantages for governance and performance to that approach in some case.
You can mix and match approaches for different data sources, and there are some other middle ground approaches such as to store an extract on Tableau Server, which acts conceptually like a very fast read-only materialized view which you can then refresh on a schedule of your choices.

Tableau Desktop is a stand alone product. You can use Tableau Desktop without the server.
You are able to connect to database directly and you have a lot of choices, such as MySQL, Oracle, Teradata and also cloud, such as Amazon Redshift, Google big query, Google Cloud SQL, Spark SQL

Tableau has the following products:
Tableau Desktop
Tableau Server
Tableau Online
Tableau Reader (free)
Tableau Public (free)
My question is do tableau client has to talk to tableau server?
The "Tableau Client" that you refer to could be either a web browser or Tableau Reader. The web browser has to talk to Tableau Server, but Tableau Reader requires the extracted Tableau Workbook.
Can't I just install tableau desktop and connect to required database
(even hosted on cloud)?
You can, but you will lose measures, dimensions, filters, formatting, sets etc. which is local to the cloud tableau sheet.
You can download workbook in tbxw format to play with

Related

Trying to understand problem automatically refreshing Power BI data

I'm an experienced developer who knows very little about Power BI. So we've hired some consultants to implement our Power BI screens. And I provided them with a read-only login to my SQL Server database.
It works okay, but when we complained that the data never updates, they are now telling us we should set up a VM to "assure that at the refreshing moment, the scheduled job is not going to fail. VM is always connected, so even during holidays, weekends, the data will be always refreshing."
They followed up with "If the database is on-premise, we need a gateway to connect power bi to the database. If the machine, where the gateway is installed is off, power bi can not connect to the database. So, we need a VM to assure that the gateway is always on."
But this makes zero sense to me. Our database is not on-premise if it's on the Internet and we've given them a connection string. They should be able to update the data at any time.
Can anyone tell me what I'm missing here? I'm starting to question these guys' knowledge. Is it this complicated for Power BI to automatically update its data?
Some data sources require a Data Gateway, even if you put them on the open internet. Data sources that are typically deployed on private networks, or data sources that require 3rd party drivers require the Power BI On-Prem Gateway for refresh. See the list here.

PowerBI + Snowflake: ODBC Connection: DirectQuery

we are evaluating both products, Snowflake as a data warehouse and PowerBI as the visualisation platform for dashboarding / reporting needs.
We have a requirement to use the Snowflake with the AWS PrivateLinks, which make the out of the box tools that come with PowerBI Desktop (and Service) as useless when user wants to use the SSO.
So currently I've setup the ODBC connection using the Snowflake's ODBC driver and Windows ODBC Settings. When I use the Get Data -> ODBC -> MyNewConnection I can't see the option of DirectQuery.
I'd like to ask for help if you know how can I setup the DirectQuery type of connection with the ODBC Connector to Snowflake ?
Correct, if you are using PowerBI SSO option in the PowerBI service based on this, Privatelink is not supported .
If you have PowerBI Gateway, then the Privatelink should work.
Use of the Gateway would not allow authenticator=externalbrowser and the only option is Username and Password to login. The authenticator=externalbrowser is only allowed for PowerBI Desktop when used with ODBC generic driver but then you will lose Direct Query option as you noticed.
If these options are limiting, feel free to open a feature request with Microsoft to support Privatelink through PowerBI SSO.
ODBC connections don't support DirectQuery. There a probably a couple of options:
Build your own. Use the Data Connector SDK to build your own extension that enables DirectQuery
Use the Progress ODBC DataDirect ODBC driver. Details can be found here
However, before you go down either of these routes (and assuming you haven't already done this) I would talk to your Snowflake account manager to see if there is any way of getting PowerBI Snowflake native connections to work with your setup

Am I forced to use Power BI Desktop to provide datasets to Power BI Service other than local or sharepoint files?

I'v been assigned the task to research Power BI Service platform to see if it is useful for the company I'm working at. I have a Power BI Pro license and basically my goal is to create several reports and dashboards from disparate data sources such as REST APIs, mongodb, SQL Server, csv and excel files.
I would like to create the mentioned datasets directly from the Power BI service website but I see that I only can create datasets from csv or excel files. And if I select SQL Server, it asks me to download Power BI Desktop client. The other type of data sources that I need are not even mentioned.
My question is if Power BI Desktop is required to develop and configure datasets for the Power BI service, because to begin with it is a windows only application.
Yes you are. The desktop version provides the full power of the software. You can learn a TON of things from this guy on YouTube and also from these guys in a cube. I'm willing to bet you can search the questions you have & can find specific example videos that'll help you determine if this software is right your company. In my opinion, when it comes to data visualization software, it's tough to beat Power BI. That's especially true if your company is on Office 365.
As a tip, it's important to note what kind of data sources you need to communicate with. And are those sources in a cloud or on premise. That's important depending on how "live" you want your data to be.
The main use of Power BI Desktop (Windows only application) is to get the data from the sources into data model, then load it to the service. The data connections and the ability to create reports is limited compared to the service. The main goal of the service is to share the reports and collaboration.
For example there is no realtionship designer in the service to connect the imported entities. You can create a report in the desktop and load it to the service, and then create other reports from its dataset in the service.
You can create dataflows in the service to get data from flat files, and databases, but you then use Desktop to connect to them and link them together there.

What is the best solution on AWS or Azure for SQL+Web App+SSIS+SSRS

This is about a Reporting Server solution.
I need some advice to choose a product, which will hold a SQL Database Server and a Web Service App (one that will make a call to a stored procedure and run an SSIS package - not much processing here -) and SSRS. I'm not familiar with this, it needs to be available 24/7, as I said there's no much processing just synchronizing data (few hundreds of thousands of records), what do you suggest me?
Requirements:
SQL Server Enterprise 2017: this will hold the database and execute
the SSIS package.
We have an SSIS package that will be executed from a .Net Web Service app which will execute a Stored Procedure on users demand.
The Server needs to run Reporting Services (SSRS).
Considerations:
Storage: Database will hold around 750K records (all text).
Bandwidth: There will be synchronization (data retrieval or updates
only) with an external system.
Use: the client has asked to consider a dedicated instance since they
will use it at their own discretion.
Now the only issue is, as far as I know, we can't call a Stored Procedure from the outside system (outside the server), or at least I have not found a way to do that, that's why I want to host both solutions in one place, so the Web Service App can call the Stored Procedure Locally.
So now I'm wondering, what should I do? should I leverage a full VM? how much will cost?
If you want to do PaaS and not have to manage infrastructure, take a look at the Azure App Service Environment is an Azure App Service feature that provides a fully isolated and dedicated environment for securely running App Service apps at high scale. This capability can host your:
Windows web apps
Linux web apps
Docker containers
Mobile apps
Functions
For SQL you can use Azure SQL Database Managed instance,a new deployment option of Azure SQL Database, providing near 100% compatibility with the latest SQL Server on-premises (Enterprise Edition) Database Engine, providing a native virtual network (VNet) implementation that addresses common security concerns, and a business model favorable for on-premises SQL Server customers. This is a fully isolated instance of SQL server.
I suggest you host a static site on blob, an Azure function on consumption model to make calls to SQL database and a SQL database. Of course, there are alternative architecture you can use, however all depends on detailed requirements.

SQL DB on AWS with Power BI Embedded

I need your help.
We have a plan to run "SQL DB and Web services" on AWS and need to publish the Power BI report by embedding to web service running on AWS.
Do you think it's possible scenario? IF yes, how can I achieve this?
You can't embed Power BI in a web service, so I will assume you want to embed it in a web application.
You need at least three components in such architecture - a place to store your data (assuming it will be in some kind of SQL Server), Power BI (assuming Power BI Service) and web application.
The database can be managed by your cloud provider (e.g. Amazon RDS) or "normal" instance running in a VM in the cloud. Of course, it could be something else (not SQL Server), or even be in a different cloud (e.g. Azure), or on-premise. The point is that you store your data there and use this as a data source for your reports.
The you need Power BI to create reports. Assuming that you will use Power BI Service (the online portal), you will design your reports in Power BI Desktop, getting data from your data source, and publishing these reports to Power BI Service. At this point you can view these reports in the portal using the browser. Power BI Service will render them using shared resources. For embedding and relatively heavy usage, you should buy a capacity. Think for capacities as resources (CPU, memory) dedicated only for you. They are not shared with other Power BI users. There are different licensing models and ways to buy a capacity. You can buy Power BI Premium or Azure SKUs. This FAQ tries to explain the differences, but in general A SKU means "pay what you use, stop at any moment, without any commitments", while EM SKU and P SKU are for bigger scale projects with monthly or yearly commitment. When you buy a capacity, you can assign it to a workspace containing your reports, and then they will be rendered using your own dedicated resources (which should give you better performance).
And the last part is your application (assuming web application, which you can host in Amazon Web Hosting or in VM), where you want to embed your reports. Generally speaking, there are two scenarios - "user own data" and "app own data". In the first, each of your users needs Azure AD account. Using this account, he will get access to the reports and data, as he has in the Power BI Service itself. In the second scenario, your app uses one "master" account to access the Power BI, thus your users doesn't need their own accounts in Azure AD. You can use your own authentication in your app. Embedding Power BI is quite large topic and your question isn't specific, so I will recommend to start with Embedding with Power BI article, take a look at Power BI Embedded Playground and review the samples.