Automate export from Power BI file to PDF - pdf

I have a power BI report that uses SQL server and python script as the data sources. I need to export this to PDF and send it out on a daily basis to a few selected people.
Is there a way to do the following using python:
Open the Power BI desktop file
Hit the "Refresh" button to refresh the datasets
Click on the "Export to PDF" option
Mail the exported PDF to a group of people
I know that something similar can be achieved using Power BI Service but when I published the power BI report and installed a personal gateway, I got the following error:
I had installed the personal mode gateway and entered my email address but when I opened the gateway again, it asks me to sign in every time (I'm not sure if this is normal.)

The gateway is fine as long as you have it set as "Running" in your dataset settings, once you login, you don't have to open it again:
For exporting the Power Bi report as PDF, there is an API dedicated to that https://learn.microsoft.com/en-us/rest/api/power-bi/reports/export-to-file
The drawback is that you need Power BI Premium to use it.
In case you had the Premium, then you could send a Post request using Python's module "Requests" to extract the pdf using that report's ID.

Related

Clicking links with certain characters using power automate

I am trying to create a desktop flow that clicks links with only specific characters "WO". I'm having a hard time doing it in power automate. I easily did it with the re module in python.
Would anyone help me on a detailed process on how to do it on power automate? Thanks
I attempted to do it by extracting web data and obtained it as a web data table. I tried doing a python script injection but to no avail.

PowerBI dashboard to be emailed as a PDF on trigger from MS Forms submission

I am trying to get a survey response plotted on a Powerbi page. Survey questionnaire is built in MS Forms, response values get stored in an Excel on OneDrive and are piped in as a dataset into a PowerBI app which plots this data. What I am trying to achieve is that once the respondent submits this questionnaire, the PowerBI report gets emailed as a PDF file to the respondent (I ask for the email in the questionnaire and it is present in the dataset).
I was not able to find any option in MS Flows to allow email of PowerBI PDF on submission of MS Forms questionnaire. Are there any options that I may try out to achieve this?
Currently there is no way to use Power Automate (Flow) or the Power BI API to programmatically generate a PDF from a report. It will be in public preview from Feb 2020 for Power BI Embedded only. It will export to PDF, PowerPoint and JPEG.
What you will have to do is, call the Power BI Embedded REST API from Power Automate (flow), save the file to a location. Then email that file out to your form user again using Power Automate.
Hope this helps

Report Provider to Clients

I have a web solution with about 1000 clients. Nowadays they have access to reports that I provide as a PDF: an ASP.NET script executes SP's in the database and with PDFReactor I create a PDF. This is online and as you may already be guessing, it is unmanageable for large data sets.
I was thinking of using a reporting solution, as Power BI, Tableau or... Qlik. In my investigations I have found out that Qlik is the most complete solution for what I want. Nevertheless, I still have some questions, regarding the application architecture and how I can integrate Qlik with my application.
The first question is how I manage my users? I have a custom authentication provider and user management inside my application... What is the best way to integrate with Qlik? I manually configure all the clients in the Qlik Server also? There are endpoints to do it automatically?
The second question is how I manage what a client can see inside a Qlik document (QVW). I want to have several unique QVD, where several QVW get their data from. But I don't want to create a QVW for each client!! Can I filter a QVW based on a user authentication?
I would like that my clients could see the reports dynamically inside my web app. But my conclusion so far is that the web view of Qlik is static and that for more dynamism my users would have to use Qlik View desktop. Correct?
And this leads me to the final question: does my clients would have to pay licenses or is everything on my side and responsibility?
Thanks for your help!
Regards,
David
Out of the box QlikView Server (see 4.2) uses NTFS authentication (local windows users or Active Directory). There is something called DMS - ticket based authentication which allow non Windows users to be authorized to access apps. A bit more info here
QlikView have something called Section Access which is on file (qvw) level. Section Access is part of the QV script. Basically you can create link between user name and data field. The main file will contain all the data but when the user open the document he/she can see only the data that its relevant to this username. More info here and here
For example:
user1 -> can see only UK data
user2 -> can see UK and USA data
user3 -> can see all the data
... etc
The web app and the desktop app are the same. The web client provide same level of interaction as the desktop so you can slice and dice your data as you want
4.1 QV desktop (personal edition) is free but you can open up to 5 qvw files which are not "yours" (not created with the current instance of the personal edition) and the clients need to install it locally on their computers
4.2 QV server is not free. With QV server all the clients are accessing the QV apps via the browser. You (as administrator) are buying the licenses from Qlik Partner and it's up to you if you want to charge your customers or not (and how much)

Uipath automation

I want to take the report of last one download details from the mysql database and sent to my project manager on every monday through the email so the process remains same only date would be change dynamically so, I would like to automate this process using RPA UIpath.
Anyone could you help me to achieve this process.
Thanks
Use 'Database' package to connect to sql db and and run the query.
Schedule the program to run every Monday using Orchestrator.
Create the report with current date using DateTime function
There will be some extra steps like transforming data as necessary etc, but the basic outline of this process is as follows
Download MySQL ODBC Drivers MySQL site
Control Panel -> Setup ODBC Data Sources (32-bit) setup User or System DSN, make sure to test your connection to see if it works OK (it's similar to how you set it up in MySQL Workbench or read about it here)
In your UiPath Studio Package Manager, add Database Activities Pack.
Get your data using UiPath.Database.Activities.ExecuteQuery activity to a DataTable
Write your data to an Excel file using Write Range activity
Send your mail through SMTP using UiPath.Mail.SMTP.Activities.SendMail including freshly created Excel file as attachment
First step Take the data using database activity
Create an automation in UiPath to attach and send to your respective email
Schedule it own orchestrator.
Though not exactly but atleast sending a mail by taking credential from Orchestrator is shown in this article
https://www.c-sharpcorner.com/article/create-a-sequence-project-for-sending-a-mail-using-smtp-activity-by-taking-crede/

Is it possible to embed a report held on crystal server into a separate web application?

We're developing an ASP MVC web application for a company to monitor and correct incoming data from third parties, then preview a report output before being distributed to their own clients. We've made a prototype with the reports being generated as Crystal Reports through the application itself using CR for Visual Studio.
The client already has a Crystal Server for some internal reporting, we're wondering if we can hook into that so that all Crystal Reports are stored in the same place and save on duplication. We would need to expose a preview of the report in our application and then export the reports from the Crystal Server in PDF and Excel formats ready to be distributed.
Is that possible? I've found very little on the subject.
In case anybody comes back for the answer... We've managed to get this working by using the 'opendocument' url path feature and embedding it into the site using an iframe. Documentation is here.