TWIL: December 11, 2022

Another week with a strong focus on Power BI, namely paginated reports and other guidance articles. But also three interesting podcasts and two awesomely cool articles: one on OpenAI’s ChatGPT and another on code snippets that changed the world. Have a look!


The Azure Podcast

Episode 447: DDOS Protection on Azure
Sujit and Evan are joined by Amir Dahan, Senior Product Manager for Networking at Microsoft, to discuss Azure DDOS protection.

Episode 448: Azure and OSS
Sarah Novotny joins us on the show again, this time to tell us all about the collaboration that happens with Azure in Open Source Software.

.NET Rocks

Episode 1820: .NET Developers Building Power Apps with April Dunnam
Why should .NET developers build Power Apps? Carl and Richard talk to April Dunnam about the latest in Microsoft’s Power Platform and why .NET developers should get involved. April talks about the fusion development methodology, where domain experts use the Power Platform tools alongside .NET developers using Visual Studio to build line-of-business apps. There are many opportunities in the cycle of building Power Apps where your skills as a .NET developer can make the process go faster, more reliable, and with more features! Also, check out April’s upcoming workshops on building Power Apps online at and at the DevIntersection conference in Las Vegas in December!

Power BI

What are paginated reports in Power BI?
Paginated reports are designed to be printed or shared. They’re called paginated because they’re formatted to fit well on a page. They display all the data in a table, even if the table spans multiple pages. You can control their report page layout exactly. Power BI Report Builder is the standalone tool for authoring paginated reports for the Power BI service.

Paginated reports in Power BI: FAQ
This article answers frequently asked questions about paginated reports. These reports are highly formatted, pixel-perfect output optimized for printing or PDF generation. They’re called “paginated” because they’re formatted to fit well on multiple pages. Paginated reports are based on the RDL report technology in SQL Server Reporting Services.

Paginated reports capacity planning
Calculating the type of capacity you need depends on several parameters such as the number of visuals in your reports, the complexity of queries against the report and the quality of your data source or data model. You should also consider the current use of your capacity during peak times, before you add paginated reports to it.

When to use paginated reports in Power BI
Power BI paginated reports are optimized for printing, or PDF generation. They also provide you with the ability to produce highly formatted, pixel-perfect layouts. So, paginated reports are ideal for operational reports, like sales invoices. In contrast, Power BI reports are optimized for exploration and interactivity. Also, they can present your data using a comprehensive range of ultra-modern visuals. Power BI reports, therefore, are ideal for analytic reports, enabling your report users to explore data, and to discover relationships and patterns.

Data retrieval guidance for paginated reports
This article targets you as a report author designing Power BI paginated reports. It provides recommendations to help you design effective and efficient data retrieval.

Data reduction techniques for Import modeling
Import models are loaded with data that is compressed and optimized and then stored to disk by the VertiPaq storage engine. When source data is loaded into memory, it is possible to see 10x compression, and so it is reasonable to expect that 10 GB of source data can compress to about 1 GB in size. Further, when persisted to disk an additional 20% reduction can be achieved.

Many-to-many relationship guidance
This article targets you as a data modeler working with Power BI Desktop. It describes three different many-to-many modeling scenarios. It also provides you with guidance on how to successfully design for them in your models.

Active vs inactive relationship guidance
This article targets you as a data modeler working with Power BI Desktop. It provides you with guidance on when to create active or inactive model relationships. By default, active relationships propagate filters to other tables. Inactive relationship, however, only propagate filters when a DAX expression activates (uses) the relationship.

Bi-directional relationship guidance
This article targets you as a data modeler working with Power BI Desktop. It provides you with guidance on when to create bi-directional model relationships. A bi-directional relationship is one that filters in both directions.

Relationship troubleshooting guidance
This article targets you as a data modeler working with Power BI Desktop. It provides you with guidance on how to troubleshoot specific issues you may encounter when developing models and reports.

DirectQuery model guidance in Power BI Desktop
This article describes DirectQuery use cases, limitations, and guidance. Specifically, the guidance is designed to help you determine whether DirectQuery is the appropriate mode for your model, and to improve the performance of your reports based on DirectQuery models. This article applies to DirectQuery models hosted in the Power BI service or Power BI Report Server.

Composite model guidance in Power BI Desktop
This article targets data modelers developing Power BI Composite models. It describes Composite model use cases, and provides you with design guidance. Specifically, the guidance is to help you determine whether a Composite model is appropriate for your solution. If it is, then this article will also help you design an optimal model.

Data Architecture

Data Warehouse vs. Data Lake vs. Data Fabric
While the Data Warehouse is now quite a standard in the enterprise context and the Data Lake has also arrived in many companies, the Data Fabric is still a bit more unknown and not yet as widespread, but where do the difference lie and what are the use cases?

Cool Stuff

ChatGPT Is Mind-Blowing — Everything You Need To Know
ChatGPT is OpenAI’s latest language model, specifically trained for interactions by conversation. Since the release of GPT-3, many problems have surfaced, such as the AI not being able to respond to some questions very well or making up information. While you can try to change the prompt (i.e. the text given to the AI), it is still you that is trying to cue the AI. But logically, it would be much better if the AI instead cued you. That is, instead of trying to iteratively rephrase a question to make the AI understand what you are looking for and answer correctly, the AI should simply ask you if it doesn’t understand in a conversational manner.

Tiny Snippets of Code That Changed The World
In 1997, Ethan Zuckerman broke the Internet — by inventing the pop-up ad. When you visited a Tripod page, it would spawn an entirely new pop-up page with just the ad. That way the ad would not be, technically, associated with any particular user page. It’d just be floating there onscreen. As Zuckerman put it, he had written a single line of code “that made the world a measurably worse place.”

Have a great week!

Photo by Asterfolio on Unsplash