In the report designer, notice that a report header region has been added to the report layout. To add a report header region, on the Insert ribbon tab, from inside the Header & Footer group, click Header, and then select Add Header.
You will also add an image of the company logo. This way, the report title will repeat on every page. However, you will now modify the report design by adding a report header region, and by moving the report title textbox into this region. The default design will render the report title once, in the body, on the first rendered page. The body contains a single textbox ready for a report title, and the report footer contains a single textbox describing the report execution time. In the report designer, notice the default report layout, which consists of a body region and a report footer region. In this task you will configure the report header. In this exercise you will design the report layout, and explore the final report design. In the Name box, enter Sales Order Report. In the Save As Report window, navigate to the D:\DA100\MySolution folder.
*Note: if prompted to update to the latest version of Power BI Report Builder, click **Cancel** and proceed to step 2.
This lab is one of many in a series of labs that was designed as a complete story from data preparation to publication as reports and dashboards. The final report will look like the following:
The report layout will allow data to be rendered over multiple pages, and to be exported in PDF and other formats. You will create a data source and dataset, and also configure a report parameter. In this lab you will use Power BI Report Builder to develop a pixel-perfect paginated report layout that sources data from the AdventureWorksDW2020 SQL Server database.
I’m not sure what the maximum length of a query is in DAX – I suspect it’s 32768 characters. The specified query is too complex to be evaluated as a single statement. There is one drawback with this approach though – it can generate a DAX query that is too long to be executed.
Why is it needed? Handling multi-value parameters is difficult in DAX when you don’t know how many values are going to be passed to the parameters (it’s a subject I’ve blogged about here and here) and some kind of dynamic code generation is a reasonable solution to this problem. What has happened is that RSCustomDaxFilter has been replaced with an expression using the DAX Filter() function that implements the filter on the selected years it’s just a placeholder for a dynamically-generated DAX expression that is substituted in at runtime.