前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerBI DAX终极指南(圣经)第二版全球发售开始

PowerBI DAX终极指南(圣经)第二版全球发售开始

作者头像
BI佐罗
发布2019-09-23 19:29:48
1.4K0
发布2019-09-23 19:29:48
举报
文章被收录于专栏:PowerBI战友联盟PowerBI战友联盟

不用多说,PowerBI的用户都知道本书是世界范围对PowerBI DAX解释最权威的著作。目前在微软书店(www.microsoftpressstore.com)正式发售。

发售信息如下:

注意:2019年7月11日出版。

第二版主要内容

Now expanded and updated with modern best practices, this is the most complete guide to Microsoft’s DAX language for business intelligence, data modeling, and analytics. Expert Microsoft BI consultants Marco Russo and Alberto Ferrari help you master everything from table functions through advanced code and model optimization. You’ll learn exactly what happens under the hood when you run a DAX expression, and use this knowledge to write fast, robust code. This edition focuses on examples you can build and run with the free Power BI Desktop, and helps you make the most of the powerful syntax of variables (VAR) in Power BI, Excel, or Analysis Services. Want to leverage all of DAX’s remarkable capabilities? This no-compromise “deep dive” is exactly what you need.

Perform powerful data analysis with DAX for Power BI, SQL Server, and Excel

· Master core DAX concepts, including calculated columns, measures, and calculation groups

· Work efficiently with basic and advanced table functions

· Understand evaluation contexts and the CALCULATE and CALCULATETABLE functions

· Perform time-based calculations

· Use calculation groups and calculation items

· Use syntax of variables (VAR) to write more readable, maintainable code

· Express diverse and unusual relationships with DAX, including many-to-many relationships and bidirectional filters

· Master advanced optimization techniques, and improve performance in aggregations

· Optimize data models to achieve better compression

· Measure DAX query performance with DAX Studio and learn how to optimize your DAX

完整目录

以下凭记忆大致标记了第二版新增的内容。

Table of Contents

Foreword

Introduction to the second edition

Introduction to the first edition

Chapter 1 What is DAX?

Understanding the data model

Understanding the direction of a relationship

DAX for Excel users

Cells versus tables

Excel and DAX: Two functional languages

Iterators in DAX

DAX requires theory

DAX for SQL developers

Relationship handling

DAX is a functional language

DAX as a programming and querying language

Subqueries and conditions in DAX and SQL

DAX for MDX developers

Multidimensional versus Tabular

DAX as a programming and querying language

Hierarchies

Leaf-level calculations

DAX for Power BI users

Chapter 2 Introducing DAX

Understanding DAX calculations

DAX data types

DAX operators

Table constructors

Conditional statements

Understanding calculated columns and measures

Calculated columns

Measures

Introducing variables

Handling errors in DAX expressions

Conversion errors

Arithmetic operations errors

Intercepting errors

Generating errors

Formatting DAX code

Introducing aggregators and iterators

Using common DAX functions

Aggregation functions

Logical functions

Information functions

Mathematical functions

Trigonometric functions

Text functions

Conversion functions

Date and time functions

Relational functions

Conclusions

Chapter 3 Using basic table functions

Introducing table functions

Introducing EVALUATE syntax

Understanding FILTER

Introducing ALL and ALLEXCEPT

Understanding VALUES, DISTINCT, and the blank row

Using tables as scalar values

Introducing ALLSELECTED

Conclusions

Chapter 4 Understanding evaluation contexts

Introducing evaluation contexts

Understanding filter contexts

Understanding the row context

Testing your understanding of evaluation contexts

Using SUM in a calculated column

Using columns in a measure

Using the row context with iterators

Nested row contexts on different tables

Nested row contexts on the same table

Using the EARLIER function

Understanding FILTER, ALL, and context interactions

Working with several tables

Row contexts and relationships

Filter context and relationships

Using DISTINCT and SUMMARIZE in filter contexts

Conclusions

Chapter 5 Understanding CALCULATE and CALCULATETABLE

Introducing CALCULATE and CALCULATETABLE

Creating filter contexts

Introducing CALCULATE

Using CALCULATE to compute percentages

Introducing KEEPFILTERS

Filtering a single column

Filtering with complex conditions

Evaluation order in CALCULATE

Understanding context transition

Row context and filter context recap

Introducing context transition

Context transition in calculated columns

Context transition with measures

Understanding circular dependencies

CALCULATE modifiers

Understanding USERELATIONSHIP

Understanding CROSSFILTER

Understanding KEEPFILTERS

Understanding ALL in CALCULATE

Introducing ALL and ALLSELECTED with no parameters

CALCULATE rules

Chapter 6 Variables

Introducing VAR syntax

Understanding that variables are constant

Understanding the scope of variables

Using table variables

Understanding lazy evaluation

Common patterns using variables

Conclusions

Chapter 7 Working with iterators and with CALCULATE

Using iterators

Understanding iterator cardinality

Leveraging context transition in iterators

Using CONCATENATEX

Iterators returning tables

Solving common scenarios with iterators

Computing averages and moving averages

Using RANKX

Changing calculation granularity

Conclusions

Chapter 8 Time intelligence calculations

Introducing time intelligence

Automatic Date/Time in Power BI

Automatic date columns in Power Pivot for Excel

Date table template in Power Pivot for Excel

Building a date table

Using CALENDAR and CALENDARAUTO

Working with multiple dates

Handling multiple relationships to the Date table

Handling multiple date tables

Understanding basic time intelligence calculations

Using Mark as Date Table

Introducing basic time intelligence functions

Using year-to-date, quarter-to-date, and month-to-date

Computing time periods from prior periods

Mixing time intelligence functions

Computing a difference over previous periods

Computing a moving annual total

Using the right call order for nested time intelligence functions

Understanding semi-additive calculations

Using LASTDATE and LASTNONBLANK

Working with opening and closing balances

Understanding advanced time intelligence calculations

Understanding periods to date

Understanding DATEADD

Understanding FIRSTDATE, LASTDATE, FIRSTNONBLANK, and LASTNONBLANK

Using drillthrough with time intelligence

Working with custom calendars

Working with weeks

Custom year-to-date, quarter-to-date, and month-to-date

Conclusions

Chapter 9 Calculation groups

Introducing calculation groups

Creating calculation groups

Understanding calculation groups

Understanding calculation item application

Understanding calculation group precedence

Including and excluding measures from calculation items

Understanding sideways recursion

Using the best practices

Conclusions

Chapter 10 Working with the filter context

Using HASONEVALUE and SELECTEDVALUE

Introducing ISFILTERED and ISCROSSFILTERED

Understanding differences between VALUES and FILTERS

Understanding the difference between ALLEXCEPT and ALL/VALUES

Using ALL to avoid context transition

Using ISEMPTY

Introducing data lineage and TREATAS

Understanding arbitrarily shaped filters

Conclusions

Chapter 11 Handling hierarchies

Computing percentages over hierarchies

Handling parent/child hierarchies

Conclusions

Chapter 12 Working with tables

Using CALCULATETABLE

Manipulating tables

Using ADDCOLUMNS

Using SUMMARIZE

Using CROSSJOIN

Using UNION

Using INTERSECT

Using EXCEPT

Using tables as filters

Implementing OR conditions

Narrowing sales computation to the first year’s customers

Computing new customers

Reusing table expressions with DETAILROWS

Creating calculated tables

Using SELECTCOLUMNS

Creating static tables with ROW

Creating static tables with DATATABLE

Using GENERATESERIES

Conclusions

Chapter 13 Authoring queries

Introducing DAX Studio

Understanding EVALUATE

Introducing the EVALUATE syntax

Using VAR in DEFINE

Using MEASURE in DEFINE

Implementing common DAX query patterns

Using ROW to test measures

Using SUMMARIZE

Using SUMMARIZECOLUMNS

Using TOPN

Using GENERATE and GENERATEALL

Using ISONORAFTER

Using ADDMISSINGITEMS

Using TOPNSKIP

Using GROUPBY

Using NATURALINNERJOIN and NATURALLEFTOUTERJOIN

Using SUBSTITUTEWITHINDEX

Using SAMPLE

Understanding the auto-exists behavior in DAX queries

Conclusions

Chapter 14 Advanced DAX concepts

Introducing expanded tables

Understanding RELATED

Using RELATED in calculated columns

Understanding the difference between table filters and column filters

Using table filters in measures

Understanding active relationships

Difference between table expansion and filtering

Context transition in expanded tables

Understanding ALLSELECTED and shadow filter contexts

Introducing shadow filter contexts

ALLSELECTED returns the iterated rows

ALLSELECTED without parameters

The ALL* family of functions

ALL

ALLEXCEPT

ALLNOBLANKROW

ALLSELECTED

ALLCROSSFILTERED

Understanding data lineage

Conclusions

Chapter 15 Advanced relationships

Implementing calculated physical relationships

Computing multiple-column relationships

Implementing relationships based on ranges

Understanding circular dependency in calculated physical relationships

Implementing virtual relationships

Transferring filters in DAX

Transferring a filter using TREATAS

Transferring a filter using INTERSECT

Transferring a filter using FILTER

Implementing dynamic segmentation using virtual relationships

Understanding physical relationships in DAX

Using bidirectional cross-filters

Understanding one-to-many relationships

Understanding one-to-one relationships

Understanding many-to-many relationships

Implementing many-to-many using a bridge table

Implementing many-to-many using a common dimension

Implementing many-to-many using MMR weak relationships

Choosing the right type of relationships

Managing granularities

Managing ambiguity in relationships

Understanding ambiguity in active relationships

Solving ambiguity in non-active relationships

Conclusions

Chapter 16 Advanced calculations in DAX

Computing the working days between two dates

Showing budget and sales together

Computing same-store sales

Numbering sequences of events

Computing previous year sales up to last date of sales

Conclusions

Chapter 17 The DAX engines

Understanding the architecture of the DAX engines

Introducing the formula engine

Introducing the storage engine

Introducing the VertiPaq (in-memory) storage engine

Introducing the DirectQuery storage engine

Understanding data refresh

Understanding the VertiPaq storage engine

Introducing columnar databases

Understanding VertiPaq compression

Understanding segmentation and partitioning

Using Dynamic Management Views

Understanding the use of relationships in VertiPaq

Introducing materialization

Introducing aggregations

Choosing hardware for VertiPaq

Hardware choice as an option

Set hardware priorities

CPU model

Memory speed

Number of cores

Memory size

Disk I/O and paging

Best practices in hardware selection

Conclusions

Chapter 18 Optimizing VertiPaq

Gathering information about the data model

Denormalization

Columns cardinality

Handling date and time

Calculated columns

Optimizing complex filters with Boolean calculated columns

Processing of calculated columns

Choosing the right columns to store

Optimizing column storage

Using column split optimization

Optimizing high-cardinality columns

Disabling attribute hierarchies

Optimizing drill-through attributes

Managing VertiPaq Aggregations

Conclusions

Chapter 19 Analyzing DAX query plans

Capturing DAX queries

Introducing DAX query plans

Collecting query plans

Introducing logical query plans

Introducing physical query plans

Introducing storage engine queries

Capturing profiling information

Using DAX Studio

Using the SQL Server Profiler

Reading VertiPaq storage engine queries

Introducing xmSQL syntax

Understanding scan time

Understanding DISTINCTCOUNT internals

Understanding parallelism and datacache

Understanding the VertiPaq cache

Understanding CallbackDataID

Reading DirectQuery storage engine queries

Analyzing composite models

Using aggregations in the data model

Reading query plans

Conclusions

Chapter 20 Optimizing DAX

Defining optimization strategies

Identifying a single DAX expression to optimize

Creating a reproduction query

Analyzing server timings and query plan information

Identifying bottlenecks in the storage engine or formula engine

Implementing changes and rerunning the test query

Optimizing bottlenecks in DAX expressions

Optimizing filter conditions

Optimizing context transitions

Optimizing IF conditions

Reducing the impact of CallbackDataID

Optimizing nested iterators

Avoiding table filters for DISTINCTCOUNT

Avoiding multiple evaluations by using variables

Conclusions

从目录来看,意大利老师在第二版除了基础部分保持了与第一版一样的结构,在一些高级内容的用法上,讲解结构似乎有所调整,待拿到新书后再一一讲解。

注意事项

目前预发售为纸质版,暂无电子版。

电子版预计本月发售。

Amazon暂时无货。

因此,目前可以预定纸质版,是否可以成功购买或邮寄请以出版社信息为准。关于本书任何更新以及新书众筹活动会更新,请大家留意。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI战友联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Table of Contents
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档