
要說DAX學(xué)習(xí)過程存在哪些難點,我以為“度量值”算一個,“上下文”算一個

“度量值”和“計算列”的區(qū)別,令很多初學(xué)新人糾結(jié)不已。畢竟大部份人是從EXCEL里繞過來的,遇到問題,習(xí)慣拉起公式添加列,操作近乎條件反射,畢竟添加的計算列實實在在嵌在表格里,公式、數(shù)字、格式都看得見摸得著。若是發(fā)現(xiàn)哪里不對,公式里稍做微調(diào),立馬就能看到列中數(shù)字的變化

“度量值”卻不然。敲完公式,還必須把它放到可視化元素里才會顯出數(shù)字。若第一次數(shù)字不符預(yù)期,嘗試著改公式,卻發(fā)現(xiàn)越改越錯,越錯越急,干脆把公式改回初始狀態(tài),又發(fā)現(xiàn)結(jié)果跟第一遍不同……頓時兩腳踏空,感受到了三體人的威脅

下圖中四個百分比度量值,對初學(xué)者來說算是個不小的困難
即便熟悉Excel透視表的朋友,也很有可能對此束手無策

為什么會出現(xiàn)這種狀況?因為有“上下文”的存在
“上下文”——就是前后語境
在中英文閱讀里,識別上下文是基本技能。一個詞語是褒是貶,一句對白是輕是重,都要靠前后語境來判斷。功力不夠火候不到,就會端著嘲諷當(dāng)贊美,捧著枷鎖當(dāng)獎杯,徒增笑柄

DAX中,“上下文”就是“前后數(shù)境”。數(shù)境這個詞,是我自己拼湊的——既然閱讀靠語境,數(shù)據(jù)環(huán)境下自然就要靠數(shù)境
這個“數(shù)境”,可以是表格里相鄰的行記錄,也可是頁面里各篩選器的疊加集合,前者稱為“行上下文”,后者稱為“篩選上下文”

“上下文”是通向DAX高級功能的門檻。DAX公式無論何時何地,始終都受到兩種上下文的影響——即前面提到的“行上下文”和“篩選上下文”
一個DAX公式的結(jié)果,同時取決于這兩種上下文,這點務(wù)必牢記。后期碰到公式循環(huán)函數(shù)嵌套,很容易會忽略這一點,清晰的概念又會重新被迷霧籠罩。你只要記住,篩選上下文只管篩選,行上下文只管迭代,兩者互不干涉,各司其職
“上下文”盡管從概念上來講很簡單,但從理解掌握到熟練運用,仍需時間。有些細(xì)節(jié),初看或許一頭霧水,不要灰心,更別放棄,暫時擱置疑問。請相信,這些糾結(jié)和困惑,絕不是你才有。建議定期回看本系列,每次必有新收獲
(未完待續(xù))