IntroductionToDAX
1.0.0
基于SQLBI介绍的DAX视频课程。
DAX是一种功能性语言,执行使用功能调用。
语言的语言:
重要差异:
许多新功能
专为数据模型和业务计算而设计
呢代码格式在DAX中很重要,因为它使代码调试变得容易。对于自动格式化DAX代码,可以使用DaxFormatter。
SUM
AVERAGE
MIN
MAX
SUMX
AVERAGEX
MINX
MAXX
SUMX (
Sales,
Sales[Price] * Sales[Quantity]
)
Quantity =
VAR TotalQuantity = SUM ( Sales[Quantity] )
RETURN
IF (
TotalQuantity > 1000,
TotalQuantity * 0.95,
TotalQuantity * 1.25
)
DATE, DATEVALUE, DAY, EDATE,
EOMONTH, HOUR, MINUTE,
MONTH, NOW, SECOND, TIME,
TIMEVALUE, TODAY, WEEKDAY,
WEEKNUM, YEAR, YEARFRAC
FILTER
ALL
VALUES
DISTINCT
RELATEDTABLE
ALL ( Customers[CustomerName] )一起使用,结果是一个具有一列的表 NumOfProducts =
COUNTROWS (
DISTINCT ( Product[ProductCode] )
)
NumOfProducts = COUNTROWS ( RELATEDTABLE ( Product ) )
呢滤波器上下文过滤表。行上下文迭代行!
CALCULATE (
Expression,
Filter1,
…
Filtern
)
1。过滤器和总和在同一表上。您可以使用过滤器获得相同的结果。
NumOfBigSales =
CALCULATE (
SUM ( Sales[SalesAmount] ),
Sales[SalesAmount] > 100
)
2.仅在一列上透明过滤器。全部与单列表一起使用。
CALCULATE (
SUMX (
Orders,
Orders[Amount]
),
ALL ( Orders[Channel] )
)
- 关系影响滤波器上下文
RELATED ( table[column] )
RELATEDTABLE ( table )
SUM() vs CALCULATE(SUM()) CALENDAR (
DATE ( YEAR ( MIN ( Sales[Order Date] ) ), 1, 1 ),
DATE ( YEAR ( MIN ( Sales[Order Date] ) ), 12, 31 )
)
DATESYTD和TOTALYTD
SalesAmountYTD =
CALCULATE (
SUM ( Sales[SalesAmount] ),
DATESYTD ( 'Date'[Date] )
)
SalesAmountYTD :=
TOTALYTD (
SUM ( Sales[SalesAmount] ),
'Date'[Date],
"06-30"
)
Sales_SPLY =
CALCULATE (
SUM ( Sales[SalesAmount] ),
SAMEPERIODLASTYEAR ( 'Date'[Date] )
)
SalesAmountRT =
CALCULATE (
SUM ( Sales[SalesAmount] ),
FILTER ( ALL ( 'Date' ), 'Date'[Date] <= MAX ( 'Date'[Date] ) )
)