hasonefilter函式與hasonevalue函式
嚴格來說,hasonefilter函式與hasonevalue函式屬於「篩選判斷」類函式,隸屬於「值」函式,當符合條件時,結果返回true或false。
用途:通常用來去掉總計欄合計。
語法
語法1:
dax=
hasonefilter(《列》)
等同於以下**:
countrows ( filters ( 《列》 ) ) = 1
語法2:
dax=
hasonevalue(《列》)
等同於以下**:
countrows ( values ( 《列》 ) ) = 1
引數列:必須是現有物理列,不能是表示式。
返回結果
true或false。
區別二者用途基本上是類似的,例子模擬資料:區別在於hasonefilter受直接篩選影響;
而hasonevalue受交叉篩選影響。
這是白茶隨機模擬的一組資料。
例子1:
**1:
hasonefilter =
if ( hasonefilter ( '例子'[類別] ), sum ( '例子'[資料] ), blank () )
**2:
hasonevalue =
if ( hasonevalue ( '例子'[類別] ), sum ( '例子'[資料] ), blank () )
結果:
當二者同處於引數上下文環境中,作用是一致的,就是去掉總計欄總計。
在這個上下文中,難以分辨二者的區別,換個上下文:
度量值白茶沒有任何修改,還是上面的兩組**,小夥伴們思考一下問題出在**呢?
思考一下!
1
2
3
…
二者的區別在於受到篩選影響不同:1、hasonefilter函式只受到直接篩選影響。
在上述圖中,因為直接篩選條件**[類別]**並不在當前上下文中,預設篩選條件為空,因此hasonefilter返回結果為false。
2、hasonevalue函式受到交叉篩選影響,且判斷當前列是否存在唯一值,存在則返回true,否則返回false。
因為受到交叉篩選影響,此上下文中**[組別]篩選效果等同於[類別]**,且只有「鞋組」是唯一值,所以呈現結果為14;
同理受到交叉篩選影響,此上下文中**[日期]篩選效果等同於[類別]**,且每乙個都是唯一值,所以呈現所有資料。
小夥伴們❤get了麼?
白茶會不定期的分享一些函式卡片
(檔案在知識星球[powerbi丨需求圈])
這裡是白茶,乙個powerbi的初學者。
函式週期表丨篩選丨值丨SELECTEDVALUE
selectedvalue函式 selectedvalue函式屬於 篩選 類函式,隸屬於 表函式 微軟官方介紹是這麼說的 當指定列當前上下文中只有乙個非重複值時,返回該值 否則返回替代結果,省略則返回空值 其實按照白茶的理解,通俗點來說,就是根據當前上下文匹配相關值。用途 通常用於度量值中,獲取外部...
函式週期表丨篩選丨值丨KEEPFILTERS
keepfilters函式 如果說,calculate函式和calculatetable函式是霸道的話,那麼keepfilters函式就是溫柔。calculate函式,本身的作用我們都知道,就是修改上下文形成新的上下文,會覆蓋原有列的所有上下文,以calculate函式的結果作為新的上下文。其本身行...
函式週期表丨篩選丨值 表丨RELATED系列
related函式relatedtable函式 這兩個函式屬於 篩選 類函式,通常情況下適用於跨表計算。用途 根據模型關係,匹配對應數值。related會根據模型關係將維度表的資料匹配到事實表,也就是多端找一端對應值 relatedtable是related的表函式模式,通常是將事實表的資料匹配到維...