版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、練題1 DAXDAX 函數的類型函數的類型 DAX 提供了很多與您所熟悉的 Excel 函數具有相同功能和名稱的函數。然而,這些函數已 經過修改,它們使用 DAX 數據類型并對表和列執(zhí)行操作。DAX 還提供許多專用功能,例如 基于關系執(zhí)行查找、循環(huán)訪問表以執(zhí)行遞歸計算以及利用時間智能進行計算。 本文內容 表值函數 日期和時間函數 篩選器函數 信息函數 邏輯函數 數學和三角函數 統(tǒng)計函數 文本函數 時間智能函數 統(tǒng)計函數統(tǒng)計函數 (DAX)(DAX) 數據分析表達式 (DAX) 提供許多用于創(chuàng)建聚合(例如求和、計數和平均值)的函數。這些 函數非常類似于 Microsoft Excel 使用的聚合
2、函數。本節(jié)列出 DAX 中提供的統(tǒng)計和聚合 函數。 本節(jié)內容 ADDCOLUMNS 函數 AVERAGE 函數 AVERAGEA 函數 AVERAGEX 函數 COUNT 函數 COUNTA 函數 COUNTAX 函數 COUNTBLANK 函數 COUNTROWS 函數 COUNTX 函數 CROSSJOIN 函數 DISTINCTCOUNT 函數 GENERATE 函數 GENERATEALL 函數 MAX 函數 練題2 MAXA 函數 MAXX 函數 MINA 函數 MIN 函數 MINX 函數 RANK.EQ 函數 RANKX 函數 ROW 函數 STDEV.P 函數 STDEV.S
3、函數 STDEVX.P 函數 STDEVX.S 函數 SUMMARIZE 函數 TOPN 函數 VAR.P 函數 VAR.S 函數 VARX.P 函數 VARX.S 函數 返回頁首 ADDCOLUMNSADDCOLUMNS 函數函數 (DAX)(DAX) 將計算列添加到給定的表或表的表達式中。 語法 ADDCOLUMNS(, , , , ) 返回頁首 參數 table 任何返回數據表的 DAX 表達式。 name 給予此列的名稱,包含在雙引號內。 expression 返回標量表達式且針對 table 的每行進行計算的任何 DAX 表達式。 練題3 返回頁首 返回值 具有所有原始列和添加列的表
4、。 返回頁首 示例 下面的示例返回 Product Category 表的擴展版本,其中包括來自經銷商渠道和 Internet 銷售的總銷售額值。 ADDCOLUMNS(ProductCategory, , Internet Sales, SUMX(RELATEDTABLE(InternetSales_USD), InternetSales_USDSalesAmount_USD) , Reseller Sales, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD) 下表顯示任何預期接收表的函數應收到的
5、數據的預覽: PRODUCTCATEGORPRODUCTCATEGOR YPRODUCTCATEGYPRODUCTCATEG ORYNAMEORYNAME PRODUCTCATEGORYPRODUCTCATEGORY PRODUCTCATEGORPRODUCTCATEGOR YALTERNATEKEYYALTERNATEKEY PRODUCTCATEGOPRODUCTCATEGO RYPRODUCTCATRYPRODUCTCAT EGORYKEYEGORYKEY INTERNETINTERNET SALESSALES RESELLERRESELLER SALESSALES Bikes11251
6、07749.7763084675.04 Components2211205837.96 Clothing33306157.58291669943.267 Accessories44640920.1338534301.9888 返回頁首 此文章對您是否有幫助? AVERAGEAVERAGE 函數函數 (DAX)(DAX) 返回列中所有數字的平均值(算術平均值)。 語法 AVERAGE(). 返回頁首 練題4 參數 項項定義定義 columncolumn 包含要計算其平均值的數字的列。 返回頁首 返回值 返回一個小數,該數字表示列中所有數字的算術平均值。 返回頁首 備注 此函數采用指定列作為參數,
7、并計算該列中的值的平均值。如果您要獲得計算結果為一組 數字的表達式的平均值,請改用 AVERAGEX 函數。 列中的非數字值按如下方式處理: 如果列中包含文本,則不能執(zhí)行任何聚合運算,且該函數返回空白。 如果列中包含邏輯值或空單元,則忽略這些值。 值為零的單元包括在內。 在計算單元的平均值時,必須注意空單元與包含 0(零)值的單元之間的差異。如果某個 單元包含 0,則將該單元加入數字總和,并將該行計入用作除數的行數。但是,當單元包 含空白時,不對行進行計數。 只要不存在要聚合的行,該函數就會返回空白。 然而,如果存在行,但這些行都不符合指 定條件,則該函數返回 0。如果沒有找到符合條件的行,E
8、xcel 也會返回 0。 返回頁首 示例 下面的公式返回表 InternetSales 中的列 ExtendedSalesAmount 中的值的平均值。 =AVERAGE(InternetSalesExtendedSalesAmount) 返回頁首 相關函數 練題5 AVERAGEX 函數可以采用對表中的每行進行計算的表達式作為參數。這使您可以執(zhí)行計算, 然后獲得計算得到的值的平均值。 AVERAGEA 函數采用列作為參數,但除此之外,該函數與具有相同名稱的 Excel 函數類似。 使用 AVERAGEA 函數可以計算包含空值的列的平均值。 返回頁首 此文章對您是否有幫助? AVERAGEAA
9、VERAGEA 函數函數 (DAX)(DAX) 返回列中值的平均值(算術平均值)。處理文本和非數字值。 語法 AVERAGEA() 返回頁首 參數 項項定義定義 columncolumn 包含要計算其平均值的值的列。 返回頁首 返回值 小數。 返回頁首 備注 AVERAGEA 函數取列并對其中的數字計算平均值,但它還根據以下規(guī)則處理非數字數據類型: 計算結果為 TRUE 的值作為 1 計數。 計算結果為 FALSE 的值作為 0(零)計數。 包含非數字文本的值作為 0(零)計數。 空文本 () 作為 0(零)計數。 如果您不想在引用中將邏輯值和數字的文本表示形式作為計算的一部分包括,則使用 A
10、VERAGE 函數。 練題6 只要沒有可聚合的行,該函數就返回空白。 然而,如果存在行,但這些行都不符合指定條 件,則該函數返回 0。如果沒有找到符合條件的行,Microsoft Excel 也會返回 0。 返回頁首 示例 下面的示例返回以下表的引用列中非空白單元格的平均值。如果您使用了 AVERAGE 函數, 則平均值是 21/2;對于 AVERAGEA 函數,則結果是 22/5。 TRANSACTIONTRANSACTION IDID 金額金額結果結果 00001231 按 1 計數 000012420 按 20 計數 0000125 不適用按 0 計數 0000126 按 0 計數 00
11、00126TRUE 按 1 計數 =AVERAGEA(Amount) 返回頁首 此文章對您是否有幫助? AVERAGEXAVERAGEX 函數函數 (DAX)(DAX) 計算對表進行求值的一組表達式的平均值(算術平均值)。 語法 AVERAGEX(,) 返回頁首 參數 項項定義定義 tabletable 表的名稱,或者指定可對其執(zhí)行聚合的表的表達式。 expressionexpression 具有標量結果的表達式,將為第一個參數中表的每一行計算該表達式。 返回頁首 返回值 練題7 小數。 返回頁首 備注 AVERAGEX 函數可用于對表的每一行計算表達式,然后采用生成的值的集合并計算其算術平
12、均值。因此,該函數采用表作為其第一個參數,采用表達式作為其第二個參數。 在所有其他方面,AVERAGEX 都遵循與 AVERAGE 相同的規(guī)則。不能包含非數字或空單元格。 表和表達式參數都是必需的。 在沒有可聚合的行時,該函數將返回空白。 在存在行,但這些行都不符合指定條件時,則 該函數返回 0。 返回頁首 示例 下面的示例通過首先將每一行中的 Freight 與 TaxAmt 相加,然后對相加后的結果求平均 值,計算 InternetSales 表中每個訂單的平均運費和稅額。 =AVERAGEX(InternetSales, InternetSalesFreight+ InternetSal
13、esTaxAmt) 如果您在用作第二個參數的表達式中使用多個運算,則必須使用括號來控制計算的順序。 有關詳細信息,請參閱針對 PowerPivot 的 DAX 語法規(guī)范。 返回頁首 此文章對您是否有幫助? COUNTBLANKCOUNTBLANK 函數函數 (DAX)(DAX) 計算列中空白單元的數目。 返回頁首 語法 COUNTBLANK() 返回頁首 參數 練題8 項項定義定義 columncolumn 包含要計數的空白單元的列。 返回頁首 返回值 整數。如果找不到滿足條件的行,則返回空白。 返回頁首 備注 此函數的唯一允許參數是列。您可以使用包含任何數據類型的列,但只對空白單元計數。 將
14、不對具有值零 (0) 的單元計數,因為零被視作數值并且不是空白。 只要沒有可聚合的行,該函數就返回空白。 然而,如果存在行,但這些行都不符合指定條 件,則該函數返回 0。如果沒有找到符合條件的行,Microsoft Excel 也會返回 0。 換言之,如果 COUNTBLANK 函數未找到任何空白,則結果將是 0,但如果沒有要檢查的行, 則結果將是空白。 不支持在 DirectQuery 模式下使用此 DAX 函數。有關 DirectQuery 模型中的限制的詳細 信息,請參閱 REMOVED FWLINK 219172 TO MSDN。 返回頁首 示例 下面的示例說明了如何計算 Resell
15、er 表中對于 BankName 具有空白值的行數。 =COUNTBLANK(ResellerBankName) 若要對邏輯值或文本進行計數,請使用 COUNTA 或 COUNTAX 函數。 返回頁首 此文章對您是否有幫助? COUNTROWSCOUNTROWS 函數函數 (DAX)(DAX) COUNTROWS 函數計算指定表中的行數,或者計算表達式定義的表中的行數。 語法 練題9 COUNTROWS() 返回頁首 參數 項項定義定義 table 包含要計算其數目的行的表的名稱,或者返回表的表達式。 返回頁首 返回值 整數。 返回頁首 備注 此函數可用于計算基表中的行數,但更常用于計算通過篩
16、選表或者將上下文應用于表而得 出的行數。 只要沒有可聚合的行,該函數就返回空白。 然而,如果存在行,但這些行都不符合指定條 件,則該函數返回 0。如果沒有找到符合條件的行,Microsoft Excel 也會返回 0。 返回頁首 示例 下面的示例說明了如何計算 Orders 表中的行數。預期的結果為 52761。 =COUNTROWS(Orders) 下面的示例演示如何將 COUNTROWS 用于行上下文。在此方案中,有兩組由訂單號相關的數 據。表 Reseller 為每個分銷商包含一行;表 ResellerSales 為每個訂單包含多行,每一 行都為特定分銷商包含一個訂單。這些表由 Rese
17、llerKey 列上的關系連接。 該公式獲取 ResellerKey 的值,然后計算相關表中具有相同分銷商 ID 的行數。結果是 CalculatedColumn1CalculatedColumn1 列中的輸出。 =COUNTROWS(RELATEDTABLE(ResellerSales) 下表顯示一部分預期結果: RESELLERKEYRESELLERKEYCALCULATEDCOLUMN1CALCULATEDCOLUMN1 練題10 173 270 3394 返回頁首 此文章對您是否有幫助? COUNTXCOUNTX 函數函數 (DAX)(DAX) 在對表計算表達式的結果時,計算包含數字或
18、者計算結果為數字的表達式的行的數目。 語法 COUNTX(,) 返回頁首 參數 項項定義定義 tabletable 包含要計算其數目的行的表。 expressionexpression 返回包含您要計數的值的一組值的表達式。 返回頁首 返回值 一個整數。 返回頁首 備注 COUNTX 函數采用兩個參數。第一個參數必須始終是表,或者是返回表的任何表達式。第二 個參數是 COUNTX 搜索的列或表達式。 COUNTX 函數只對數值或日期進行計數。不對是邏輯值或不能轉換為數字的文本的參數進行 計數。如果函數沒有發(fā)現要計數的行,則返回空白。 在存在行,但這些行都不符合指定條 件時,則該函數返回 0。
19、如果想要計算邏輯值或文本的數目,請使用 COUNTA 或 COUNTAX 函數。 返回頁首 練題11 示例 下面的公式將返回 Product 表中具有標價的所有行的計數。 =COUNTX(Product,ListPrice) 下面的公式說明對于第一個參數如何將篩選表傳遞給 COUNTX。該公式使用篩選表達式以便 只獲取 Product 表中滿足 ProductSubCategory = Caps 條件的行,然后計算生成的表 中具有標價的行的數目。FILTER 表達式應用于表 Products,但使用在相關表 ProductSubCategory 中查找的值。 =COUNTX(FILTER(Pr
20、oduct,RELATED(ProductSubcategoryEnglishProductSubcategoryName) =Caps, ProductListPrice) 返回頁首 此文章對您是否有幫助? COUNTAXCOUNTAX 函數函數 (DAX)(DAX) COUNTAX 函數用于在對表計算表達式的結果時統(tǒng)計非空結果數。即,它的作用與 COUNTA 函數類似,但它用于對表中所有行進行循環(huán)訪問,并統(tǒng)計指定表達式計算為非空結果的行 數。 語法 COUNTAX(,) 返回頁首 參數 項項定義定義 tabletable 包含該表達式計算所針對的行的表。 expressionexpress
21、ion 要對表中每一行計算的表達式。 返回頁首 返回值 整數。 返回頁首 練題12 備注 與 COUNTA 函數一樣,COUNTAX 函數統(tǒng)計包含任何類型信息(包括其他表達式)的單元的 數目。 例如,如果列包含計算為空字符串的表達式,那么 COUNTAX 函數將該結果視為非空。 COUNTAX 函數通常不統(tǒng)計空單元的數目,但是在這種情況下,單元包含了公式,因此將統(tǒng) 計該單元。 如果不需要統(tǒng)計邏輯值或文本,請改用 COUNTX 函數。 只要該函數發(fā)現沒有可聚合的行,就會返回空白。然而,如果存在行,但這些行都不符合 指定條件,則該函數返回 0。如果沒有找到符合條件的行,則 Microsoft Ex
22、cel 也會返回 0。 返回頁首 示例 下面的示例使用通過 Status = ActiveActive 篩選 Reseller 表所得到的表,統(tǒng)計 Phone 列 中非空行的數目。 =COUNTAX(FILTER(Reseller,Status=Active),Phone) 返回頁首 此文章對您是否有幫助? COUNTACOUNTA 函數函數 (DAX)(DAX) COUNTA 函數計算列中不為空的單元格的數目。它不僅對包含數值的行進行計數,還對包含 非空白值(包括文本、日期和邏輯值)的行進行計數。 語法 COUNTA() 返回頁首 參數 項項定義定義 columncolumn 包含要計數的值
23、的列 返回頁首 練題13 返回值 整數。 返回頁首 備注 如果無需對包含邏輯值或文本的單元進行計數(換言之,如果您想要只對包含數字的單元 進行計數),則使用 COUNT 或 COUNTX 函數。 在該函數找不到要計數的任何行時,就會返回空白。 在存在行,但這些行都不符合指定條 件時,則該函數返回 0。 返回頁首 示例 下面的示例返回 Reseller 表中在存儲電話號碼的列中具有任何類型的值的所有行。因為 表名不包含任何空格,所以引號是可選的。 =COUNTA(ResellerPhone) 返回頁首 此文章對您是否有幫助? COUNTCOUNT 函數函數 (DAX)(DAX) COUNT 函數
24、計算列中包含數字的單元的數目。 語法 COUNT() 返回頁首 參數 項項定義定義 columncolumn 包含要計數的數值的列 返回頁首 返回值 練題14 整數。 返回頁首 備注 此函數的唯一允許參數是列。您可以使用包含任何數據類型的列,但只對數字計數。COUNT 函數對包含以下類型的值的行進行計數: 數字 日期 如果行包含不能轉換成數字的文本,則不對該行進行計數。 在函數沒有發(fā)現要計數的行時,就會返回空白。 在存在行,但這些行都不符合指定條件時, 則該函數返回 0。 返回頁首 示例 下面的示例說明了如何對 ShipDate 列中的數值進行計數。 =COUNT(ShipDate) 若要對邏
25、輯值或文本進行計數,請使用 COUNTA 或 COUNTAX 函數。 返回頁首 此文章對您是否有幫助? CROSSJOINCROSSJOIN 函數函數 (DAX)(DAX) 返回一個包含這些參數的所有表中所有行的笛卡爾積的表。新表中的各列是所有參數表中 的所有列。 語法 CROSSJOIN(, , ) 返回頁首 參數 table 練題15 任何返回數據表的 DAX 表達式 返回頁首 返回值 包含這些參數的所有表中的所有行的笛卡爾積的表。 返回頁首 備注 table 參數中的列名在所有表中都必須不同,否則返回錯誤。 CROSSJOIN() 返回的總行數等于參數內所有表中行數的乘積;此外,結果表中
26、的總 列數是所有表中列數的總和。例如,如果 TableATableA 具有 rArA 行和 cAcA 列,TableBTableB 具有 rBrB 行和 cBcB 列,TableCTableC 具有 rCrC 行和 cCcC 列;則結果表具有 rArA rbrb rCrC 行和 cAcA + + cBcB + + cCcC 列。 返回頁首 示例 以下示例演示將 CROSSJOIN() 應用于表 ColorsColors 和 StationeryStationery 所得的結果。 表 ColorsColors 包含顏色和模式: 顏色顏色模式模式 紅色水平條帶水平條帶 綠色垂直條帶 藍色交叉陰影
27、表 StationeryStationery 包含字體和表示形式: 字體字體表示形式表示形式 serif 陽文 sans-serif 刻紋 生成交叉聯接的表達式如下所示: CROSSJOIN( Colors, Stationery) 當上述表達式用于需要表表達式的任何位置時,表達式的結果應如下所示: 紅色水平條帶 SERIF 陽文 練題16 綠色垂直條帶 serif 陽文 藍色交叉陰影 serif 陽文 紅色水平條帶 sans-serif 刻紋 綠色垂直條帶 sans-serif 刻紋 藍色交叉陰影 sans-serif 刻紋 返回頁首 此文章對您是否有幫助? DISTINCTCOUNTDIS
28、TINCTCOUNT 函數函數 (DAX)(DAX) DISTINCTCOUNT 函數計算一個數字列中不同單元的數目。 語法 DISTINCTCOUNT() 返回頁首 參數 column 包含要計數的數值的列 返回頁首 返回值 column 中的非重復值數目。 返回頁首 備注 此函數的唯一允許參數是列。您可以使用包含任何數據類型的列。在該函數未找到任何要 計數的列時,將返回 BLANK;否則將返回非重復值的計數。 返回頁首 示例 練題17 下面的示例說明如何計算 ResellerSales_USDSalesOrderNumber 列中非重復銷售訂單的 數目。 =DISTINCTCOUNT(Re
29、sellerSales_USDSalesOrderNumber) 在側面具有日歷年的表中和頂部的產品類別中使用上述計算字段將給出以下結果: DISTINCTDISTINCT RESELLERRESELLER ORDERSORDERS COUNTCOUNT 列標簽列標簽 行標簽行標簽 AccessoriesAccessoriesBikesBikesClothingClothingComponentsComponents 總計總計 2005135345242205366 20063568506447021015 2007531123496311381521 2008293724561601894
30、11 總計總計 131513153153315324102410264626461 137973797 在上述示例中,用戶應該可以注意到 Grand Total 行的數字并沒有累加,這是因為同一個 訂單可能包含具有相同順序的行項,但產品類別不同。 此文章對您是否有幫助? GENERATEGENERATE 函數函數 (DAX)(DAX) 返回一個表以及一個笛卡爾積,后者是在 table1 中的每行與通過在 table1 中的當前行 的上下文中計算 table2 所得到的表之間計算獲得的。 語法 GENERATE(, ). 返回頁首 參數 table1 任何返回表的 DAX 表達式。 table2
31、 任何返回表的 DAX 表達式。 練題18 返回頁首 返回值 一個表以及一個笛卡爾積,后者是在 table1 中的每行與通過在 table1 中的當前行的上 下文中計算 table2 所得到的表之間計算獲得的。 返回頁首 備注 如果針對 table1 中的當前行計算 table2 時返回了一個空表,則結果表將不包含 table1 中的當前行。這一點與 GENERATEALL() 不同,對于后者而言,table1 中 的當前行將包括在結果中,而與 table2 對應的列將對于該行具有 null 值。 table1 和 table2 中的所有列名必須不同,否則返回錯誤。 返回頁首 示例 在下面的示
32、例中,用戶需要根據經銷商渠道按區(qū)域和產品類別劃分的銷售額的匯總表,如 下所示: SALESTERRITORYSALEST ERRITORYGROUP PRODUCTCATEGORYPRODUCTC ATEGORYNAME RESELLER SALES EuropeAccessories$ 142,227.27 EuropeBikes$ 9,970,200.44 EuropeClothing$ 365,847.63 EuropeComponents$ 2,214,440.19 North AmericaAccessories$ 379,305.15 North AmericaBikes$ 52,
33、403,796.85 North AmericaClothing$ 1,281,193.26 North AmericaComponents$ 8,882,848.05 PacificAccessories$ 12,769.57 PacificBikes$ 710,677.75 PacificClothing$ 22,902.38 PacificComponents$ 108,549.71 以下代碼生成上述的表: 練題19 GENERATE( SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup) ,SUMMARIZE(Prod
34、uctCategory , ProductCategoryName , 經銷商銷售額, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD) ) ) 1.第一條 SUMMARIZE 語句 SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup) 生成有關區(qū)域組的表,其中每行是一個 區(qū)域組,如下所示: SALESTERRITORYSALESTERRITORYGROUPSALESTERRITORYSALESTERRITORYGROUP North
35、 America Europe Pacific NA 2. 第二個 SUMMARIZE 語句 SUMMARIZE(ProductCategory, ProductCategoryName, 經銷商銷售額, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD) 為每個組的經銷商銷售額生成產品類別 組表,如下所示: PRODUCTCATEGORYPRODUCTCATEGORYNAMEPRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLERRESELLER SALESSALES Bi
36、kes$ 63,084,675.04 Components$ 11,205,837.96 Clothing$ 1,669,943.27 Accessories$ 534,301.99 3. 但是,當您采用上述表并在區(qū)域組表中每一行的上下文中對其進行計算時,您將對 于每個區(qū)域獲得不同的結果。 返回頁首 此文章對您是否有幫助? GENERATEALLGENERATEALL 函數函數 (DAX)(DAX) 返回一個表以及一個笛卡爾積,后者是在 table1 中的每行與通過在 table1 中的當前行 的上下文中計算 table2 所得到的表之間計算獲得的。 練題20 語法 GENERATEALL(,
37、 ) 返回頁首 參數 table1 任何返回表的 DAX 表達式。 table2 任何返回表的 DAX 表達式。 返回頁首 返回值 一個表以及一個笛卡爾積,后者是在 table1 中的每行與通過在 table1 中的當前行的上 下文中計算 table2 所得到的表之間計算獲得的。 返回頁首 備注 如果對 table1 中的當前行計算 table2 時返回空表,則 table1 中的當前行將包 含在結果中,與 table2 對應的列將對于該行具有 Null 值。這一點與 GENERATE() 不同,在后者中,table1 中的當前行將“不”包含在結果中。 table1 和 table2 中的所有
38、列名必須不同,否則返回錯誤。 返回頁首 示例 在下面的示例中,用戶需要根據經銷商渠道按區(qū)域和產品類別劃分的銷售額的匯總表,如 下所示: SALESTERRITORYSALESSALESTERRITORYSALES TERRITORYGROUPTERRITORYGROUP PRODUCTCATEGORYPRODUCTCATPRODUCTCATEGORYPRODUCTCAT EGORYNAMEEGORYNAME RESELLERRESELLER SALESSALES EuropeAccessories$ 142,227.27 EuropeBikes$ 9,970,200.44 練題21 Europ
39、eClothing$ 365,847.63 EuropeComponents$ 2,214,440.19 NAAccessories NABikes NAClothing NAComponents North AmericaAccessories$ 379,305.15 North AmericaBikes$ 52,403,796.85 North AmericaClothing$ 1,281,193.26 North AmericaComponents$ 8,882,848.05 PacificAccessories$ 12,769.57 PacificBikes$ 710,677.75 P
40、acificClothing$ 22,902.38 PacificComponents$ 108,549.71 以下代碼生成上述的表: GENERATEALL( SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup) ,SUMMARIZE(ProductCategory , ProductCategoryName , 經銷商銷售額, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD) ) ) 1. 第一條 SUMMARIZE 生成有關區(qū)域
41、組的表,其中每行是一個區(qū)域組,如下面所列: SALESTERRITORYSALESTERRITORYGROUPSALESTERRITORYSALESTERRITORYGROUP North America Europe Pacific NA 2. 第二個 SUMMARIZE 為每個組的分銷商銷售額生成產品類別組表,如下所示: PRODUCTCATEGORYPRODUCTCATEGORYNAMEPRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLERRESELLER SALESSALES Bikes$ 63,084,675.04 練題22 Components$ 11
42、,205,837.96 Clothing$ 1,669,943.27 Accessories$ 534,301.99 3. 但是,當您采用上述表并在區(qū)域組表中每一行的上下文中對此表進行計算時,您將 對于每個區(qū)域獲得不同的結果。 返回頁首 此文章對您是否有幫助? MAXMAX 函數函數 (DAX)(DAX) 返回列中的最大數值。 語法 MAX () 返回頁首 參數 項項定義定義 ColumnColumn 要查找其中的最大數值的列。 返回頁首 屬性值/返回值 小數。 返回頁首 備注 MAX 函數采用包含數值的列作為參數。如果列中不包含數字,則 MAX 返回空白。如果您要 計算的值不是數字,請使用
43、MAXA 函數。 返回頁首 示例 下面的示例返回在 InternetSales 表的 ExtendedAmount 列中找到的最大值。 練題23 =MAX(InternetSalesExtendedAmount) 返回頁首 此文章對您是否有幫助? MAXAMAXA 函數函數 (DAX)(DAX) 返回列中的最大值。邏輯值和空白被計算在內。 語法 MAXA() 返回頁首 參數 項項定義定義 columncolumn 要找到其最大值的列。 返回頁首 返回值 小數。 返回頁首 備注 MAXA 函數采用某一列作為參數,并且查找以下類型值中的最大值: 數字 日期 邏輯值(例如 TRUE 和 FALSE)
44、。計算結果為 TRUE 的行將作為 1 計數;計算結 果為 FALSE 的行將作為 0 (零)計數。 空單元格將被忽略。如果列中不包含可以使用的值,則 MAXA 將返回 0(零)。 如果您不想包括邏輯值和空白作為計算的一部分,則使用 MAX 函數。 返回頁首 示例 練題24 下面的示例從名為 ResellerMarginResellerMargin 的計算列返回最大值,該 ResellerMargin 列計算標 價和經銷價格之差。 =MAXA(ResellerMargin) 下面的示例從包含日期和時間的列中返回最大值。因此,此公式獲取最新的交易日期。 =MAXA(TransactionDate
45、) 返回頁首 此文章對您是否有幫助? MAXXMAXX 函數函數 (DAX)(DAX) 為表的每一行計算表達式,并且返回最大的數值。 語法 MAXX(,) 返回頁首 參數 項項定義定義 tabletable 包含該表達式計算所針對的行的表。 expression 要對表中每一行計算的表達式。 返回頁首 返回值 小數。 返回頁首 備注 MAXX 函數的 tabletable 參數可以是表名稱或者計算結果為表的表達式。第二個參數指示要為 該表的每一行計算的表達式。 在要計算的值中,只對以下項進行計數: 練題25 數字。如果表達式的計算結果不是數字,MAXX 將返回 0(零)。 日期。 空單元格、邏
46、輯值和文本值將被忽略。如果要在公式中包含非數字值,則使用 MAXA 函數。 如果列或表達式中包含空白單元格,MAXX 將返回一個空列。 示例 下面的公式將表達式用作第二個參數,以便計算 InternetSales 表中每個訂單的稅額和裝 運費用的總額。預期的結果為 375.7184。 =MAXX(InternetSales, InternetSalesTaxAmt+ InternetSalesFreight) 下面的公式首先通過使用 FILTER 表達式篩選表 InternetSales,以便返回定義為 SalesTerritory = 5 的特定銷售區(qū)域的訂單的子級。然后,該 MAXX 函數
47、對用作篩選表 的每一行的第二個參數的表達式進行計算,并且只返回這些訂單的稅額和裝運費用的最高 金額。預期的結果為 250.3724。 =MAXX(FILTER(InternetSales,SalesTerritoryCode=5), InternetSalesTaxAmt+ InternetSalesFreight) 返回頁首 此文章對您是否有幫助? MINAMINA 函數函數 (DAX)(DAX) 返回列中的最小值,包括任何邏輯值和以文本形式表示的數字。 語法 MINA() 返回頁首 參數 項項定義定義 columncolumn 要找到其最小值的列。 返回頁首 返回值 練題26 小數。 返回
48、頁首 備注 MINA 函數采用包含數字的列作為參數并確定最小值,如下所示:如果列中不包含 任何數值,則 MINA 將返回 0(零)。 列中計算結果為邏輯值的行。例如,如果計算結果為 TRUE,則 TRUE 和 FALSE 視 作 1;如果為 FALSE 則 TRUE 和 FALSE 視作 0(零)。 空單元格將被忽略。 如果您不想包括邏輯值和文本作為計算的一部分,則改用 MIN 函數。 返回頁首 示例 下列表達式將從表 InternetSales 返回最低的運費。 =MINA(InternetSalesFreight) 下列表達式將返回列 PostalCode 中的最小值。因為該列的數據類型為
49、文本,所以該函數 找不到任何數值,并且公式將返回零 (0)。 =MINA(PostalCode) 返回頁首 此文章對您是否有幫助? MINMIN 函數函數 (DAX)(DAX) 返回列中的最小數值。忽略邏輯值和文本。 語法 MIN() 返回頁首 參數 項項定義定義 練題27 columncolumn 要查找其中的最小數值的列。 返回頁首 返回值 小數。 返回頁首 備注 MIN 函數采用一個列作為參數,并返回該列中的最小數值。列中以下類型的值被計算在內: 數字 日期 如果列中不包含任何數值數據,則 MIN 返回空白。 空單元格、邏輯值和文本將被忽略。如果您想要在引用中將邏輯值和數字的文本表示形式
50、 作為計算的一部分包括,則使用 MINA 函數。 返回頁首 示例 下面的示例從計算列 ResellerMargin 返回最小值。 =MIN(ResellerMargin). 下面的示例從包含日期和時間的 TransactionDate 列返回最小值。此公式因此返回最早的 日期。 =MIN(TransactionDate). 返回頁首 此文章對您是否有幫助? MINXMINX 函數函數 (DAX)(DAX) 返回通過為表的每一行計算表達式而得出的最小數值。 語法 練題28 MINX(, ) 返回頁首 參數 項項定義定義 tabletable 包含該表達式計算所針對的行的表。 expression
51、expression 要對表中每一行計算的表達式。 返回頁首 返回值 小數。 返回頁首 備注 MINX 函數采用表或返回表的表達式作為其第一個參數。第二個參數包含為該表的每一行計 算的表達式。 MINX 函數根據下面的規(guī)則計算第二個參數中表達式的結果: 只對數字進行計算。如果表達式不產生數字結果,MINX 將返回 0(零)。 空單元格、邏輯值和文本值將被忽略。以文本形式表示的數字被視為文本。 如果您想要在引用中將邏輯值和數字的文本表示形式作為計算的一部分包括,則使用 MINA 函數。 返回頁首 示例 下面的示例篩選表 InternetSales,并且只返回特定銷售區(qū)域的行。然后,該公式查找 F
52、reight 列中的最小值。 =MINX( FILTER(InternetSales, SalesTerritoryKey = 5),Freight) 下面的示例使用與前一示例中相同的篩選表,但該函數不是只查找篩選表中每一行的列中 的值,而是計算 Freight 和 TaxAmt 這兩列之和,并且返回該計算得出的最小值。 練題29 =MINX( FILTER(InternetSales, InternetSalesSalesTerritoryKey = 5), InternetSalesFreight + InternetSalesTaxAmt) 返回頁首 注釋 在第一個示例中,列名稱是未限定
53、名稱。在第二個示例中,列名稱是完全限定名稱。 返回頁首 此文章對您是否有幫助? RANK.EQRANK.EQ 函數函數 (DAX)(DAX) 返回某個數字在數字列表中的排名。 語法 RANK.EQ(, , ) 返回頁首 參數 value 任何返回要找到其排名的單個標量值的 DAX 表達式。表達式將僅計算一次,并且 是在計算此函數之前,然后其值傳遞到參數列表。 columnName 確定排名所依據的現有列的名稱。它不能是表達式或使用以下函數創(chuàng)建的列: ADDCOLUMNS、ROW 或 SUMMARIZE。 order (可選)指定如何對 number 排名的值,從低到高或從高到低: 值值備選備選
54、 值值 說明說明 0(零) FALSE 按 columnName 的降序排名。如果 value 等于 columnName 中的最高 數字,則 RANK.EQRANK.EQ 為 1。 練題30 1TRUE 按 columnName 的升序排名。如果 value 等于 columnName 中的最低 數字,則 RANK.EQRANK.EQ 為 1。 返回頁首 返回值 指示 value 在 columnName 中的各個數字間的排名的數字。 返回頁首 備注 columnName 不能指使用以下函數創(chuàng)建的任何列:ADDCOLUMNS、ROW 或 SUMMARIZE。 如果 value 不在 colu
55、mnName 中,則 RANK.EQ 返回空白值。 value 的重復值收到同樣的排名值;分配的下一個排名值將是該排名值加上重復值 的數目。例如,如果五 (5) 個值與排名 11 等同,則下一個值將獲得排名 16 (11 + 5)。 返回頁首 示例 以下示例創(chuàng)建一個計算列,該計算列對 InternetSales_USD 表的 SalesAmount_USD 列中 的值(針對同一個列中的所有數字)進行排名。 =RANK.EQ(InternetSales_USDSalesAmount_USD, InternetSales_USDSalesAmount_USD) 下面的示例根據給定的示例對值的子集進
56、行排名。假定您具有一個表,其中包含當地學生 及他們在特定統(tǒng)考中的成績;此外,您具有在這次統(tǒng)考中的全部分數。以下計算列將向您 提供每個當地學生的統(tǒng)考排名。 =RANK.EQ(StudentsTest_Score, NationalScoresTest_Score) 返回頁首 此文章對您是否有幫助? RANKXRANKX 函數函數 (DAX)(DAX) 對于 table 參數中的每一行,返回某個數字在數字列表中的排名。 語法 練題31 RANKX(, , , , , , , , ) 返回頁首 參數 table 一個 DAX 表達式,該表達式返回對表達式進行計算的數據表。 expression 任何
57、返回單一標量值的 DAX 表達式。此表達式將針對 table 的每一行進行計算, 以生成所有用于排名的可能值。請參閱“注釋”部分以了解當 expression 的計算 結果為 BLANK 時函數的行為。 value (可選)任何返回要找到其排名的單個標量值的 DAX 表達式。請參閱“注釋”部 分以了解當在表達式中找不到 value 時函數的行為。 當省略 value 參數時,將改用當前行中的表達式值。 order (可選)指定如何對 value 排名的值,從低到高或從高到低: 值備選 值 說明 0(零) FALSE 按表達式值的降序排名。如果值等于表達式中的最高數字,則 RANKX 返回 1。
58、 這是忽略 order 參數時的默認值。 1TRUE 按表達式的升序排名。如果值等于表達式中的最低數字,則 RANKX 返 回 1。 ties (可選)一個枚舉,它定義如何在具有等同值時確定排名。 枚舉說明 Skip 等同值之后的下一個排名值是等同值的排名值加上等同值計數。例如,如果五 (5) 個值與排名 11 等同,則下一個值將獲得排名 16 (11 + 5)。 當忽略 ties 參數時,這是默認值。 練題32 Dense 等同值之后的下一個排名值是下一個排名值。例如,如果五 (5) 個值與排名 11 等同,則下一個值將獲得排名 12。 返回頁首 返回值 value 在針對所有 table
59、數字行計算的 expression 的所有可能值中的排名數字。 返回頁首 備注 如果 expression 或 value 的計算結果為 BLANK,則對于其結果為數字的所有表 達式,它被視為 0(零);或者對于所有文本表達式,則被視為空文本。 如果 value 不在 expression 的所有可能值內,RANKX 會臨時將 value 添加到 expression 的值中,并重新計算 RANKX 以確定 value 的正確排名。 可以通過在參數列表中放入一個空的逗號 (,) 來跳過可選參數,例如 RANKX(Inventory, InventoryCost,Dense)。 返回頁首 示例
60、Products 表中的以下計算列將為 Internet 渠道中的每個產品計算銷售額排名。 RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), SalesAmount) 返回頁首 此文章對您是否有幫助? ROWROW 函數函數 (DAX)(DAX) 返回一個包含單一行的表,該行包括從給予每列的表達式得到的值。 語法 ROW(, , ) 返回頁首 參數 name 練題33 給予此列的名稱,包含在雙引號內。 expression 任何返回要填充 name 的單個標量值的 DAX 表達式。 返回頁首 返回值 包括單一行的表 返回頁首 備注 參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版水電安裝工程新能源并網服務合同集錦3篇
- 二零二五版零擔運輸合同物流數據安全保護合同4篇
- 二零二五版路演車輛租賃與后勤保障合同4篇
- 2025年度智能家居安防與報警系統(tǒng)裝修設計合同
- 2025年度二零二五年度商業(yè)地產租賃轉售合作協(xié)議
- 2025年度項目經理聘用合同范本-大型工程項目管理服務協(xié)議
- 2025年度頂管施工安全防護及應急救援合同
- 2025年度特種車輛駕駛員勞務合同及應急響應能力
- 2025年度短視頻平臺內容合作與分成協(xié)議
- 二零二五年度2025年門面使用權租賃合同樣本
- (一模)臨汾市2025年高考考前適應性訓練考試(一)語文試卷(含答案)
- 2024-2025學年滬科版數學七年級上冊期末綜合測試卷(一)(含答案)
- 2023年廣東省公務員錄用考試《行測》真題及答案解析
- 2024年公證遺產繼承分配協(xié)議書模板
- 燃氣經營安全重大隱患判定標準課件
- 深圳小學英語單詞表(中英文)
- 護理質量反饋內容
- 抖音搜索用戶分析報告
- 鉆孔灌注樁技術規(guī)范
- 2023-2024學年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學設計
- 供貨進度計劃
評論
0/150
提交評論