isonorafter函式
isonorafter函式隸屬於「資訊」類函式。這個函式的出場率並不是特別高,其效果類似於start at的行為,屬於冷門函式之一。
用途:可以用來劃定範圍。
語法
dax=
isonorafter(《值1>, 《值2>[, 排序 [, 《值1>, 《值2>[, 排序]]…)
引數值1:(可重複)與第二引數進行對比的表示式;
值2:(可重複)與第一引數進行對比的表示式;
排序:(可選項可重複)用來排序使用,desc表示降序,asc表示公升序。
返回結果
true或者false
例子
輸入如下**作為模擬資料:
日期表 =
generate (
calendar ( date ( 2018, 1, 1 ), date ( 2020, 12, 31 ) ),
var da = [date]
var year =
format ( da, "yyyy" )
var quarter =
"季度" & format ( da, "q" )
var monte =
format ( da, "mm" ) & "月"
var day =
day ( da )
var weekid =
weekday ( da, 2 )
var you =
year ( da )
var tol =
format ( da, "mm" )
var tpo =
format ( da, "dd" )
var yearr =
format ( da, "yyyymm" )
return
row (
"年度", year,
"季度", quarter,
"月份", monte,
"日", day,
"年度季度", year & quarter,
"年度月份", year & monte,
"星期", weekid,
"索引", you & tol & tpo,
"年月", value ( yearr )))
如圖:
例子1:
isonorafter例子1 =
filter ( '日期表', isonorafter ( '日期表'[年度], "2019", desc ) )
結果:
按照降序的結果,返回為2023年到2023年的所有資料。
其實,白茶不太喜歡官方的描述,因為不好理解,按照白茶個人的理解就是尋找乙個點,降序就是取這個點前半部分的值,公升序就是取後半部分的值。
微軟官方解釋:例子2:公升序是篩選第一引數大於等於第二引數的值;
降序是篩選第一引數小於等於第二引數的值。
**1:
isonorafter例子2 =
var tl =
summarize ( '日期表', '日期表'[年度], '日期表'[月份], '日期表'[日], '日期表'[索引] )
return
filter ( tl, isonorafter ( [年度], "2019", asc, [月份], "04月", asc ) )
結果:
當出現兩組比較值的情況下,這個結果看起來比較迷,別急,我們再輸入一組**。
**2:
isonorafter例子3 =
var tl =
summarize ( '日期表', '日期表'[年度], '日期表'[月份], '日期表'[日], '日期表'[索引] )
return
filter ( tl, isonorafter ( [年度], "2019", asc, [月份], "04月", desc ) )
結果:
這段**返回結果是2023年1-4月,以及2023年的資料。
看到這,小夥伴們是不是很迷?
別急,聽白茶慢慢叨叨。
可能小夥伴們覺得返回結果應該是只有2023年1-4月的資料,而不是包含2023年的資料;
這樣和白茶最初的理解差不多,覺得這個函式是類似於and的效果,當二者都正確時返回true,但是這個函式不是這樣的。
先來看看例子2中的**1:
白茶將這段**拆分成兩部分:
在1這段**中,返回結果應該是按照公升序排列的結果,也就是2023年到2023年的資料;
2這段**返回的結果是按照公升序的結果,返回的是4月之後的資料;
先排序,再查詢,在2023年至2023年這個時間段中,2023年四月份為節點,那麼返回結果就是2023年4月至2023年的所有資料。
再來看例子2中的**:
依舊將其拆分成兩部分:
1的結果返回為2023年至2023年的資料;
2的結果返回為2023年4月至2023年1月的資料,不包含2023年4月之後的資料;
粉色和白色的線代表1的結果,黃線代表2的結果。
當1和2有交集的時候,那麼這段資料算在內,也就是2023年1月至2023年4月的資料,即正+正=正;小夥伴們❤get了麼?白茶會不定期的分享一些函式卡片(檔案在知識星球[powerbi丨需求圈])在1部分中,包含2023年4月至2023年12月,而2不包含這個時間段這部分資料,正+負=負,結果為負,因此這段時間省略不計;
從2023年1月開始的這段時間,包含在1中,而2的結果沒有計算這一部分,因此只有正,所以2023年計算在內,因此返回結果為2023年1月到4月加上2023年全年的這部分資料。
這裡是白茶,乙個powerbi的初學者。
函式週期表丨資訊丨值丨CONTAINS
contains函式 contains函式,隸屬於 資訊 類函式。用途 適用於多列條件判定。流景大佬提過,這個函式有點落後了,但是白茶覺得這個函式相對於其他多列判定而言,更容易被理解。語法 dax contains 表 被比較的列 比較值 被比較的列 比較值 引數表 可以是現有列,也可以是表示式。被...
函式週期表丨資訊丨值丨資訊類函式
資訊類函式 這一部分函式,屬於用法比較簡單的資訊類函式,沒有什麼太大的說道,通常可以用在任意一種邏輯表示式。結果返回都是true或者false。用途 用來判定各種資料型別。isblank dax isblank 值 作用 判定值是否為空白。iserror dax iserror 值 作用 判定值是否...
函式週期表丨資訊丨值丨IN和CONTAINSROW
in運算子和containsrow函式 in和containsrow函式隸屬於 資訊 類函式,二者除了語法上的區別,其效果是等同的。用途 適用於多列條件判定。相對於contains函式而言,二者的寫法和運算更為優化。注 二者執行完全相等的比較,空值不能等同於0。語法語法1 dax1 比較值 in 被...