Marco Russo
SQLBI
Actions
Marco is a business intelligence consultant and mentor. He wrote several books about Power BI, Analysis Service, and Power Pivot. He also regularly write articles and white papers that are available on sqlbi.com. Marco is a Microsoft MVP and an SSAS Maestro, the highest level of certification on Microsoft Analysis Services.
Today, Marco focuses his time with SQLBI customers, traveling extensively to train and consult on DAX and data modeling for Power BI and Analysis Services. Marco also teaches public classes worldwide.
Marco is a regular speaker at international conferences. He also enjoys delivering evening sessions at local user groups during his trips.
Introduction to DAX
The DAX language is the foundation of self-service Business Intelligence using the Microsoft stack. It is the language used to query and program semantic models in Fabric, Power BI, PowerPivot for Excel, and Analysis Services. Learning the basics of DAX is very simple, but mastering it is a different story because it requires a mindset that needs some study for both BI Professionals and Information Workers.
During this one-day workshop, you will learn the basics of the DAX language through many examples and scenarios. These will help you understand the important concepts of DAX and how to leverage them in everyday work.
Topics included:
- DAX Syntax
- Calculated columns, measures, calculated tables
- Table functions
- Filter context
- Row context
- CALCULATE
- Context transition
- Time intelligence calculations
First steps in DAX Optimization
Efficient and optimized DAX code is a big part of your organization’s success: it is faster, makes users happier, and represents significant savings in Fabric capacity.
If you are working with DAX at a level where performance and capacity usage are starting to be key, this workshop is for you. You will learn what is needed to optimize DAX and which tools to use.
Starting from the semantic model architecture, you will understand the internals of the VertiPaq engine used for Import and DirectLake. You will learn how to isolate performance issues by using Performance Analyzer and how to interpret Query plans and Server Timings information provided by DAX Studio.
After an introduction to the DAX query fundamentals, you will also learn several DAX optimization patterns that you can easily apply to your models.
Optimizing DAX in Power BI - Tools and techniques
Overview of the techniques and the tools (free and commercial) available to optimize the performance of DAX expressions in Power BI models. We will see what you can do with Performance Analyzer included in Power BI, how to extract query plans and statistical information with DAX Studio (free and open-source), and the results achievable with the DAX Optimizer service, which uses a revolutionary static analysis of the entire model.
Understanding visual calculations in Power BI
Visual calculations in Power BI aim to simplify user development of calculations at the visual level. They are implemented through a new set of DAX functions and the VISUAL SHAPE clause in DAX queries. In this session, we introduce the feature and then quickly explore how it is implemented, when to use it, and what not to expect from it so that we can make educated choices about when to use it or not.
Understanding window functions in DAX
Window functions (like INDEX, OFFSET, WINDOW, and others) are one of the latest addition to DAX. These functions introduce a new concept named "apply semantics".
Window functions are extremely powerful in simplifying DAX code that needs to work on sorted tables while also increasing performance for several calculations, like running totals, comparing one row with the previous one, etc.
In this session, we introduce window functions and the "apply semantics" through several examples to understand their capabilities and performance.
Using ALLEXCEPT or ALL/VALUES?
In DAX, ALLEXCEPT is a convenient function to remove filters from a table, except for some columns. Being a CALCULATE modifier, it can lead to unexpected results if not used properly. In this session, we show when to use and when to avoid using it to obtain sound code that works in any situation.
When you should avoid using bidirectional filters in Power BI
Bidirectional filters are a powerful tool, probably too powerful for most data models. In this quick talk, we show the reason why most users should avoid using the feature unless they understand well the implications.
Understanding window functions in DAX
Window functions (INDEX, OFFSET, WINDOW, RANK, and ROWNUMBER) are the latest additions to the DAX language; they also introduce a new concept named apply semantics. They are extremely powerful in simplifying writing DAX code that needs to work on sorted tables while sometimes (but not always) increasing performance for several calculations, like running totals, comparing one row with the previous one, etc.
In this session, we introduce window functions and apply semantics through several examples to understand their capabilities and performance.
Time Intelligence in Power BI
Every Power BI model has dates and the need of calculation over dates to aggregate and compare data, like Year-To-Date, Same-Period-Last-Year, Moving Average, and so on. Quick measures and DAX functions can help, but how do you manage holidays, working days, weeks based fiscal calendars and any non-standard calculation?
This session provides you the best practices to correctly shape a data model and to implement time intelligence calculations using both built-in DAX functions and custom DAX calculation for more complex and non-standard requirements.
Understanding relationships in Power BI
Relationships are the foundation of any Power BI or Analysis Services Tabular data model with multiple entities. At first sight, this is a trivial concept, especially if one has a knowledge of relational data modeling. However, the ability to create multiple relationships between the same tables and the existence of bidirectional filters increase the complexity of this topic. In this session, we will discover the complexity behind relationships and how they work in complex and potentially ambiguous data models.
Different types of many-to-many relationships in Power BI
The introduction of the weak relationships in Power BI composite models enables new data modeling techniques. However, not all of the many-to-many relationships can be managed by using weak relationship.
The "classical" many-to-many relationships in data warehouse is a design pattern requiring a bridge table, which is not required by a weak relationship in Power BI. The weak relationship can establish another type of many-to-many relationship that is different from the one commonly used in dimensional modeling, and it commonly solves a granularity issue in managing data coming from different data sources.
This session clarifies design patterns and best practices for using weak relationships and implementing different type of many-to-many relationships in Power BI.
DAX Tips, Tricks and Pitfalls
Join Marco and Phil as they take you through a series of quick-fire tips, tricks and fixes for common performance mistakes in Power BI. This will be a highly educational session with a few fun gems thrown in along the way.
DAX Filter Context in 1 hour
Understanding evaluation contexts is the key to understanding DAX and starting to think in DAX. In this session, we will start from the basics of evaluation context and explain the role of filter context and row context in DAX expressions, providing several examples of formulas where following the flow of contexts correctly is mandatory to make sense of the numbers computed.
At the end of the session, you will have a clearer idea of the importance of evaluation context, and you will probably look at your DAX code differently.
Aggregations in Power BI
Power BI provides manual and automatic aggregations to optimize queries on DirectQuery over SQL models. Pre-aggregated tables can highly improve the performance of the storage engine at the expense of storage and increased processing time.
In this session, we introduce the concept of aggregation; we show several examples of their usage, understanding the advantages and the limitations of aggregations, intending to build a solid understanding of how and when to use the feature in data models. Eventually, we will see how to control the use of manual aggregations in DAX, which can also be used with other storage engines such as VertiPaq and DirectLake.
Advanced DAX
If you already know and use the DAX but want to move to the next level, this training day is for you.
Unleash the full power of evaluation context manipulation, learn about expanded tables, control the data lineage, avoid circular dependencies, and manage relationships at different granularities.
The prerequisite to attend this training is good experience writing DAX measures in Power BI or Analysis Services. You must know row context, filter context, and context transition. You are comfortable with using CALCULATE. You are not afraid to learn something new. At the minimum, watch the free "Introducing DAX" video course and make weeks of practice before attending this training.
Here are a few examples of what you can learn in this workshop:
• Filter columns, not tables. Yes, you already know that, but you will learn many more reasons why it is a good idea.
• Understand when to use ALLEXCEPT, and what to use instead of ALLEXCEPT all the many times when ALLEXCEPT is not a good idea.
• Fix the circular dependency error that might appear when you create a relationship, a calculated column, or a table.
• Control data lineage and play with it by using TREATAS.
• Write granularity-aware measures when you use many-to-many cardinality relationships (yes, you can if you know what you are doing).
SQLBits 2024 - General Sessions Sessionize Event
SQLBits 2024 - Full day training sessions Sessionize Event
ESPC23 - European SharePoint, Office 365 & Azure Conference Sessionize Event
Budapest BI Forum 2023 Sessionize Event
Power BI Next Step 2023 Sessionize Event
Global Azure Torino 2023 Sessionize Event
Power BI Summit 2023 Sessionize Event
SQLBits 2022 Sessionize Event
Power BI Next Step 2021 Sessionize Event
Power Saturday 2021 Sessionize Event
Power BI Summit Sessionize Event
Data Ceili Dublin 2020 Sessionize Event
Pacific Northwest Power BI Online Symposium Sessionize Event
Power Saturday 2020 Sessionize Event
Data Community Weekender Europe Sessionize Event
Power Platform Bootcamp Milan 2020 Sessionize Event
Intelligent Cloud Conference 2019 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top