(uplifting music)
Module seven, beyond report development.
Module one was concerned with the introduction,
and modules two through six
were all concerned with authoring your reports.
Now let's explore what we can do
once the reports have been published.
Publishing reports, consuming reports,
delivering, and embedding reports,
then we're gonna wrap up with when paginated reports
are likely to be the best fits for your project.
We've already seen how to publish the report
direct from Report Builder.
This requires that you've signed in to Report Builder
using the account for your Power BI service.
You then save-as to the service,
and then the report is published.
Now, there's likely to be some post-publication tasks.
This could concern your data sources.
Some sources will require additional steps.
CHRIS: Yep.
PETER: I think Azure's SQL database
requires reapplying the credentials.
CHRIS: That's right, once you're publishing something
up to the service, you need to ensure
that you have those credentials stored,
or you're using the option to use O-author,
or to authenticate as each user attaching to the database.
PETER: Right, and that they're on-premises sources.
There's the time to map to the gateway data sources.
Yep. So the report
has its connectivity right down to your data source.
And if you've configured it,
that gateway previously for a Power BI report,
you would then do the same type of action you do
for a paginated report.
Right, configuring report settings,
there's adding contacts, and enabling or disabling comments,
depending on what you want.
I guess through a sales auto-report,
we might decide that comments isn't a feature we'd want,
and yet if it was something like a sales performance report,
where people had discussions and sharing information.
CHRIS: I think that's more if you have a report
that's gonna be showing different data to different people,
the comments may not be valuable there
because people would have different views
of the information. Right.
They might look at it and go, "Gee,
sales were really poor," Yeah, yeah.
but according to their row-level permissions,
CHRIS: Yes.
all the filters that they're applied, okay.
So a time to turn off comments
is when people are gonna be looking at different data,
and it doesn't make sense to share discussion around that.
CHRIS: Correct.
All right, the other consideration post-publication
is how will other people gain access to the report?
So this is really a topic of Power BI service-sharing.
And while we won't go into the depths of it in this course,
there's the ability to share the report individually
to somebody, or a security group.
CHRIS: Mm-hmm.
PETER: Or to publish the workspace as an app,
or you could use the push approach.
Create a subscription and have it emailed to somebody
on a scheduled basis.
CHRIS: That's right.
Beyond that, and perhaps more of a developer task
is that the report could indeed be embedded
into a custom app or portal.
CHRIS: That's true.
The consumption experience.
For paginated reports,
it can be done in the Power BI service,
with the Power BI mobile app,
or with a custom app or portal.
So, when you are opening the report in the Power BI service,
you will see a menu bar like this
with the ability to print, download, or embed
through export to one of the supported formats.
CHRIS: Mm-hmm.
PETER: Page navigation, open
or close the parameters pane,
start a conversation with comments,
create a subscription, or share the report.
In the mobile experience,
when you're browsing through to an app or a workspace,
you'll note that the reports will have a different icon.
Recall that the Power BI reports
have that chart-looking icon,
and the paginated report have that page chart-looking icon.
You've got limited functionality in the mobile app,
specifically, you can identify paginated reports,
open them, set parameters, navigate between pages,
view the report in landscape or portrait orientation,
and mark that report as a favorite
for finding easily again next time.
CHRIS: And this is unique to the service.
You actually can't view on-premises source reports
in the mobile app.
All right. Yeah.
So only from Power BI service?
That's right.
Delivering reports can be achieved with a subscription,
and they can be attached to an email.
And each subscription can be run on demand,
it can be enabled or disabled temporarily,
could be sent to multiple accounts.
You could specify the report format that should be attached,
whether it's a PDF or Excel.
You could set report parameter values
using either the currently-rendered ones
or to use the defaults that have been defined
in the report definition itself.
So there's another consideration
when defining your report parameters.
For the email itself, you can define the subject
and the optional message,
you can set the delivery frequency
anywhere from hourly to monthly,
and you can also specify a validity,
how long will this subscription run for?
Lastly, you can include a link to the Power BI report
should somebody wanna get to the live report
and see up-to-date data.
One thing to keep in mind,
and I think you had this question for me
is what if you have a default parameter
that's used as an expression, like today?
And so if you have a set of parameters
and some of them are default
and they're based on expressions,
and some you're actually entering information,
you can do that, and it will use the default parameters
as an expression, as long as you don't type anything there.
So if you were to go into a cell and say,
oh today's date is 4/1/2020, or something like that,
as opposed to just leaving it to use the expression,
it would then send it based on what you typed
versus the expression. So this is the configuration
of the subscription itself.
Yes. Just don't touch it
if you want the defaults to apply.
That's right.
Great, on the topic of embedding reports,
they can be easily embedded
by using a link or HTML fragment, and URL access.
We'll introduce this in just a moment.
The programmatic embedding could also be achieved,
embedding the report on behalf of users
that don't have the ability via Power BI service
to get to it directly,
but via your authenticated app experience, you could do so.
This is well beyond the scope of what this course is about,
but, there is the Power BI Developer in a Day course
where this is addressed directly
with the techniques and methodologies to embed all content,
including paginated reports.
So what we see here is the file menu.
The ability to print, download,
and, relevant to the embedding discussion now
is the embed link and the generate link.
Yep. What's the difference
between the two, Chris?
So, the embed link
is if you wanna use the secure embed capabilities
that are in Power BI today.
So this is a simple way
to embed a report inside your application,
or internally, something like SharePoint.
You wanna quickly add an embedded paginated report,
you can do that.
The generate link is there specifically for the scenario
where you're using URL parameters.
Because you can have a number of different parameters,
and we support having, say, multiple values
in your parameter, having people type out that string
by hand can be quite arduous.
So what we've done is we've added this generate link,
which will actually generate the link in the format
with all of the parameters there,
that you can use, say in a Power BI report,
and set up a drill-through between the two.
Great, well then that brings us to URL access,
Ah. which you just mentioned.
So, the ability to manipulate the URL
and to inject different parameter values
Mm-hmm. or commands
to render differently.
So, setting parameters values,
hiding or showing the parameters pane,
specifying the export format,
and for each format, there are multiple
Yes. device info properties
about precisely how that PDF should be generated.
They can all be controlled through the single URL.
CHRIS: That's right.
This is all well-documented online,
and so we don't go through the numerous options
that you have available right here in this presentation.
Well we've pretty much arrived
at the end of all of the theory that matters
for paginated reporting.
And I guess the outstanding question that you might have
is well, when is it suitable to do so?
We started the presentation
by contrasting the two report types.
The Power BI report
that was really emphasizing interactive analytics,
and the paginated report
that was emphasizing pixel-perfect report rendering,
suitable for printing or output to PDF.
CHRIS: Yep.
So, we would suggest
that you consider using a paginated report
when it must be printed, or output as a PDF document.
Data-grid layout, so we had a good look at the tablix,
and we discussed that these data regions could expand.
The table vertically, the matrix potentially horizontally
Yep. and vertically.
So, here's the thing about that.
You've got more control in a paginated report.
Whether you're going to print it
or choose a different format like Excel
Mm-hmm. to get stylized output,
which is very different, isn't it,
from Power BI when you export data to Excel.
Yeah, in fact one of the biggest asks I hear from users
is, "Hey, I would really like to be able to put my Excel,
"or export my Power BI table as an Excel,
"and keep all that formatting."
And as I mentioned earlier,
the challenge with Power BI reports
is you're only gonna get a picture of that screen,
of that particular tab.
So, that's not an option that you'll have,
and to actually go and create that like we do in RDL
would be, you'd basically be rebuilding
what we're doing already with a paginated report.
So that's something if you're trying
to get that capability there,
this is where paginated reports may be very, very valuable.
And a lot of customers use those URL parameters
and that drill-through scenario to do just that.
They go from their Power BI report
to this nicely-formatted table
Right, yes. that they can go
and export out.
So you got this seamless experience between the two types?
Yes. So use the type
that makes most sense
to the report experience that you want.
CHRIS: Mm-hmm.
Now of course it probably goes without saying,
but if you already have investments
in SQL server reporting services,
or indeed, Power BI report server,
CHRIS: Yes.
the ideal reports you've created there
can be opened up in Power BI Report Builder.
CHRIS: Yes.
And, providing that you're not using capabilities
that aren't supported, so specifically,
just to rattle off a few, like shared data sets
and shared data sources are not a concept
that paginated reports in Power BI have,
but you may have built solutions over these
inside SQL server reporting services
or Power BI report server.
So, the investments you have made,
providing the data sources are supported,
are most likely able to be migrated,
and that's just a matter of opening
in Power BI Report Builder, adapting if necessary,
I think when you save, you'll get an error report
if there's features that aren't supported,
and then you will continue on
providing those paginated reports through the service,
and extending the reach of those reports
right through to mobile devices.
And we have created, there is a migration tool
that we have available online that's on GitHub.
And it actually does, one of the things it will do
is it will take, see if your report has a shared data source
and shared data set in it, and it'll convert those
to actually be embedded into the report.
And again, if you're connecting against SQL server,
for example, that's a supported data source,
we'll actually convert that
and allow you to save it up to the service,
and it'll just iterate through all of those files
in a particular folder and save them to a workspace.
Right, so the last point we'll make
about when to use paginated reports
is simply that there are features and capabilities
that just work in your favor.
What could they be?
Well, let's list them out.
CHRIS: Okay.
You need print-ready reporting.
You want a choice of renderer formats and quality rendering.
You want precision layout,
right to the fraction of an inch or centimeter.
Dynamic layouts, so by that we mean expression-based ability
to hide and show.
CHRIS: Yep.
Render-specific layout.
Mm-hmm. That it renders in Excel
it should behave differently from HTML.
Per-user layout, so remember the user ID allows you
to interrogate who they are,
and that your expressions can adapt the format
and even the data to produce a different experience.
You can work with native queries.
That means that you're crafting SQL queries
directly against the provider.
You've got graphic query designers
if you don't have those skills.
We have the static data sets
that we can use in specific circumstances.
Data integration is a great one,
that you can have multiple data sources in the one file.
CHRIS: Including multiple Power BI data sets.
Right, and you can even integrate.
So what you do have is a restriction
that the data regions are bound to a single data set,
Mm-hmm. but there are functions
like lookup their value Exactly.
that can, with custom fields, or calculated fields,
allow introducing data
between the data sets, pretty powerful.
Parameterization, and we saw all the different scenarios
working with multi-select, and cascading, and defaults.
Image data. Mm-hmm.
So the image data can actually
come from the database itself.
CHRIS: That's right.
Custom code. Yeah.
All right, so I love your example of the Azure functions.
Yeah, no, it's a great way to start
looking at the latest and greatest you can do in Azure
with these paginated reports.
But wait, there's more.
(Chris laughs) Flexible grid layouts.
That tablix, now that was introduced with SQL server 2008.
Mm-hmm. 12 years ago.
Yeah. And yet,
it's still a remarkable way Yes.
to customize exactly what you need your data to look like.
The spatial data types, we introduced the map.
What I think stands out here from Power BI mapping
is that you can work with these spatial data types
in the SQL server. That's true.
If you've got them defined in your data,
they can be rendered directly
to the maps in Power BI reports, or paginated reports.
We've got modern-looking gauges.
I still really like them.
The radio gauges and such forth with their scales.
And HTML rendering of text.
And remember the concept that the text box
is really a collection of placeholders,
and those placeholders allow you to render HTML,
to give you rich formatting.
The text box with those placeholders
can also achieve a mail-merge.
CHRIS: That's true.
Interactive features, all right,
they're not as cool as the Power BI reports,
but nonetheless, they're there.
So, drill down, drill up, tool tips, links.
What else do we have, interactive sort.
But 20 compelling reasons sounds better than 19.
(both chuckle)
And number 20 is subscriptions.
So, with subscriptions, the ability for you, on schedule,
to have those reports sent out in email to you or to others.
With full and report attachments,
and parameters. And link, and link.
So I think now we've arrived at the end of the course.
And so, we have some bonus content, so stay tuned.
But as far as the theory is concerned,
we've got a demonstration
to follow up with what we've just presented,
and then stay tuned for some bonus content.
Thanks so much for joining us.