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] ) )
)