国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
DAX 第三篇:篩選上下文 和 Filter函數(shù)

Visual上的任何一行或一列都是一個(gè)過(guò)濾上下文,切片器也是一個(gè)過(guò)濾上下文,或者報(bào)表上其他類型的過(guò)濾器,甚至Visual之間的交互,這些過(guò)濾上下文共同構(gòu)成了一個(gè)單元格的過(guò)濾上下文。總的來(lái)說(shuō),報(bào)表的每個(gè)元素都可以創(chuàng)建過(guò)濾上下文,并且報(bào)表的每個(gè)單元格都有不同的過(guò)濾上下文。總結(jié)來(lái)說(shuō),篩選上下文是在報(bào)表中創(chuàng)建的,DAX中只有CALCULATE和CALCULATETABLE兩個(gè)函數(shù)可以創(chuàng)建篩選上下文。

篩選上下文自動(dòng)利用關(guān)系,篩選上下文自動(dòng)通過(guò)關(guān)系來(lái)傳遞,篩選上下文傳遞的方向是關(guān)系的關(guān)系。篩選上下文會(huì)篩選整個(gè)數(shù)據(jù)模型,也就是說(shuō),一旦應(yīng)用了篩選上下文,整個(gè)數(shù)據(jù)模型將會(huì)根據(jù)關(guān)系進(jìn)行篩選。

DAX中最容易引起誤解的一個(gè)函數(shù)是FILTER函數(shù),它是一個(gè)迭代函數(shù),不會(huì)修改篩選上下文,該函數(shù)受到篩選上下文的影響,并根據(jù)條件返回?cái)?shù)據(jù)的子集。修改篩選上下文的函數(shù)有多種,ALL系列函數(shù)是其中的一類函數(shù),用于清除篩選上下文。

一,篩選上下文的構(gòu)成

通常來(lái)說(shuō),DAX中的篩選上下文由三部分構(gòu)成關(guān)系查詢上下文中的單元格(每行的列值)以及報(bào)表元素之間的交互構(gòu)成的過(guò)濾,外部切片器構(gòu)成的顯式過(guò)濾

1,關(guān)系

在數(shù)據(jù)模型中創(chuàng)建關(guān)系,指定交叉過(guò)濾器,作為篩選上下文的組成部分,因此,篩選上下文自動(dòng)使用關(guān)系,并且根據(jù)關(guān)系所設(shè)置的交叉過(guò)濾器方向,產(chǎn)生不同的行為。由于數(shù)據(jù)模型中關(guān)系的存在,因此篩選上下文會(huì)篩選整個(gè)數(shù)據(jù)模型。

2,查詢上下文

 在當(dāng)前查詢的上下文中,每行的列值也會(huì)作為過(guò)濾器,例如,ProductCategoryName和Color是當(dāng)前查詢上下文的行過(guò)濾器:

報(bào)表元素之間的交互也會(huì)構(gòu)成過(guò)濾,影響其他單元格的值。

3,外部切片器

在報(bào)表中設(shè)置的切片器,是在查詢上下文外部的設(shè)置的過(guò)濾器,例如,上圖中的Color切片器就是外部切片器。

二,F(xiàn)ILTER函數(shù)

Filter函數(shù)不改變篩選上下文,F(xiàn)ilter函數(shù)是一個(gè)迭代函數(shù),它掃描一個(gè)已經(jīng)被篩選上下文過(guò)濾后的表,根據(jù)<filter>參數(shù)返回該表的子集。<filter>是一個(gè)bool表達(dá)式,對(duì)<table>的每一行進(jìn)行判斷,返回結(jié)果為True的數(shù)據(jù)行。

FILTER(<table>,<filter>)

參數(shù)是布爾表達(dá)式,用于逐行執(zhí)行,對(duì)表進(jìn)行過(guò)濾,返回條件為True的行,而移除條件為False的行,例如:

FILTER(FactSales, [Amount] > 0 or [Region] = "France")

此函數(shù)不會(huì)單獨(dú)使用,通常需要結(jié)合迭代函數(shù)和CALCULATE函數(shù)來(lái)使用,它的用法需要深刻理解CALCULATE函數(shù)過(guò)濾上下文。

對(duì)于以下的DAX表達(dá)式,F(xiàn)ilter函數(shù)內(nèi)嵌在CALCULATE函數(shù),并在已有的過(guò)濾上下文中對(duì)表[Product]表進(jìn)行過(guò)濾。CALCULATE 函數(shù)接受 FILTER 函數(shù)返回的表表達(dá)式,F(xiàn)ILTER 函數(shù)針對(duì) Product 表的每一行計(jì)算其過(guò)濾器表達(dá)式,只返回Color為Red的數(shù)據(jù)行:

Red Sales =
CALCULATE(
    [Sales],
    FILTER('Product', 'Product'[Color] = "Red")
)

這個(gè)Measure的等價(jià)寫法如下,雖然結(jié)果是相同的,但是第二種寫法的性能更高,它使用布爾表達(dá)式而不是表表達(dá)式。 KEEPFILTERS 函數(shù)確保應(yīng)用到Color列的任何現(xiàn)有過(guò)濾器都被保留,而不是被覆蓋。

Red Sales2 =
CALCULATE(
    [Sales],
    KEEPFILTERS('Product'[Color] = "Red")
)

 

參考文檔:

Filter context

Avoid using FILTER as a filter argument

Filter functions

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CALCULATETABLE 函數(shù) (DAX)
DAX常見函數(shù)大全二
理解CALCULATE原理
12 如何使用Evaluate做Excel數(shù)據(jù)查詢?
PowerBI開發(fā) 第四篇:DAX表達(dá)式
DAX中的表函數(shù)和值函數(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服