![DAX-统计函数[学练结合]_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-5/20/959e940e-03fb-46c1-a550-2f406c2bdc05/959e940e-03fb-46c1-a550-2f406c2bdc051.gif)
![DAX-统计函数[学练结合]_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-5/20/959e940e-03fb-46c1-a550-2f406c2bdc05/959e940e-03fb-46c1-a550-2f406c2bdc052.gif)
![DAX-统计函数[学练结合]_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-5/20/959e940e-03fb-46c1-a550-2f406c2bdc05/959e940e-03fb-46c1-a550-2f406c2bdc053.gif)
![DAX-统计函数[学练结合]_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-5/20/959e940e-03fb-46c1-a550-2f406c2bdc05/959e940e-03fb-46c1-a550-2f406c2bdc054.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、练题1 DAXDAX 函数的类型函数的类型 DAX 提供了很多与您所熟悉的 Excel 函数具有相同功能和名称的函数。然而,这些函数已 经过修改,它们使用 DAX 数据类型并对表和列执行操作。DAX 还提供许多专用功能,例如 基于关系执行查找、循环访问表以执行递归计算以及利用时间智能进行计算。 本文内容 表值函数 日期和时间函数 筛选器函数 信息函数 逻辑函数 数学和三角函数 统计函数 文本函数 时间智能函数 统计函数统计函数 (DAX)(DAX) 数据分析表达式 (DAX) 提供许多用于创建聚合(例如求和、计数和平均值)的函数。这些 函数非常类似于 Microsoft Excel 使用的聚合
2、函数。本节列出 DAX 中提供的统计和聚合 函数。 本节内容 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 函数。 列中的非数字值按如下方式处理: 如果列中包含文本,则不能执行任何聚合运算,且该函数返回空白。 如果列中包含逻辑值或空单元,则忽略这些值。 值为零的单元包括在内。 在计算单元的平均值时,必须注意空单元与包含 0(零)值的单元之间的差异。如果某个 单元包含 0,则将该单元加入数字总和,并将该行计入用作除数的行数。但是,当单元包 含空白时,不对行进行计数。 只要不存在要聚合的行,该函数就会返回空白。 然而,如果存在行,但这些行都不符合指 定条件,则该函数返回 0。如果没有找到符合条件的行,E
8、xcel 也会返回 0。 返回页首 示例 下面的公式返回表 InternetSales 中的列 ExtendedSalesAmount 中的值的平均值。 =AVERAGE(InternetSalesExtendedSalesAmount) 返回页首 相关函数 练题5 AVERAGEX 函数可以采用对表中的每行进行计算的表达式作为参数。这使您可以执行计算, 然后获得计算得到的值的平均值。 AVERAGEA 函数采用列作为参数,但除此之外,该函数与具有相同名称的 Excel 函数类似。 使用 AVERAGEA 函数可以计算包含空值的列的平均值。 返回页首 此文章对您是否有帮助? AVERAGEAA
9、VERAGEA 函数函数 (DAX)(DAX) 返回列中值的平均值(算术平均值)。处理文本和非数字值。 语法 AVERAGEA() 返回页首 参数 项项定义定义 columncolumn 包含要计算其平均值的值的列。 返回页首 返回值 小数。 返回页首 备注 AVERAGEA 函数取列并对其中的数字计算平均值,但它还根据以下规则处理非数字数据类型: 计算结果为 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 表的名称,或者指定可对其执行聚合的表的表达式。 expressionexpression 具有标量结果的表达式,将为第一个参数中表的每一行计算该表达式。 返回页首 返回值 练题7 小数。 返回页首 备注 AVERAGEX 函数可用于对表的每一行计算表达式,然后采用生成的值的集合并计算其算术平
12、均值。因此,该函数采用表作为其第一个参数,采用表达式作为其第二个参数。 在所有其他方面,AVERAGEX 都遵循与 AVERAGE 相同的规则。不能包含非数字或空单元格。 表和表达式参数都是必需的。 在没有可聚合的行时,该函数将返回空白。 在存在行,但这些行都不符合指定条件时,则 该函数返回 0。 返回页首 示例 下面的示例通过首先将每一行中的 Freight 与 TaxAmt 相加,然后对相加后的结果求平均 值,计算 InternetSales 表中每个订单的平均运费和税额。 =AVERAGEX(InternetSales, InternetSalesFreight+ InternetSal
13、esTaxAmt) 如果您在用作第二个参数的表达式中使用多个运算,则必须使用括号来控制计算的顺序。 有关详细信息,请参阅针对 PowerPivot 的 DAX 语法规范。 返回页首 此文章对您是否有帮助? 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 函数只对数值或日期进行计数。不对是逻辑值或不能转换为数字的文本的参数进行 计数。如果函数没有发现要计数的行,则返回空白。 在存在行,但这些行都不符合指定条 件时,则该函数返回 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 函数用于在对表计算表达式的结果时统计非空结果数。即,它的作用与 COUNTA 函数类似,但它用于对表中所有行进行循环访问,并统计指定表达式计算为非空结果的行 数。 语法 COUNTAX(,) 返回页首 参数 项项定义定义 tabletable 包含该表达式计算所针对的行的表。 expressionexpress
21、ion 要对表中每一行计算的表达式。 返回页首 返回值 整数。 返回页首 练题12 备注 与 COUNTA 函数一样,COUNTAX 函数统计包含任何类型信息(包括其他表达式)的单元的 数目。 例如,如果列包含计算为空字符串的表达式,那么 COUNTAX 函数将该结果视为非空。 COUNTAX 函数通常不统计空单元的数目,但是在这种情况下,单元包含了公式,因此将统 计该单元。 如果不需要统计逻辑值或文本,请改用 COUNTX 函数。 只要该函数发现没有可聚合的行,就会返回空白。然而,如果存在行,但这些行都不符合 指定条件,则该函数返回 0。如果没有找到符合条件的行,则 Microsoft Ex
22、cel 也会返回 0。 返回页首 示例 下面的示例使用通过 Status = ActiveActive 筛选 Reseller 表所得到的表,统计 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 函数对包含以下类型的值的行进行计数: 数字 日期 如果行包含不能转换成数字的文本,则不对该行进行计数。 在函数没有发现要计数的行时,就会返回空白。 在存在行,但这些行都不符合指定条件时, 则该函数返回 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、例中,用户需要根据经销商渠道按区域和产品类别划分的销售额的汇总表,如 下所示: 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) 生成有关区域组的表,其中每行是一个 区域组,如下所示: 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. 但是,当您采用上述表并在区域组表中每一行的上下文中对其进行计算时,您将对 于每个区域获得不同的结果。 返回页首 此文章对您是否有帮助? 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、列名必须不同,否则返回错误。 返回页首 示例 在下面的示例中,用户需要根据经销商渠道按区域和产品类别划分的销售额的汇总表,如 下所示: 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 生成有关区域
41、组的表,其中每行是一个区域组,如下面所列: 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. 但是,当您采用上述表并在区域组表中每一行的上下文中对此表进行计算时,您将 对于每个区域获得不同的结果。 返回页首 此文章对您是否有帮助? 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 的特定销售区域的订单的子级。然后,该 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 函数根据下面的规则计算第二个参数中表达式的结果: 只对数字进行计算。如果表达式不产生数字结果,MINX 将返回 0(零)。 空单元格、逻辑值和文本值将被忽略。以文本形式表示的数字被视为文本。 如果您想要在引用中将逻辑值和数字的文本表示形式作为计算的一部分包括,则使用 MINA 函数。 返回页首 示例 下面的示例筛选表 InternetSales,并且只返回特定销售区域的行。然后,该公式查找 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 确定排名所依据的现有列的名称。它不能是表达式或使用以下函数创建的列: 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 不能指使用以下函数创建的任何列:ADDCOLUMNS、ROW 或 SUMMARIZE。 如果 value 不在 colu
55、mnName 中,则 RANK.EQ 返回空白值。 value 的重复值收到同样的排名值;分配的下一个排名值将是该排名值加上重复值 的数目。例如,如果五 (5) 个值与排名 11 等同,则下一个值将获得排名 16 (11 + 5)。 返回页首 示例 以下示例创建一个计算列,该计算列对 InternetSales_USD 表的 SalesAmount_USD 列中 的值(针对同一个列中的所有数字)进行排名。 =RANK.EQ(InternetSales_USDSalesAmount_USD, InternetSales_USDSalesAmount_USD) 下面的示例根据给定的示例对值的子集进
56、行排名。假定您具有一个表,其中包含当地学生 及他们在特定统考中的成绩;此外,您具有在这次统考中的全部分数。以下计算列将向您 提供每个当地学生的统考排名。 =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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁商贸职业学院《学术英语(二)》2023-2024学年第二学期期末试卷
- 湖北青年职业学院《学前儿童家庭教育》2023-2024学年第二学期期末试卷
- 泰山护理职业学院《摄影作品研究》2023-2024学年第二学期期末试卷
- 运城职业技术大学《生物组学与精准医学》2023-2024学年第二学期期末试卷
- 凋亡抑制因子筛选-洞察及研究
- 建筑技术投资回报-洞察及研究
- 气候责任分配-洞察及研究
- 物流公司驻厂管理制度
- 物流员工宿舍管理制度
- 物流货代公司管理制度
- GH/T 1093-2014再生资源回收利用网络规范
- 培养学生核心素养导向下的课堂教学课件
- 广西壮族自治区工程造价综合定额答疑汇编2022年11月更新
- 食品供应不合格产品退换方案
- 年产12000吨水合肼(100%)项目环评报告书
- 《有机波谱分析》期末考试试卷及参考答案
- 最详细的整车开发流程
- 部编版七年级历史(下)材料论述题专项训练
- 年产1000吨乳酸的生产工艺设计
- 博克服装CAD制版说明操作手册(共95页)
- 光电效应测普朗克常数-实验报告
评论
0/150
提交评论