函式週期表丨篩選丨值丨HASONE二人組

2021-10-09 19:35:05 字數 2373 閱讀 1924

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的表函式模式,通常是將事實表的資料匹配到維...