Book Image

Expert Data Modeling with Power BI

By : Soheil Bakhshi
Book Image

Expert Data Modeling with Power BI

By: Soheil Bakhshi

Overview of this book

This book is a comprehensive guide to understanding the ins and outs of data modeling and how to create data models using Power BI confidently. You'll learn how to connect data from multiple sources, understand data, define and manage relationships between data, and shape data models to gain deep and detailed insights about your organization. In this book, you'll explore how to use data modeling and navigation techniques to define relationships and create a data model before defining new metrics and performing custom calculations using modeling features. As you advance through the chapters, the book will demonstrate how to create full-fledged data models, enabling you to create efficient data models and simpler DAX code with new data modeling features. With the help of examples, you'll discover how you can solve business challenges by building optimal data models and changing your existing data models to meet evolving business requirements. Finally, you'll learn how to use some new and advanced modeling features to enhance your data models to carry out a wide variety of complex tasks. By the end of this Power BI book, you'll have gained the skills you need to structure data coming from multiple sources in different ways to create optimized data models that support reporting and data analytics.
Table of Contents (18 chapters)
1
Section 1: Data Modeling in Power BI
4
Section 2: Data Preparation in Query Editor
10
Section 3: Data Modeling
13
Section 4: Advanced Data Modeling

Dealing with Date, DateTime, and DateTimeZone

Generating date, datetime, and datetimezone values in Power Query is simple. We just need to use the three functions.

To generate date values, we can use the following command:

#date(year as number, month as number, day as number)

To generate datetime values, we can use the following command:

#datetime(year as number, month as number, day as number, hour as number, minute as number, second as number)

To generate datetimezone values, we can use the following command:

#datetimezone(year as number, month as number, day as number, hour as number, minute as number, second as number, offsetHours as number, offsetMinutes as number)

The following code generates a record of the Date, DateTime, and DateTimeZone values:

let
    Source = [Date = #date(2020, 8, 9)
            , DateTime = #datetime(2020, 8, 9, 17, 0, 0)
     ...