PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式_第1頁
PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式_第2頁
PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式_第3頁
PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式_第4頁
PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第1頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第1頁。4.1DAX基礎(chǔ)DAX也稱公式語言,它與Java、Python、C++等計算機程序設計語言不一樣,它經(jīng)過公式來完成計算。DAX與Excel公式非常相同,而且大個別函數(shù)都是通用。本節(jié)主要內(nèi)容:語法規(guī)則運算符數(shù)據(jù)類型上下文PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第2頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第2頁。4.1.1 語法規(guī)則語法規(guī)則是DAX公式編寫規(guī)則。一個DAX公式通常包含度量值、函數(shù)、運算符、列引用等組成,如圖所表示。度量值度量值類似于程序設計語言中全局變量,是一個標量,通常見于表示單個值。比如,求和、求平均值、求最大值等結(jié)果為單個值,可定義為度量值。度量值可在報表任意位置使用。在PowerBIDesktop中,可用公式來創(chuàng)建度量值、列和表,所以等號左側(cè)能夠是新建度量值、列或表名稱。用公式創(chuàng)建列和表可分別稱為計算列和計算表。等號等號表示公式開始,其后是完成各種計算表示式。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第3頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第3頁。函數(shù)PowerBIDesktop提供了大量內(nèi)置函數(shù),這些函數(shù)通常見于在數(shù)據(jù)表中返回單個值,或者返回包含單列或多列表。運算符運算符完成對應計算。列引用在公式中除了列引用,還包括度量值和表引用。列和度量值在引用時,名稱必須放在方括號中。在引用表時,表名稱包含空格或其它特殊符號時,必須將名稱放在單引號中,不然能夠直接使用名稱。引用列時,假如列不屬于當前數(shù)據(jù)表,則必須用數(shù)據(jù)表名稱限定列,比如,“'銷售數(shù)據(jù)'[銷量]”或者“銷售數(shù)據(jù)[銷量]”。使用數(shù)據(jù)表名稱限定列名也稱為完全限定,提議在公式中都使用完全限定,防止產(chǎn)生誤解。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第4頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第4頁。DAX公式與Excel公式類似,二者主要區(qū)分以下。Excel公式能夠直接引用單個單元格或某個范圍多個單元格。PowerBI公式只能直接引用完整數(shù)據(jù)表或數(shù)據(jù)列。經(jīng)過篩選器和函數(shù),可取得列一個別、列中唯一值或者表一個別引用。DAX公式與Excel支持數(shù)據(jù)類型并非完全相同。通常,DAX提供數(shù)據(jù)類型比Excel多,在導入數(shù)據(jù)時DAX會對一些數(shù)據(jù)執(zhí)行隱式類型轉(zhuǎn)換。DAX公式還含有以下特點。DAX公式不能修改表中原有數(shù)據(jù),只能經(jīng)過新建列操作為表添加數(shù)據(jù)。可經(jīng)過DAX公式創(chuàng)建計算列、度量值和表,但不能創(chuàng)建計算行。在DAX公式中,不限制函數(shù)嵌套調(diào)用。DAX提供了返回表函數(shù)。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第5頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第5頁。4.1.2 運算符DAX支持4種運算符:算術(shù)運算符、比較運算符、文本串聯(lián)運算符和邏輯運算符。1.算術(shù)運算符算術(shù)運算符用于執(zhí)行算術(shù)運算,運算結(jié)果為數(shù)值。符號說明舉例+加法運算2+3-減法運算或負數(shù)符號2-3*乘法運算2*3/除法運算2/3^求冪2^3PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第6頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第6頁。2.比較運算符比較運算符用于比較操作數(shù)關(guān)系,運算結(jié)果為邏輯值True或False。符號說明舉例=等于[語文]=60>

大于[語文]>60<

小于[語文]<60>=大于或等于[語文]>=60<=小于或等于[語文]<=60<>

不等于[語文]<>60PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第7頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第7頁。3.文本串聯(lián)運算符文本串聯(lián)運算符只有一個:&,用于將兩個字符串連接成一個字符串。比如,"abc"&"123",結(jié)果為"abc123"4.邏輯運算符邏輯運算符用于執(zhí)行邏輯運算,運算結(jié)果為邏輯值True或False。符號說明舉例&&邏輯與,兩個操作數(shù)都為True時,運算結(jié)果為True,不然為False[語文]=60&&[數(shù)學]>60||邏輯或,兩個操作數(shù)都為False時,運算結(jié)果為False,不然為True[語文]>60||[數(shù)學]>60PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第8頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第8頁。4.1.3 數(shù)據(jù)類型1.數(shù)字類型PowerBIDesktop支持三種數(shù)字類型:小數(shù)、定點小數(shù)和整數(shù)。 小數(shù):表示64位(8字節(jié))浮點數(shù)。能夠處理從-1.79E+308到-2.23E-308負數(shù)、0,以及從2.23E-308到1.79E+308正數(shù)。定點小數(shù):小數(shù)點位置固定,小數(shù)點后固定有四位有效數(shù)字數(shù),最多19位有效數(shù)字。它能夠表示值范圍為-922,337,203,685,477.5807到+922,337,203,685,477.5807。整數(shù):表示64位(8字節(jié))整數(shù)值。最多允許19位有效數(shù)字,取值范圍從-,223,372,036,854,775,808到9,223,372,036,854,775,807。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第9頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第9頁。2.日期時間類型PowerBIDesktop支持查詢視圖中五種日期時間數(shù)據(jù)類型,以及報表視圖和模型中三種日期時間數(shù)據(jù)類型。日期/時間:表示日期和時間值。日期/時間值以小數(shù)類型進行存放,能夠在這兩種類型之間進行轉(zhuǎn)換。日期時間個別存放為1/300秒(3.33ms)整數(shù)倍分數(shù)。支持1900年和9999年之間日期。日期:僅表示日期,沒有時間個別。時間:僅表示時間,沒有日期個別。日期/時間/時區(qū):表示UTC日期/時間。數(shù)據(jù)加載后,會被轉(zhuǎn)換為日期/時間類型。連續(xù)時間:表示時間長度。數(shù)據(jù)加載后,會被轉(zhuǎn)換為十進制數(shù)類型??蓪⑵渑c日期/時間字段執(zhí)行加法和減法運算。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第10頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第10頁。3.文本類型文本類型為Unicode字符串,其最大字符串長度為268,435,456個Unicode字符或536,870,912字節(jié)。4.True/False類型True/False類型表示邏輯值True或False。5.空值/Null類型空值/Null類型可在DAX中表示和替換SQL中Null??捎肂LANK函數(shù)創(chuàng)建空值,也可用ISBLANK邏輯函數(shù)測試空值。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第11頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第11頁。4.1.4 上下文上下文(Context)在眾多高級程序設計語言中使用,它代表了變量、函數(shù)、程序運行環(huán)境。上下文也是DAX一個主要概念。在DAX中,上下文是公式計算環(huán)境。DAX公式中有兩種上下文:行上下文和篩選上下文。1.行上下文行上下文能夠了解為當前統(tǒng)計(當前行)。從數(shù)據(jù)源獲取各種數(shù)據(jù)后,PowerBIDesktop將其以關(guān)系表(二維表)形式存放。在計算函數(shù)時,通常都會應用某一行中某個列數(shù)據(jù),此時行就是當前計算行上下文。2.篩選上下文篩選上下文能夠了解為作用于表篩選條件(篩選器),函數(shù)應用篩選出數(shù)據(jù)(單個或多個值)完成計算。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第12頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第12頁。4.2 DAX函數(shù)函數(shù)是經(jīng)過使用特定值、調(diào)用參數(shù),并按特定次序或結(jié)構(gòu)來執(zhí)行計算預定義公式。函數(shù)參數(shù)能夠是其它函數(shù)、另一個公式、表示式、列引用、數(shù)字、文本、邏輯值(如True或False)或者常量。本節(jié)主要內(nèi)容:DAX函數(shù)概述聚合函數(shù) 邏輯函數(shù) 數(shù)學函數(shù) 文本函數(shù) 信息函數(shù) 日期和時間函數(shù)時間智能函數(shù)篩選器函數(shù)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第13頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第13頁。4.2.1 DAX函數(shù)概述DAX中函數(shù)按類型可分為:日期和時間函數(shù)、時間智能函數(shù)、信息函數(shù)、邏輯函數(shù)、數(shù)學函數(shù)、統(tǒng)計函數(shù)、文本函數(shù)等。DAX函數(shù)含有以下特點。DAX函數(shù)一直引用整列或整個表。假如僅想使用表或列中某個特定值,則需為公式添加篩選器。在需要逐行自定義計算時,DAX允許將當前行值或關(guān)聯(lián)值作為參數(shù)。DAX函數(shù)可返回計算表,計算表可作為其它函數(shù)參數(shù)。DAX提供了各種時間智能函數(shù)。這些函數(shù)可用于定義或選擇日期范圍,方便執(zhí)行動態(tài)計算。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第14頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第14頁。DAX對內(nèi)置函數(shù)參數(shù)名稱進行了規(guī)范化參數(shù)說明expression表示返回單個標量值DAX表示式,表示式依據(jù)上下文確定計算次數(shù)。value表示返回單個標量值DAX表示式,其中,表示式將在執(zhí)行全部其它操作之前僅計算一次。table表示返回數(shù)據(jù)表DAX表示式。tableName使用標準DAX語法表名稱,不能是表示式。columnName使用標準DAX語法列名稱,通常是完全限定名稱,不能是表示式。name一個字符串常量,用于提供新對象名稱。order用于確定排序次序枚舉常量。ties用于確定怎樣處理等同值枚舉常量。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第15頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第15頁。4.2.2聚合函數(shù)AVERAGE(<column>)計算列中全部數(shù)字平均值。假如列中包含文本,則不執(zhí)行計算,函數(shù)返回空值。列中包含空單元或邏輯值時,則忽略這些值,不對行進行計數(shù)。值為0納入計算,對行計數(shù)。比如:=AVERAGE('成績數(shù)據(jù)'[語文])AVERAGEA(<column>)計算列中全部值平均值。列中非數(shù)字值處理規(guī)則為:計算結(jié)果為True值作為1計數(shù),計算結(jié)果為False值、包含非數(shù)字文本值、空文本("")和空單元均作為0計數(shù)。比如:=AVERAGEA('成績數(shù)據(jù)'[語文])AVERAGEX(<table>,<expression>)計算表中表示式計算結(jié)果平均值。比如:=AVERAGEX('成績數(shù)據(jù)',[語文]+[數(shù)學]+[外語])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第16頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第16頁。COUNT(<column>)對列中數(shù)字和日期進行計數(shù)。假如單元包含不能轉(zhuǎn)換成數(shù)字文本,則不對該行進行計數(shù)。假如列中沒有可計數(shù)單元,函數(shù)返回空值。比如:=COUNT('成績數(shù)據(jù)'[語文])COUNTA(<column>)對列中非空單元進行計數(shù)。比如:=COUNTA(('成績數(shù)據(jù)'[語文])COUNTAX(<table>,<expression>)對表中每一行計算表示式,返回表示式計算結(jié)果不為空數(shù)目。比如:=COUNTAX('成績數(shù)據(jù)',[專業(yè)代碼])COUNTROWS(<table>)計算指定表行數(shù)。比如:=COUNTROWS('成績數(shù)據(jù)')PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第17頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第17頁。MAX(<column>)返回數(shù)值列中最大值。比如:=MAX([語文])MIN(<column>)返回數(shù)值列中最小值。比如:=MIN([語文])RANK.EQ(<value>,<columnName>[,<order>])計算value在列columnName中排名。order指定排名方式,可省略。order為0(默認)時,列中最大值排名為1;order為1時,列中最小值排名為1。比如,創(chuàng)建語文成績排名列。=RANK.EQ('成績數(shù)據(jù)'[語文],'成績數(shù)據(jù)'[語文])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第18頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第18頁。RANKX(<table>,<expression>[,<value>[,<order>[,<ties>]]])計算表table中表示式expression計算結(jié)果在value中排名。參數(shù)order與RANK.EQ()函數(shù)中一致。參數(shù)ties為skip(默認)時,相同排名要計數(shù),比如,有5個值排名第10,則下一個排名為15(10+5)。參數(shù)ties為Dense時,相同排名只計數(shù)1次,比如,有5個值排名第10,則下一個排名為11。比如:=RANKX('成績數(shù)據(jù)','成績數(shù)據(jù)'[外語]+'成績數(shù)據(jù)'[數(shù)學]+'成績數(shù)據(jù)'[語文])SUM(<column>)對列中數(shù)值進行求和。比如:=SUM('銷售數(shù)據(jù)'[銷量])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第19頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第19頁。SUMMARIZE(<table>,<groupBy_columnName>[,<groupBy_columnName>]…[,<name>,<expression>]…)對表table中數(shù)據(jù)按分組列g(shù)roupBy_columnName計算表示式expression,計算結(jié)果作為列name值,返回表包含分組列和計算結(jié)果列。能夠有多個分組列。計算表示式expression也可有多個,每個表示式一個名稱name。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第20頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第20頁。4.2.3邏輯函數(shù)AND(<logical1>,<logical2>)對兩個邏輯值計算邏輯與。比如:=AND(AVERAGE('成績數(shù)據(jù)'[語文])>60,AVERAGE('成績數(shù)據(jù)'[數(shù)學])>60)NOT(<logical>)對邏輯值取反。比如:=NOT(AVERAGE('成績數(shù)據(jù)'[語文])>60)OR(<logical1>,<logical2>)對兩個邏輯值計算邏輯或。比如:=OR(AVERAGE('成績數(shù)據(jù)'[語文])>60,AVERAGE('成績數(shù)據(jù)'[數(shù)學])>60)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第21頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第21頁。TRUE()返回邏輯值True。比如:=TRUE()FALSE()返回邏輯值False。比如:=FALSE()IF(logical_test>,<value_if_true>,value_if_false)假如條件logical_test為True,則返回值value_if_true;不然返回值value_if_false。比如:=IF([成績]>55,"合格","不合格")PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第22頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第22頁。IFERROR(value,value_if_error)在計算value發(fā)生錯誤時,函數(shù)返回value_if_error值,不然返回value值。比如:=IFERROR([成績]>55,"犯錯")SWITCH(<expression>,<value>,<result>[,<value>,<result>]…[,<else>])計算表示式expression,計算結(jié)果與某個value匹配時,對應result作為函數(shù)返回值。假如沒有值與計算結(jié)果匹配,則else作為函數(shù)返回值。比如:=SWITCH([weekday],1,"周一",2,"周二",3,"周三",4,"周四",5,"周五",6,"周六",7,"周日","非法數(shù)")PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第23頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第23頁。4.2.4數(shù)學函數(shù)ABS(<number>)求number絕對值。比如:=ABS([銷售量]-100)CEILING(<number>,<significance>)將數(shù)字number向上舍入到最靠近整數(shù)或基數(shù)significance最靠近倍數(shù)。比如,下面表示式將單價舍入為整數(shù)。=CEILING([單價],1)FLOOR(<number>,<significance>)將數(shù)字number向下舍入到最靠近整數(shù)或基數(shù)significance最靠近倍數(shù)。比如:=CEILING([單價],0.5)。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第24頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第24頁。INT(<number>)將數(shù)字number向下舍入到最靠近整數(shù)。比如,下面表示式返回-5。=INT(-4.3)TRUNC(<number>)返回數(shù)字整數(shù)個別。比如,下面表示式返回-4。=TRUNC(-4.3)RAND()返回大于或等于0且小于1隨機數(shù)字。比如:=RAND()PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第25頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第25頁。RANDBETWEEN(<bottom>,<top>)返回指定范圍內(nèi)隨機數(shù)字。比如,返回1和10之間隨機數(shù)字。=RANDBETWEEN(1,10)ROUND(<number>,<num_digits>)將數(shù)字舍入到指定位數(shù)。假如num_digits大于0,則將數(shù)字舍入到指定小數(shù)位數(shù)。假如num_digits為0,則將數(shù)字舍入到最靠近整數(shù)。假如num_digits小于0,則將數(shù)字向小數(shù)點左側(cè)舍入。比如,下面表示式返回3.3。=ROUND(3.25,1)比如,下面表示式返回30。=ROUND(32.5,-1)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第26頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第26頁。4.2.5文本函數(shù)BLANK()返回一個空值。比如:=BLANK()EXACT(<text1>,<text2>)比較兩個文本字符串;假如它們完全相同則返回True,不然返回False。EXACT區(qū)分大小寫但忽略格式上差異。比如:=EXACT("ab","xABC")FIND(<find_text>,<within_text>[,[<start_num>][,<NotFoundValue>]])在字符串within_text中start_num指定位置開始查找find_text最先出現(xiàn)位置。start_num省略時,從第1個字符開始查找。NotFoundValue指定未找到時返回值,默認為空值。比如:=FIND("a","blankabc")PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第27頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第27頁。LEFT(<text>,<num_chars>)從文本字符串開頭返回指定數(shù)目標字符。比如:=LEFT("abcd",3)RIGHT(<text>,<num_chars>)從文本字符串末尾返回指定數(shù)目標字符。=RIGHT("abcd",3)MID(<text>,<start_num>,<num_chars>)依據(jù)給出開始位置start_num和長度num_chars,從文本字符串text中間返回字符串。比如:=MID("abcdef",2,3)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第28頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第28頁。4.2.6信息函數(shù)CONTAINS(<table>,<columnName>,<value>[,<columnName>,<value>]…)假如在表table列columnName中包含value,則函數(shù)返回True,不然返回False。比如:=CONTAINS('成績數(shù)據(jù)','成績數(shù)據(jù)'[專業(yè)代號],306003)ISBLANK(<value>)假如值value為空白,則返回True,不然返回False。=ISBLANK([度量值2])ISNUMBER(<value>)假如值value為數(shù)字,則返回True,不然返回False。=ISNUMBER([度量值2])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第29頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第29頁。ISTEXT(<value>)假如值value為文本,則返回True,不然返回False。=ISTEXT([度量值2])LOOKUPVALUE(<result_column>,<search_column>,<search_value>…)在search_column中查找search_value,假如找到匹配值,則返回該行中result_column列值;沒有找到匹配值,則返回空值。比如,返回總成績排名第3專業(yè)代碼:=LOOKUPVALUE('成績數(shù)據(jù)'[專業(yè)代號],'成績數(shù)據(jù)'[總成績排名],3)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第30頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第30頁。4.2.7日期和時間函數(shù)DATE(<year>,<month>,<day>)用給定整數(shù)表示年、月、日創(chuàng)建日期,返回datetime格式值。year值在0到99之間時,會加上1900作為年份值,比如DATE(90,1,1)返回日期為“1990年1月1日”。month超出月份有效數(shù)字1到12范圍時,會以12為基數(shù)取模,并加減年份,比如,下面表示式返回日期為“年11月1日。=DATE(,-1,1)比如,下面表示式返回日期為“年2月1日”。=DATE(,14,1)類似地,假如參數(shù)day超出了指定月份日有效范圍,會加減月份來取得正確日期。比如,下面表示式返回日期為“年1月30日”。=DATE(,14,-1)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第31頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第31頁。DATEVALUE(date_text)將文本形式日期轉(zhuǎn)換為日期時間格式日期。比如,=DATEVALUE("08/2/17")NOW()返回當前日期時間。比如:=NOW()TODAY()返回當前日期。比如:=TODAY()PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第32頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第32頁。YEAR(<date>)返回日期中以4位整數(shù)表示年份。比如:=YEAR(NOW())MONTH(<datetime>)返回日期中月份,1到12內(nèi)數(shù)字。比如:=MONTH(NOW())DAY(<date>)返回日期中日,1到31內(nèi)數(shù)字。比如:=DAY(NOW())PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第33頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第33頁。HOUR(<datetime>)返回時間中小時,0到23內(nèi)數(shù)字。比如:=HOUR(NOW())MINUTE(<datetime>)返回時間中分鐘,0到59內(nèi)數(shù)字。比如:=MINUTE(NOW())SECOND(<time>)返回時間中秒,0到59內(nèi)數(shù)字。比如:=SECOND(NOW())PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第34頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第34頁。TIME(hour,minute,second)將作為數(shù)字提供小時、分鐘和秒鐘轉(zhuǎn)換為datetime格式時間,默認日期為“1899年12月30日”。比如,下面表示式返回日期時間為“1899年12月30日13:04:50”。=TIME(13,4,50)TIMEVALUE(time_text)將文本格式時間轉(zhuǎn)換為datetime格式時間,默認日期為“1899年12月30日”。比如,下面表示式返回日期時間為“1899年12月30日13:04:50”。=TIMEVALUE("13:04:50")WEEKDAY(<date>,<return_type>)返回日期是星期幾。return_type為1(默認)時,星期日為1,星期六為7;return_type為2時,星期一為1,星期日為7;return_type為3時,星期日為0,星期六為6。比如:=WEEKDAY(NOW(),2)PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第35頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第35頁。WEEKNUM(<date>,<return_type>)返回日期是一年中第幾周。return_type為1(默認)時,一周從星期日開始;return_type為2時,一周從星期一開始。比如:=WEEKNUM(NOW(),2)EDATE(<start_date>,<months>)返回指定日期start_date加上months個月份日期。參數(shù)start_date能夠是datetime或文本格式日期。months為整數(shù),不是整數(shù)時只取整數(shù)個別(截斷取整)。比如,下面表示式返回日期為“年7月5日”。=EDATE("-4-5",3)YEARFRAC(<start_date>,<end_date>)計算兩個日期之間天數(shù)在一年中占百分比,返回小數(shù)。比如,下面表示式返回0.18。=YEARFRAC("/3/11","/5/15")PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第36頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第36頁。4.2.8時間智能函數(shù)CLOSINGBALANCEMONTH(<expression>,<dates>[,<filter>])對dates指定日期列中每個月最終一個日期計算表示式expression。比如,計算月末銷售金額。=CLOSINGBALANCEMONTH(SUMX('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[銷量]*'銷售數(shù)據(jù)'[單價]),'銷售數(shù)據(jù)'[日期])CLOSINGBALANCEQUARTER(<expression>,<dates>[,<filter>])對dates指定日期列中每季度最終一個日期計算表示式expression。比如:=CLOSINGBALANCEQUARTER(SUMX('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[銷量]*'銷售數(shù)據(jù)'[單價]),'銷售數(shù)據(jù)'[日期])CLOSINGBALANCEYEAR(<expression>,<dates>[,<filter>])對dates指定日期列中每年最終一個日期計算表示式expression。比如:=CLOSINGBALANCEYEAR(SUMX('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[銷量]*'銷售數(shù)據(jù)'[單價]),'銷售數(shù)據(jù)'[日期])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第37頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第37頁。DATEADD(<dates>,<number>,<interval>)Dates為包含日期列,number為增加值。interval為增加類型,能夠是year(年)、quarter(季度)、month(月)、day(日)。函數(shù)對指定列中每一個日期按interval指定類型加上number,取得新日期。新日期在dates列包含日期范圍內(nèi),則出現(xiàn)在返回表中。比如,按月份加3生成新表。=DATEADD('日期表'[日期],3,MONTH)DATESBETWEEN(<dates>,<start_date>,<end_date>)返回一個表,從指定日期列dates中返回在start_date和end_date范圍內(nèi)日期。比如:=DATESBETWEEN('日期表'[日期],"/1/1","/3/31")DATESMTD(<dates>)返回一個表,該表包含當前上下文中本月截止到現(xiàn)在日期列。比如:=DATESMTD('銷售數(shù)據(jù)'[日期])。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第38頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第38頁。DATESQTD(<dates>)返回一個表,該表包含當前上下文中本季度截止到現(xiàn)在日期列。比如:=DATESQTD('銷售數(shù)據(jù)'[日期])DATESYTD(<dates>)返回一個表,該表包含當前上下文中本年截止到現(xiàn)在日期列。比如:=DATESYTD('銷售數(shù)據(jù)'[日期])ENDOFMONTH(<dates>)從當前上下文中日期列dates中返回對應月份最終一個日期。比如:=ENDOFMONTH('銷售數(shù)據(jù)'[日期])PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第39頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第39頁。ENDOFQUARTER(<dates>)從當前上下文中日期列dates中返回對應季度最終一個日期。比如:=ENDOFMONTH('銷售數(shù)據(jù)'[日期])ENDOFYEAR(<dates>)從當前上下文中日期列dates中返回對應年度最終一個日期。比如:=ENDOFYEAR('銷售數(shù)據(jù)'[日期])對應STARTOFMONTH()、STARTOFQUARTER()和STARTOFYEAR()函數(shù)分別返回對應每個月、季度和年都中第1個日期。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第40頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第40頁。FIRSTDATE(<dates>)從指定日期列dates中返回第一個日期。比如:=FIRSTDATE('銷售數(shù)據(jù)'[日期])LASTDATE(<dates>)從指定日期列dates中返回最終一個日期。比如:=LASTDATE('銷售數(shù)據(jù)'[日期])NEXTDAY(<dates>)返回一個表,包含從當前上下文中dates列中第一個日期下一天日期。比如:=CALCULATE(SUMX('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[銷量]),NEXTDAY('銷售數(shù)據(jù)'[日期]))NEXTDAY()返回只是下一天日期,所以SUMX()取得就是下一天“銷量”。類似PREVIOUSDAY(<dates>)返回上下文中dates列中第一個日期前一天日期。PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式第41頁PowerBI數(shù)據(jù)分析與數(shù)據(jù)可視化數(shù)據(jù)分析表達式全文共44頁,當前為第41頁。NEXTMONTH(<dates>)返回一個表,包含從當前上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論