【轉載】針對PowerPivot的DAX函式參考
針對PowerPivot的DAX函式參考
一、篩選函式
1、ALL函式:返回表中的所有行貨返回列中的所有值,同時忽略可能已應用的任何篩選器,此函式可用於清除篩選器對錶中的所有行建立計算,返回刪除了篩選器的表或列的值
語法:ALL({<table> | <column>[, <column>[, <column>[,…]]]})
如:建立一個《度量值》
訂單額度 = SUMX(ALL('訂單表'),'訂單表'[amount])
雖然X軸使用日期來統計,顯示的依然是總額度,在不使用ALL函式的一個度量值
訂單額度2 = SUMX('訂單表
沒有使用ALL時候,時間篩選器就生效了,顯示各日的總額。實際應用中可能會分析日訂單和總額的比率:
計算日訂單和總額的比率 = sumx('訂單表','訂單表'[amount])/sumx(ALL('訂單表'),'訂單表'[amount])
ALL (Column[, Column[, …]]) 刪除表中指定列的所有篩選器,表中針對其他列的所有篩選器仍應用,建立一個度量值:
訂單額度 = SUMX('訂單表','訂單表'[amount])/CALCULATE(SUM('訂單表'[amount]),ALL('訂單表'[create_time],'訂單表'[cancel_rent_time]))
ALLEXCEPT(Table, Column1 [,Column2]...):刪除表中所有上下文篩選器,但已應用於制定列的篩選器除外,建立一個度量值:
訂單額度 = SUMX('訂單表','訂單表'[amount])/SUMX(ALLEXCEPT('訂單表','訂單表'[create_time],'訂單表'[rent_pay_time],'訂單表'[deposit_withdraw_time]), '訂單表'[amount])
ALLSELECTED:選取需要欄位過濾其他,只能新增一個引數,同時忽略選取欄位的篩選器,其他已應用的篩選器仍然生效,選取的時間仍然建立度量值的表,建立一個度量值
訂單額度 = SUMX('訂單表','訂單表'[amount])/CALCULATE(SUMX('訂單表','訂單表'[amount]),ALLSELECTED('訂單表'[create_time]))
對比沒有allselectd的情況下的篩選
ALLNOBLANKROW函式:從關係的父表中,返回除空白行之外的所有行,或某一列中除空白行之外的所有非重複值,並且忽略可能存在所有上下文的篩選器。
語法:ALLNOBLANKROW(<table>|<column>)
若選table要刪除其所有上下文篩選器的表,列同理,建立一個度量值
訂單額度222 = CALCULATE(SUMX('訂單表','訂單表'[amount]),ALLNOBLANKROW('訂單表'))
Datekey是張時間的維度表和和訂單表相關聯
,選自己的表的時間,列出當前時間,
使用時間維度表,維度表所有的時間都會顯示一個同一個值
2、CALCULATE函式:計算由指定篩選器修改的上下文中的表示式,作為表示式的結果值返回。
語法:CALCULATE(<expression>,<filter1>,<filter2>…)
expression要進行計算的表示式
filter1…N定義篩選器的布林表示式或表表大師的逗號分隔的列表
建立一個度量值:
度量值1 = CALCULATE(SUMx('訂單表','訂單表'[amount]),'訂單表'[status]=200)
限制:不能引用度量值、不能使用CALCULATE巢狀、不能使用掃描表或返回任何函式及聚合函式
訂單額度 = CALCULATE(SUM('訂單表'[amount]),(ALL('訂單表')))
CALCULATETABLE函式:在由給定篩選修改的上下文中計算表表達式,返回包含值得表,在BPI中的建模點新建表,此時不能使用新建度量值。
語法: CALCULATETABLE(<expression>,<filter1>,<filter2>,…)
度量值cal = CALCULATETABLE('訂單表','訂單表'[status]=100)
新度量值 = SUMX(CALCULATETABLE('訂單表','PowerBi 時間維度表'[DayOfMonthFull]="18"),'訂單表'[amount])
此時巢狀在聚合函式裡,返回值的列表
此時說明表示式返回表的多列值,只是根據條件過濾不匹配status=100de
3、DISTINCT:返回一列構成的一個表,該表包含來自指定列的非重複值,一般配合其他聚合函式來使用
語法:DISTINCT(<column>)
度量值cal = COUNTROWS(DISTINCT('訂單表'[status]))
4、EARLIER函式:返回提及的列的外部計算傳遞中指定列的當前值(在想要使用某個值作為輸入並且基於該輸入進行計算的巢狀計算中)
官檔案例
= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1
5、EARLIEST函式:返回指定列的外部計算傳遞中制定列的當前值,與4類似
6、FILTER函式:返回表示另一個表示式的子集的表,只包含篩選行的表返回值
語法:FILTER(<table>,<filter>)
引數:
table要篩選的表,表還可以是產生的結果集是表的表示式
Filter為該表的每一行計算的布林表示式
FILTERS:返回直接作為篩選器應用於columnName的值
HASONEFILTER:當columnName上的直接篩選值得數目為一個值,返回TRUE否則返回FALSE
HASONEVALUE:已將columnName的上下文篩選為只剩下一個非重複值時返回TRUE,否則FALSE
7、RELATED函式:從另一個表返回相關值,與當前行相關的單個值
語法:RELATED(<column>)
##
RELATED 函式要求當前表與包含相關資訊的表之間存在關係。您需要指定包含所需資料的列,該函式將通過現有的多對一關係從相關表中的指定列中提取值
FILTER_RELATED_1 = SUMX(FILTER('訂單表',RELATED('訂單表狀態維度表'[status_id])=101),'訂單表'[amount])
通過通過計算累計101值得累計和
8、RELATEDTABLE函式:由給定篩選器修改的上下文中計算表表達式,返回包含值得表
語法: RELATEDTABLE(<expression>,<filter1>,<filter2>,…)
註釋
RELATEDTETABLE 函式將更改篩選資料的上下文,並在您指定的新上下文中計算表示式。對於在篩選器引數中使用的每一列,將刪除該列上的現有篩選器,改為應用在篩選器引數中使用的篩選器
###此函式是 CALCULATETABLE 函式的同義詞
9、VALUES函式:返回由一列構成的一個表,包含來自制定列的非重複值。
語法:values(<column>)
註釋
當您在已篩選的上下文(例如資料透視表)中使用 VALUES 函式時,VALUES 返回的唯一值會受到篩選器的影響。例如,如果您按 Region 進行篩選,並且返回針對 City 的值列表,則該列表將只包括篩選器允許的區域中的那些城市。若要返回所有城市,而不管現有篩選器的情況如何,您必須使用 ALL 函式從表中刪除篩選器。第二個示例演示如何將 ALL 與VALUES 一起使用。
VALUES_1 = COUNTROWS(VALUES('訂單表'[id] ))
統計函式(聚合函式):對值得聚合運算,在篩選函式中已經應用部分,其他類似
AVERAGE(<column>)
AVERAGE(<column>):返回列中值的平均值(算術平均值)。處理文字和非數字值
AVERAGEX(<table>,<expression>):計算對錶進行求值的一組表示式的平均值(算術平均值)
COUNTA (<column>)函式計算列中不為空的單元的數目。它不僅對包含數值的行進行計數,還對包含非空白值(包括文字、日期和邏輯值)的行進行計數
COUNTAX 函式用於在對錶計算表示式的結果時統計非空結果數。即,它的作用與 COUNTA 函式類似,但它用於對錶中所有行進行迴圈訪問,並統計指定表示式計算為非空結果的行數
COUNTAX(<table>,<expression>)
COUNTBLANK(<column>) 計算列中空白單元的數目
COUNTROWS函式:計算制定表中的行數,或計算表示式定義的表中的行數
語法:COUNTROWS(<TABLE>)
COUNTX(<table>,<expression>)在對錶計算表示式的結果時,計算包含數字或者計算結果為數字的表示式的行的數目
MAX
MAXA 返回列中的最大值。邏輯值和空白被計算在內MAXA(<column>) MINA
MAXX為表的每一行計算表示式,並且返回最大的數值MAXX(<table>,<expression>) MINX
邏輯函式:
AND函式:檢查是否兩個引數均為TRUE
語法:AND(<LOGICAL1>,<LOGICAL2>)
註釋
DAX 中的 AND 函式只接受兩 (2) 個引數。如果您需要對多個表示式執行 AND 運算,則可以建立一系列計算;但更好的選擇是,使用連線運算子 (&&) 在一個更簡單的表示式中連線所有這些列
FALSE函式:返回邏輯值FALSE
語法:FALSE()
IF函式:檢查是否滿足作為第一個引數提供的條件,滿足為TRUE,否則為FALSE
語法: IF(logical_test>,<value_if_true>, value_if_false)
引數
術語 |
定義 |
logical_test |
計算結果可以為 TRUE 或 FALSE 的任何值或表示式。 |
value_if_true |
在邏輯測試為 TRUE 時返回的值。如果省略,則返回 TRUE。 |
value_if_false |
在邏輯測試為 FALSE 時返回的值。如果省略,則返回 FALSE。 |
=IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))
EGG:
新增列IF = IF([status]=101, "已付押金",IF([status]=200, "租賃中",IF([status]=300, "待付租金",IF([status]=400, "已付租金",IF([status]=500, "未退押金",
IF([status]=600, "交易失敗",IF([status]=700,"申訴中" ,"取消"
)))))))
他的另外一種簡潔語法:
列SWITCH = SWITCH([status],101,"已付押金",200,"租賃中",300,"待付租金",400,"已付租金",500,"未退押金",600,"交易失敗",700,"申訴中","取消")
註釋
如果省略了 value_if_true 或 value_if_false 的值,則 IF 將其視為空字串值 (""),
如果在表示式中引用的值是某一列,則 IF 將返回與當前行相對應的值
IF 函式嘗試返回列中的單個數據型別。因此,如果value_if_true和value_if_false返回的值屬於不同的資料型別,則 IF 函式會隱式轉換資料型別以便適合列中的這兩種值。例如,公式 IF(<condition>,TRUE(),0) 返回由 1 和 0 組成的列,並且可以對結果求和,但公式 IF(<condition>,TRUE(),FALSE()) 只返回邏輯值
IFERROR函式:對某一表達式進行計算,並且如果該表示式返回錯誤則返回指定值,否則返回該表示式本身的值
語法:IFERROR(value,value_if_error)##返回值型別要相同
=IFERROR(25/0,9999)
NOT函式:將FALSE改成TRUE,或者將TRUE改成FALSE
語法:NOT(<logical>)
OR函式 OR(<logical1>,<logical2>)
IF( OR( CALCULATE(SUM('ResellerSales_USD'[SalesAmount_USD]), 'ProductSubcategory'[ProductSubcategoryName]="Touring Bikes") > 1000000
, CALCULATE(SUM('ResellerSales_USD'[SalesAmount_USD]), 'DateTime'[CalendarYear]=2003) > 2500000
)
, "Circle of Excellence"
, ""
)
TRUE函式: 語法:TRUE()
= IF(SUM('InternetSales_USD'[SalesAmount_USD]) >200000, TRUE(), false())
文字函式:
BLAN() 返回空白。
CONCATENATE:將兩個文字字串連線成一個文字字串
= CONCATENATE(sumx('訂單表','訂單表'[amount])/sumx(ALL('訂單表'),'訂單表'[amount]),"%")
EXACT函式:比較字串,相同為TRUE
EXACT(<TEXT1>,<TEXT2>)
FIND函式: 返回一個文字字串在另一文字字串中的開始位置。FIND 區分大小寫。
FIND(<find_text, within_text, start_num)
引數
項 |
定義 |
find_text |
您要查詢的文字。使用雙引號(空文字)可以匹配 within_text 中的第一個字元;不允許萬用字元。 |
within_text |
包含要查詢的文字的文字。 |
start_num |
從其開始進行搜尋的字元;如果省略,start_num = 1。within_text 中的第一個字元是字元編號 1。 |
FIXED函式: 將數字舍入到指定的小數位數,並以文字形式返回結果。可以指定以帶或不帶逗號的形式返回結果
將數字舍入到指定的小數位數,並以文字形式返回結果。可以指定以帶或不帶逗號的形式返回結果
引數
項 |
定義 |
number |
要舍入並轉換為文字的數字,或包含數字的列。 |
decimals |
(可選)小數點右側的位數;如果省略,則為 2。 |
no_commas |
(可選)一個邏輯值:如果為 1,則不在返回的文字中顯示逗號;如果為 0 或省略,則在返回的文字中顯示逗號。 |
FORMAT函式:根據指定的格式轉換為文字
FORMAT(<value>, <format_string>)
引數
術語 |
定義 |
value |
值或計算結果為單個值的表示式。 |
format_string |
具有格式模板的字串。 |
FORMAT函式的預定義數字格式
下表標識預定義數字格式的名稱。可按名稱將它們用作 Format 函式的樣式引數。
格式規範 |
說明 |
"General Number" |
顯示不帶千位分隔符的數字。 |
"Currency" |
顯示帶千位分隔符的數字(如果適用);顯示小數點分隔符右側兩位。輸出基於系統區域設定。 |
"Fixed" |
小數點分隔符左側至少顯示一位,右側顯示兩位。 |
"Standard" |
顯示帶千位分隔符的數字,其中小數點分隔符左側至少有一位,右側有兩位。 |
"Percent" |
將數字乘以 100 後顯示,並在緊右側追加百分號 (%);小數點分隔符右側總是顯示兩位。 |
"Scientific" |
使用標準的科學記數法,並且提供兩個有效位數。 |
"Yes/No" |
如果數字為 0,則顯示 No;否則顯示 Yes。 |
"True/False" |
如果數字為 0,則顯示 False;否則顯示 True。 |
"On/Off" |
如果數字為 0,則顯示 Off;否則顯示 On。 |
FORMAT函式的自定義數字格式
使用者定義的數字格式表示式可以包含一至三個部分(各部分之間用分號分隔)。如果 Format 函式的 Style 引數包含預定義的數字格式之一,則只允許有一部分。
如果您使用 |
則結果為 |
只有一部分 |
格式表示式應用於所有值。 |
兩部分 |
第一部分應用於正值和零;第二部分應用於負值。 |
三部分 |
第一部分應用於正值,第二部分應用於負值,第三部分應用於零。 |
格式規範
下表標識了可用於建立使用者定義的數字格式的字元。
格式規範 |
說明 |
無 |
顯示不帶格式的數字。 |
0(零字元) |
數字佔位符。顯示一個數字或一個零。如果表示式在格式字串中出現零的位置有一個數字,則顯示該數字,否則在該位置顯示一個零。 如果數字的位數少於格式表示式中零的個數(不管在小數點的哪一側),將顯示前導零或尾隨零。如果小數點分隔符右側的數字位數多於格式表示式中小數點分隔符右側的零的個數,將對數字四捨五入,使其小數位數與零的個數一樣多。如果小數點分隔符左側的數字位數多於格式表示式中小數點分隔符左側的零的個數,則將顯示多出的位數而不作任何修改。 |
# |
數字佔位符。顯示一個數字或不顯示任何內容。如果表示式在格式字串中出現 # 字元的位置有一個數字,則顯示該數字,否則該位置什麼也不顯示。 除了當數字的位數少於格式表示式中小數點分隔符任意一側的 # 字元數時不顯示前導零或尾隨零外,該符號的作用類似於零 (0) 數字佔位符。 |
.(圓點字元) |
小數點佔位符。小數點佔位符確定在小數點分隔符左側和右側顯示幾位數。如果格式表示式中該符號的左側只包含 # 字元,則小於 1 的數字以小數點分隔符開頭。若要顯示隨小數顯示的前導零,請使用零作為小數點分隔符左側的第一個數字佔位符。在某些區域設定中,用逗號作為小數點分隔符。在格式化輸出中用作小數點佔位符的實際字元取決於系統所識別的數字格式。因此,在您的格式中應將句點用作小數點佔位符,即使您位於使用逗號作為小數點佔位符的區域設定中。格式化字串將以適合區域設定的正確格式顯示。 |
% |
百分比佔位符。將表示式乘以 100。在格式字串中出現百分比字元的位置插入百分比字元 (%)。 |
,(逗號字元) |
千位分隔符。千位分隔符將在小數點分隔符左側具有四位或更多位數的數字中的千位和百位分隔開。如果格式包含一個由數字佔位符(0 或 #)包圍的千位分隔符,則指定千位分隔符的標準用法。 一個千位分隔符緊挨小數點分隔符的左側(無論是否指定小數)或者作為字串中最右側的字元表示“通過除以 1000 來將數字按比例減小,並按需要四捨五入”。小於 1,000 但大於或等於 500 的數字顯示為 1,小於 500 的數字顯示為 0。此位置有兩個相鄰千位分隔符表示按一百萬倍的比例因子縮小,並且每增加一個分隔符表示另外縮小 1,000 倍。 多個分隔符出現在緊挨小數點分隔符左側或字串最右側位置被視為指定使用千位分隔符。在某些區域設定中,用句點作為千位分隔符。在格式化輸出中用作千位分隔符的實際字元取決於您的系統所識別的數字格式。因此,在您的格式中應將逗號用作千位分隔符,即使您位於使用句點作為千位分隔符的區域設定中。格式化字串將以適合區域設定的正確格式顯示。 例如,考慮以下三個格式字串: “#,0.”,該字串使用千位分隔符將數字一億的格式設定為字串“100,000,000”。 “#0,.”,該字串按 1000 的因子進行縮小,將數字一億的格式設定為字串“100000”。 “#,0,.”該字串使用千位分隔符和按 1000 的因子進行縮小,將數字一億的格式設定為字串“100,000”。 |
:(冒號字元) |
時間分隔符。在某些區域設定中,可能用其他字元表示時間分隔符。在設定時間值的格式時,時間分隔符用於分隔小時、分鐘和秒。在格式化輸出中用作時間分隔符的實際字元取決於您的系統設定。 |
/(正斜槓字元) |
日期分隔符。在某些區域設定中,可能用其他字元表示日期分隔符。在設定日期值的格式時,日期分隔符用於分隔年、月和日。在格式化輸出中用作日期分隔符的實際字元取決於您的系統設定。 |
E-、E+、e-、e+ |
科學記數法格式。如果格式表示式在 E-、E+、e- 或 e+ 的左側至少包含一個數字佔位符(0 或 #),則以科學記數法格式顯示數字,並在數字與其指數之間插入 E 或 e。左側的數字佔位符的個數決定了指數中的數字個數。使用 E- 或 e- 可在負指數的後面放置一個減號。使用 E+ 或 e+ 可在負指數的後面放置一個減號,在正指數的後面放置一個加號。還必須在該符號右側包括數字佔位符以獲取正確的格式。 |
- + $ ( ) |
文字字元。這些字元將完全按格式字串中所鍵入的形式顯示。若要顯示所列字元以外的其他字元,請在該字元前加上一個反斜槓 (\) 或將該字元放在雙引號 (" ") 中。 |
\(反斜槓字元) |
顯示格式字串中的下一個字元。若要將具有特殊含義的字元顯示為文字字元,請在該字元前加上一個反斜槓 (\)。反斜槓本身不顯示。使用反斜槓與將下一個字元放在雙引號中的作用是相同的。若要顯示反斜槓,請使用兩個反斜槓 (\\)。 不能顯示為文字字元的字元示例為日期格式字元和時間格式字元(a、c、d、h、m、n、p、q、s、t、w、y、/ 和 :)、數字格式字元(#、0、%、E、e、逗號和句點)和字串格式字元(@、&、<、> 和 !)。 |
"ABC" |
顯示雙引號 (" ") 裡面的字串。若要將字串包含在程式碼內的樣式引數中,必須將文字放在 Chr (34) 之間(34 為引號 (") 的字元程式碼)。 |
下表包含用於表示數字的一些示例格式表示式。(所有這些示例均假設您的系統區域設定為“英語 - 美國”)第一列包含 Format 函式的格式字串;如果格式化的資料具有在列標題中給定的值,則其他列包含生成的輸出結果。
格式(樣式) |
“5”格式設定為 |
“-5”格式設定為 |
“0.5”格式設定為 |
“0”格式設定為 |
零長度字串 ("") |
5 |
-5 |
0.5 |
0 |
0 |
5 |
-5 |
1 |
0 |
0.00 |
5.00 |
-5.00 |
0.50 |
0.00 |
#,##0 |
5 |
-5 |
1 |
0 |
$#,##0;($#,##0) |
$5 |
($5) |
$1 |
$0 |
$#,##0.00;($#,##0.00) |
$5.00 |
($5.00) |
$0.50 |
$0.00 |
0% |
500% |
-500% |
50% |
0% |
0.00% |
500.00% |
-500.00% |
50.00% |
0.00% |
0.00E+00 |
5.00E+00 |
-5.00E+00 |
5.00E-01 |
0.00E+00 |
0.00E-00 |
5.00E00 |
-5.00E00 |
5.00E-01 |
0.00E00 |
"$#,##0;;\Z\e\r\o" |
$5 |
$-5 |
$1 |
零 |
註釋
如果包含兩個連續的分號,則缺少的部分用正值的格式顯示。
預定義日期和時間格式:
下表標識預定義的日期和時間格式的名稱。如果您使用這些預定義的字串之外的字串,它們將作為自定義日期和時間格式來解釋。
格式規範 |
說明 |
"General Date" |
顯示日期和/或時間。例如 3/12/2008 11:07:31 AM。日期顯示由您的應用程式的當前區域性值確定。 |
"Long Date"或者"Medium Date" |
根據您的當前區域性的長日期格式顯示日期。例如,2008 年 3 月 12 日,星期三。 |
"Short Date" |
使用您的當前區域性的短日期格式顯示日期。例如 3/12/2008。 |
"Long Time"或者"Medium Time" |
使用您的當前區域性的長時間格式顯示時間;通常包括小時、分鐘和秒。例如,11:07:31 AM。 |
"Short Time" |
使用您的當前區域性的短時間格式顯示時間。例如,11:07 AM。 |
FORMAT函式自定義日期和時間格式:
下表顯示可用於建立使用者定義的日期/時間格式的字元。
格式規範 |
說明 |
(:) |
時間分隔符。在某些區域設定中,可能用其他字元表示時間分隔符。在設定時間值的格式時,時間分隔符用於分隔小時、分鐘和秒。在格式化輸出中用作時間分隔符的實際字元取決於您應用程式的當前區域性值。 |
(/) |
日期分隔符。在某些區域設定中,可能用其他字元表示日期分隔符。在設定日期值的格式時,日期分隔符用於分隔年、月和日。在格式化輸出中用作日期分隔符的實際字元取決於您應用程式的當前區域性。 |
(%) |
用於指示應以單個字母格式讀取後面的字元,而不考慮任何尾隨字母。此外,還用於指示以使用者定義的格式讀取單個字母格式。有關其他詳細資訊,請參閱以下內容。 |
d |
將天顯示為不帶前導零的數字(例如,1)。如果這是使用者定義的數字格式中的唯一字元,則使用 %d。 |
dd |
將天顯示為帶一個前導零的數字(例如,01)。 |
ddd |
將天顯示為縮寫(例如,Sun)。 |
dddd |
將天顯示為全名(例如,Sunday)。 |
M |
將月顯示為不帶前導零的數字(例如,一月表示為 1)。如果這是使用者定義的數字格式中的唯一字元,則使用 %M。 |
MM |
將月顯示為帶一個前導零的數字(例如,01/12/01)。 |
MMM |
將月顯示為縮寫(例如,Jan)。 |
MMMM |
將月顯示為完整的月份名稱(例如,January)。 |
gg |
顯示時期/時代字串(例如,A.D.)。 |
h |
使用 12 小時制時鐘將小時顯示為不帶前導零的數字(例如,1:15:15 PM)。如果這是使用者定義的數字格式中的唯一字元,則使用 %h。 |
hh |
使用 12 小時制時鐘將小時顯示為帶前導零的數字(例如,01:15:15 PM)。 |
H |
使用 24 小時制時鐘將小時顯示為不帶前導零的數字(例如,1:15:15)。如果這是使用者定義的數字格式中的唯一字元,則使用 %H。 |
HH |
使用 24 小時制時鐘將小時顯示為帶前導零的數字(例如,01:15:15)。 |
m |
將分鐘顯示為不帶前導零的數字(例如,12:1:15)。如果這是使用者定義的數字格式中的唯一字元,則使用 %m。 |
mm |
將分鐘顯示為帶前導零的數字(例如,12:01:15)。 |
s |
將秒顯示為不帶前導零的數字(例如,12:15:5)。如果這是使用者定義的數字格式中的唯一字元,則使用 %s。 |
ss |
將秒顯示為帶前導零的數字(例如,12:15:05)。 |
f |
顯示秒的小數部分。例如,ff 顯示百分之一秒,而 ffff 顯示萬分之一秒。在使用者定義的格式中最多可以使用 7 個 f 符號。如果這是使用者定義的數字格式中的唯一字元,則使用 %f。 |
t |
使用 12 小時制時鐘,對於中午之前的任何小時都顯示大寫字母 A;對於中午與 11:59 P.M 之間的任何小時都顯示大寫字母 P。如果這是使用者定義的數字格式中的唯一字元,則使用 %t。 |
tt |
對於使用 12 小時制時鐘的區域設定,對中午之前的任何小時都顯示大寫字母 AM;對於中午與 11:59 P.M 之間的任何小時都顯示 PM。 對於使用 24 小時制時鐘的區域設定,不顯示任何內容。 |
y |
將年顯示為不帶前導零的數字 (0-9)。如果這是使用者定義的數字格式中的唯一字元,則使用 %y。 |
yy |
以帶一個前導零的兩位數字格式顯示年(如果適用)。 |
yyy |
以四位數字格式顯示年。 |
yyyy |
以四位數字格式顯示年。 |
z |
顯示不帶前導零的時區偏移量(例如,-8)。如果這是使用者定義的數字格式中的唯一字元,則使用 %z。 |
zz |
顯示帶一個前導零的時區偏移量(例如,-08) |
zzz |
顯示完整的時區偏移量(例如,-08:00) |
註釋
格式設定字串區分大小寫。使用不同的大小寫形式,可以獲取不同的格式。例如,當使用字串“D”格式化日期值時,可以獲得採用長格式的日期(根據您的當前區域設定)。但是,如果將此字母更改為小寫“d”,則可以獲得採用短格式的日期。此外,如果目標格式與任何定義的格式字串的大小寫都不匹配,則可能出現意外結果或錯誤。
日期/時間格式使用當前使用者區域設定來確定字串的最終格式。例如,若要使用下列格式字串“M/d/yyyy”來設定日期 1995 年 3 月 18 日,如果使用者區域設定為美國 (en-us),則結果為“3/18/1995”;但如果使用者區域設定為德國 (de-de),則結果為“18.03.1995”
LEFT函式:從文字字串的開頭返回指定資料的字元--- RIGHT(<text>, <num_chars>)
LEFT(<text>, <num_chars>)
LEN(<TEXT>)
LOWER(<TEXT>) ….UPPER
REPLACE 將基於您指定的字元數,用不同的文字字串替換文字字串的一部分。
語法
REPLACE(<old_text>, <start_num>, <num_chars>, <new_text>)
REPT:重複給定次數的文字。使用 REPT 可用一個文字字串的許多例項填充單元格。
語法
REPT(<text>, <num_times>)
SEARCH:返回最先找到特定字元或文字字串的位置的字元編號
語法
SEARCH(<find_text>, <within_text>, [start_num])
SUBSTITUTE:用文字字元中的新文字替換現有文字。
語法
SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>)
TRIM:從文字刪除兩個詞之間除了但哥空格外的所有空格
語法
TRIM(<text>)
VALUE:將表示數字的文字字串轉為數字
語法
VALUE(<text>)
DAX與MySQL語法的比較。
1、查看錶的所有行記錄
Select * from tb_product_order
DAX: 表 = '訂單表' //返回的表的記錄,不能使用新建度量值方法,
需《建模》--新表
2、單表過濾條件,在關係型資料庫裡使用WHERE XX=”OO”