DAX-统计函数.doc

上传人:最*** 文档编号:1575159 上传时间:2019-10-28 格式:DOC 页数:50 大小:86.26KB
返回 下载 相关 举报
DAX-统计函数.doc_第1页
第1页 / 共50页
DAX-统计函数.doc_第2页
第2页 / 共50页
DAX-统计函数.doc_第3页
第3页 / 共50页
点击查看更多>>
资源描述
DAX 函数的类型DAX 提供了很多与您所熟悉的 Excel 函数具有相同功能和名称的函数。然而,这些函数已经过修改,它们使用 DAX 数据类型并对表和列执行操作。DAX 还提供许多专用功能,例如基于关系执行查找、循环访问表以执行递归计算以及利用时间智能进行计算。本文内容 表值函数 日期和时间函数 筛选器函数 信息函数 逻辑函数 数学和三角函数 统计函数 文本函数 时间智能函数统计函数 (DAX)数据分析表达式 (DAX) 提供许多用于创建聚合(例如求和、计数和平均值)的函数。这些函数非常类似于 Microsoft Excel 使用的聚合函数。本节列出 DAX 中提供的统计和聚合函数。本节内容ADDCOLUMNS 函数AVERAGE 函数AVERAGEA 函数AVERAGEX 函数COUNT 函数COUNTA 函数COUNTAX 函数COUNTBLANK 函数COUNTROWS 函数COUNTX 函数CROSSJOIN 函数DISTINCTCOUNT 函数GENERATE 函数GENERATEALL 函数MAX 函数MAXA 函数MAXX 函数MINA 函数MIN 函数MINX 函数RANK.EQ 函数RANKX 函数ROW 函数STDEV.P 函数STDEV.S 函数STDEVX.P 函数STDEVX.S 函数SUMMARIZE 函数TOPN 函数VAR.P 函数VAR.S 函数VARX.P 函数VARX.S 函数返回页首ADDCOLUMNS 函数 (DAX)将计算列添加到给定的表或表的表达式中。 语法ADDCOLUMNS(, , , , )返回页首参数table任何返回数据表的 DAX 表达式。name给予此列的名称,包含在双引号内。expression返回标量表达式且针对 table 的每行进行计算的任何 DAX 表达式。返回页首返回值具有所有原始列和添加列的表。返回页首示例下面的示例返回 Product Category 表的扩展版本,其中包括来自经销商渠道和 Internet 销售的总销售额值。ADDCOLUMNS(ProductCategory, , Internet Sales, SUMX(RELATEDTABLE(InternetSales_USD), InternetSales_USDSalesAmount_USD) , Reseller Sales, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD)下表显示任何预期接收表的函数应收到的数据的预览:PRODUCTCATEGORYPRODUCTCATEGORYNAMEPRODUCTCATEGORYPRODUCTCATEGORYALTERNATEKEYPRODUCTCATEGORYPRODUCTCATEGORYKEYINTERNET SALESRESELLER SALESBikes1125107749.7763084675.04Components2211205837.96Clothing33306157.58291669943.267Accessories44640920.1338534301.9888返回页首此文章对您是否有帮助?AVERAGE 函数 (DAX)返回列中所有数字的平均值(算术平均值)。语法AVERAGE().返回页首参数项定义column包含要计算其平均值的数字的列。返回页首返回值返回一个小数,该数字表示列中所有数字的算术平均值。返回页首备注此函数采用指定列作为参数,并计算该列中的值的平均值。如果您要获得计算结果为一组数字的表达式的平均值,请改用 AVERAGEX 函数。列中的非数字值按如下方式处理:如果列中包含文本,则不能执行任何聚合运算,且该函数返回空白。如果列中包含逻辑值或空单元,则忽略这些值。值为零的单元包括在内。在计算单元的平均值时,必须注意空单元与包含 0(零)值的单元之间的差异。如果某个单元包含 0,则将该单元加入数字总和,并将该行计入用作除数的行数。但是,当单元包含空白时,不对行进行计数。只要不存在要聚合的行,该函数就会返回空白。然而,如果存在行,但这些行都不符合指定条件,则该函数返回 0。如果没有找到符合条件的行,Excel 也会返回 0。返回页首示例下面的公式返回表 InternetSales 中的列 ExtendedSalesAmount 中的值的平均值。=AVERAGE(InternetSalesExtendedSalesAmount)返回页首相关函数AVERAGEX 函数可以采用对表中的每行进行计算的表达式作为参数。这使您可以执行计算,然后获得计算得到的值的平均值。AVERAGEA 函数采用列作为参数,但除此之外,该函数与具有相同名称的 Excel 函数类似。使用 AVERAGEA 函数可以计算包含空值的列的平均值。返回页首此文章对您是否有帮助?AVERAGEA 函数 (DAX)返回列中值的平均值(算术平均值)。处理文本和非数字值。语法AVERAGEA()返回页首参数项定义column包含要计算其平均值的值的列。返回页首返回值小数。返回页首备注AVERAGEA 函数取列并对其中的数字计算平均值,但它还根据以下规则处理非数字数据类型: 计算结果为 TRUE 的值作为 1 计数。 计算结果为 FALSE 的值作为 0(零)计数。 包含非数字文本的值作为 0(零)计数。 空文本 () 作为 0(零)计数。如果您不想在引用中将逻辑值和数字的文本表示形式作为计算的一部分包括,则使用 AVERAGE 函数。只要没有可聚合的行,该函数就返回空白。然而,如果存在行,但这些行都不符合指定条件,则该函数返回 0。如果没有找到符合条件的行,Microsoft Excel 也会返回 0。返回页首示例下面的示例返回以下表的引用列中非空白单元格的平均值。如果您使用了 AVERAGE 函数,则平均值是 21/2;对于 AVERAGEA 函数,则结果是 22/5。TRANSACTION ID金额结果00001231按 1 计数000012420按 20 计数0000125不适用按 0 计数0000126按 0 计数0000126TRUE按 1 计数=AVERAGEA(Amount)返回页首此文章对您是否有帮助?AVERAGEX 函数 (DAX)计算对表进行求值的一组表达式的平均值(算术平均值)。语法AVERAGEX(,)返回页首参数项定义table表的名称,或者指定可对其执行聚合的表的表达式。expression具有标量结果的表达式,将为第一个参数中表的每一行计算该表达式。返回页首返回值小数。返回页首备注AVERAGEX 函数可用于对表的每一行计算表达式,然后采用生成的值的集合并计算其算术平均值。因此,该函数采用表作为其第一个参数,采用表达式作为其第二个参数。在所有其他方面,AVERAGEX 都遵循与 AVERAGE 相同的规则。不能包含非数字或空单元格。表和表达式参数都是必需的。在没有可聚合的行时,该函数将返回空白。在存在行,但这些行都不符合指定条件时,则该函数返回 0。返回页首示例下面的示例通过首先将每一行中的 Freight 与 TaxAmt 相加,然后对相加后的结果求平均值,计算 InternetSales 表中每个订单的平均运费和税额。=AVERAGEX(InternetSales, InternetSalesFreight+ InternetSalesTaxAmt)如果您在用作第二个参数的表达式中使用多个运算,则必须使用括号来控制计算的顺序。有关详细信息,请参阅针对 PowerPivot 的 DAX 语法规范。返回页首此文章对您是否有帮助?COUNTBLANK 函数 (DAX)计算列中空白单元的数目。返回页首语法COUNTBLANK()返回页首参数项定义column包含要计数的空白单元的列。返回页首返回值整数。如果找不到满足条件的行,则返回空白。返回页首备注此函数的唯一允许参数是列。您可以使用包含任何数据类型的列,但只对空白单元计数。将不对具有值零 (0) 的单元计数,因为零被视作数值并且不是空白。只要没有可聚合的行,该函数就返回空白。然而,如果存在行,但这些行都不符合指定条件,则该函数返回 0。如果没有找到符合条件的行,Microsoft Excel 也会返回 0。换言之,如果 COUNTBLANK 函数未找到任何空白,则结果将是 0,但如果没有要检查的行,则结果将是空白。不支持在 DirectQuery 模式下使用此 DAX 函数。有关 DirectQuery 模型中的限制的详细信息,请参阅 REMOVED FWLINK 219172 TO MSDN。返回页首示例下面的示例说明了如何计算 Reseller 表中对于 BankName 具有空白值的行数。=COUNTBLANK(ResellerBankName)若要对逻辑值或文本进行计数,请使用 COUNTA 或 COUNTAX 函数。返回页首此文章对您是否有帮助?COUNTROWS 函数 (DAX)COUNTROWS 函数计算指定表中的行数,或者计算表达式定义的表中的行数。 语法COUNTROWS()返回页首参数项定义table包含要计算其数目的行的表的名称,或者返回表的表达式。返回页首返回值整数。返回页首备注此函数可用于计算基表中的行数,但更常用于计算通过筛选表或者将上下文应用于表而得出的行数。只要没有可聚合的行,该函数就返回空白。然而,如果存在行,但这些行都不符合指定条件,则该函数返回 0。如果没有找到符合条件的行,Microsoft Excel 也会返回 0。返回页首示例下面的示例说明了如何计算 Orders 表中的行数。预期的结果为 52761。=COUNTROWS(Orders) 下面的示例演示如何将 COUNTROWS 用于行上下文。在此方案中,有两组由订单号相关的数据。表 Reseller 为每个分销商包含一行;表 ResellerSales 为每个订单包含多行,每一行都为特定分销商包含一个订单。这些表由 ResellerKey 列上的关系连接。该公式获取 ResellerKey 的值,然后计算相关表中具有相同分销商 ID 的行数。结果是 CalculatedColumn1 列中的输出。=COUNTROWS(RELATEDTABLE(ResellerSales) 下表显示一部分预期结果:RESELLERKEYCALCULATEDCOLUMN11732703394返回页首此文章对您是否有帮助?COUNTX 函数 (DAX)在对表计算表达式的结果时,计算包含数字或者计算结果为数字的表达式的行的数目。语法COUNTX(,)返回页首参数项定义table包含要计算其数目的行的表。expression返回包含您要计数的值的一组值的表达式。返回页首返回值一个整数。返回页首备注COUNTX 函数采用两个参数。第一个参数必须始终是表,或者是返回表的任何表达式。第二个参数是 COUNTX 搜索的列或表达式。COUNTX 函数只对数值或日期进行计数。不对是逻辑值或不能转换为数字的文本的参数进行计数。如果函数没有发现要计数的行,则返回空白。在存在行,但这些行都不符合指定条件时,则该函数返回 0。如果想要计算逻辑值或文本的数目,请使用 COUNTA 或 COUNTAX 函数。返回页首示例下面的公式将返回 Product 表中具有标价的所有行的计数。=COUNTX(Product,ListPrice)下面的公式说明对于第一个参数如何将筛选表传递给 COUNTX。该公式使用筛选表达式以便只获取 Product 表中满足 ProductSubCategory = Caps 条件的行,然后计算生成的表中具有标价的行的数目。FILTER 表达式应用于表 Products,但使用在相关表 ProductSubCategory 中查找的值。=COUNTX(FILTER(Product,RELATED(ProductSubcategoryEnglishProductSubcategoryName)=Caps, ProductListPrice)返回页首此文章对您是否有帮助?COUNTAX 函数 (DAX)COUNTAX 函数用于在对表计算表达式的结果时统计非空结果数。即,它的作用与 COUNTA 函数类似,但它用于对表中所有行进行循环访问,并统计指定表达式计算为非空结果的行数。 语法COUNTAX(,)返回页首参数项定义table包含该表达式计算所针对的行的表。expression要对表中每一行计算的表达式。返回页首返回值整数。返回页首备注与 COUNTA 函数一样,COUNTAX 函数统计包含任何类型信息(包括其他表达式)的单元的数目。例如,如果列包含计算为空字符串的表达式,那么 COUNTAX 函数将该结果视为非空。COUNTAX 函数通常不统计空单元的数目,但是在这种情况下,单元包含了公式,因此将统计该单元。如果不需要统计逻辑值或文本,请改用 COUNTX 函数。只要该函数发现没有可聚合的行,就会返回空白。然而,如果存在行,但这些行都不符合指定条件,则该函数返回 0。如果没有找到符合条件的行,则 Microsoft Excel 也会返回 0。返回页首示例下面的示例使用通过 Status = Active 筛选 Reseller 表所得到的表,统计 Phone 列中非空行的数目。=COUNTAX(FILTER(Reseller,Status=Active),Phone)返回页首此文章对您是否有帮助?COUNTA 函数 (DAX)COUNTA 函数计算列中不为空的单元格的数目。它不仅对包含数值的行进行计数,还对包含非空白值(包括文本、日期和逻辑值)的行进行计数。语法COUNTA()返回页首参数项定义column包含要计数的值的列返回页首返回值整数。返回页首备注如果无需对包含逻辑值或文本的单元进行计数(换言之,如果您想要只对包含数字的单元进行计数),则使用 COUNT 或 COUNTX 函数。在该函数找不到要计数的任何行时,就会返回空白。在存在行,但这些行都不符合指定条件时,则该函数返回 0。返回页首示例下面的示例返回 Reseller 表中在存储电话号码的列中具有任何类型的值的所有行。因为表名不包含任何空格,所以引号是可选的。=COUNTA(ResellerPhone)返回页首此文章对您是否有帮助?COUNT 函数 (DAX)COUNT 函数计算列中包含数字的单元的数目。语法COUNT()返回页首参数项定义column包含要计数的数值的列返回页首返回值整数。返回页首备注此函数的唯一允许参数是列。您可以使用包含任何数据类型的列,但只对数字计数。COUNT 函数对包含以下类型的值的行进行计数: 数字 日期如果行包含不能转换成数字的文本,则不对该行进行计数。在函数没有发现要计数的行时,就会返回空白。在存在行,但这些行都不符合指定条件时,则该函数返回 0。返回页首示例下面的示例说明了如何对 ShipDate 列中的数值进行计数。=COUNT(ShipDate)若要对逻辑值或文本进行计数,请使用 COUNTA 或 COUNTAX 函数。返回页首此文章对您是否有帮助?CROSSJOIN 函数 (DAX)返回一个包含这些参数的所有表中所有行的笛卡尔积的表。新表中的各列是所有参数表中的所有列。语法CROSSJOIN(, , ) 返回页首参数table任何返回数据表的 DAX 表达式返回页首返回值包含这些参数的所有表中的所有行的笛卡尔积的表。返回页首备注 table 参数中的列名在所有表中都必须不同,否则返回错误。 CROSSJOIN() 返回的总行数等于参数内所有表中行数的乘积;此外,结果表中的总列数是所有表中列数的总和。例如,如果 TableA 具有 rA 行和 cA 列,TableB 具有 rB 行和 cB 列,TableC 具有 rC 行和 cC 列;则结果表具有 rA rb rC 行和 cA + cB + cC 列。返回页首示例以下示例演示将 CROSSJOIN() 应用于表 Colors 和 Stationery 所得的结果。表 Colors 包含颜色和模式:颜色模式红色水平条带绿色垂直条带蓝色交叉阴影表 Stationery 包含字体和表示形式:字体表示形式serif阳文sans-serif刻纹生成交叉联接的表达式如下所示:CROSSJOIN( Colors, Stationery) 当上述表达式用于需要表表达式的任何位置时,表达式的结果应如下所示:红色水平条带SERIF阳文绿色垂直条带serif阳文蓝色交叉阴影serif阳文红色水平条带sans-serif刻纹绿色垂直条带sans-serif刻纹蓝色交叉阴影sans-serif刻纹返回页首此文章对您是否有帮助?DISTINCTCOUNT 函数 (DAX)DISTINCTCOUNT 函数计算一个数字列中不同单元的数目。语法DISTINCTCOUNT()返回页首参数column包含要计数的数值的列返回页首返回值column 中的非重复值数目。返回页首备注此函数的唯一允许参数是列。您可以使用包含任何数据类型的列。在该函数未找到任何要计数的列时,将返回 BLANK;否则将返回非重复值的计数。返回页首示例下面的示例说明如何计算 ResellerSales_USDSalesOrderNumber 列中非重复销售订单的数目。=DISTINCTCOUNT(ResellerSales_USDSalesOrderNumber)在侧面具有日历年的表中和顶部的产品类别中使用上述计算字段将给出以下结果:DISTINCT RESELLER ORDERS COUNT列标签行标签AccessoriesBikesClothingComponents总计2005135345242205366200635685064470210152007531123496311381521200829372456160189411总计131531532410264613797在上述示例中,用户应该可以注意到 Grand Total 行的数字并没有累加,这是因为同一个订单可能包含具有相同顺序的行项,但产品类别不同。此文章对您是否有帮助?GENERATE 函数 (DAX)返回一个表以及一个笛卡尔积,后者是在 table1 中的每行与通过在 table1 中的当前行的上下文中计算 table2 所得到的表之间计算获得的。语法GENERATE(, ).返回页首参数table1任何返回表的 DAX 表达式。table2任何返回表的 DAX 表达式。返回页首返回值一个表以及一个笛卡尔积,后者是在 table1 中的每行与通过在 table1 中的当前行的上下文中计算 table2 所得到的表之间计算获得的。返回页首备注 如果针对 table1 中的当前行计算 table2 时返回了一个空表,则结果表将不包含 table1 中的当前行。这一点与 GENERATEALL() 不同,对于后者而言,table1 中的当前行将包括在结果中,而与 table2 对应的列将对于该行具有 null 值。 table1 和 table2 中的所有列名必须不同,否则返回错误。返回页首示例在下面的示例中,用户需要根据经销商渠道按区域和产品类别划分的销售额的汇总表,如下所示:SALESTERRITORYSALESTERRITORYGROUPPRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLER SALESEuropeAccessories$ 142,227.27EuropeBikes$ 9,970,200.44EuropeClothing$ 365,847.63EuropeComponents$ 2,214,440.19North AmericaAccessories$ 379,305.15North AmericaBikes$ 52,403,796.85North AmericaClothing$ 1,281,193.26North AmericaComponents$ 8,882,848.05PacificAccessories$ 12,769.57PacificBikes$ 710,677.75PacificClothing$ 22,902.38PacificComponents$ 108,549.71以下代码生成上述的表:GENERATE(SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup),SUMMARIZE(ProductCategory, ProductCategoryName, 经销商销售额, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD)1. 第一条 SUMMARIZE 语句 SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup) 生成有关区域组的表,其中每行是一个区域组,如下所示:SALESTERRITORYSALESTERRITORYGROUPNorth AmericaEuropePacificNA2. 第二个 SUMMARIZE 语句 SUMMARIZE(ProductCategory, ProductCategoryName, 经销商销售额, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD) 为每个组的经销商销售额生成产品类别组表,如下所示:PRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLER SALESBikes$ 63,084,675.04Components$ 11,205,837.96Clothing$ 1,669,943.27Accessories$ 534,301.993. 但是,当您采用上述表并在区域组表中每一行的上下文中对其进行计算时,您将对于每个区域获得不同的结果。返回页首此文章对您是否有帮助?GENERATEALL 函数 (DAX)返回一个表以及一个笛卡尔积,后者是在 table1 中的每行与通过在 table1 中的当前行的上下文中计算 table2 所得到的表之间计算获得的。语法GENERATEALL(, )返回页首参数table1任何返回表的 DAX 表达式。table2任何返回表的 DAX 表达式。返回页首返回值一个表以及一个笛卡尔积,后者是在 table1 中的每行与通过在 table1 中的当前行的上下文中计算 table2 所得到的表之间计算获得的。返回页首备注 如果对 table1 中的当前行计算 table2 时返回空表,则 table1 中的当前行将包含在结果中,与 table2 对应的列将对于该行具有 Null 值。这一点与 GENERATE() 不同,在后者中,table1 中的当前行将“不”包含在结果中。 table1 和 table2 中的所有列名必须不同,否则返回错误。返回页首示例在下面的示例中,用户需要根据经销商渠道按区域和产品类别划分的销售额的汇总表,如下所示:SALESTERRITORYSALESTERRITORYGROUPPRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLER SALESEuropeAccessories$ 142,227.27EuropeBikes$ 9,970,200.44EuropeClothing$ 365,847.63EuropeComponents$ 2,214,440.19NAAccessoriesNABikesNAClothingNAComponentsNorth AmericaAccessories$ 379,305.15North AmericaBikes$ 52,403,796.85North AmericaClothing$ 1,281,193.26North AmericaComponents$ 8,882,848.05PacificAccessories$ 12,769.57PacificBikes$ 710,677.75PacificClothing$ 22,902.38PacificComponents$ 108,549.71以下代码生成上述的表:GENERATEALL(SUMMARIZE(SalesTerritory, SalesTerritorySalesTerritoryGroup),SUMMARIZE(ProductCategory, ProductCategoryName, 经销商销售额, SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USDSalesAmount_USD)1. 第一条 SUMMARIZE 生成有关区域组的表,其中每行是一个区域组,如下面所列:SALESTERRITORYSALESTERRITORYGROUPNorth AmericaEuropePacificNA2. 第二个 SUMMARIZE 为每个组的分销商销售额生成产品类别组表,如下所示:PRODUCTCATEGORYPRODUCTCATEGORYNAMERESELLER SALESBikes$ 63,084,675.04Components$ 11,205,837.96Clothing$ 1,669,943.27Accessories$ 534,301.993. 但是,当您采用上述表并在区域组表中每一行的上下文中对此表进行计算时,您将对于每个区域获得不同的结果。返回页首此文章对您是否有帮助?MAX 函数 (DAX)返回列中的最大数值。 语法MAX ()返回页首参数项定义Column要查找其中的最大数值的列。返回页首属性值/返回值小数。返回页首备注MAX 函数采用包含数值的列作为参数。如果列中不包含数字,则 MAX 返回空白。如果您要计算的值不是数字,请使用 MAXA 函数。返回页首示例下面的示例返回在 InternetSales 表的 ExtendedAmount 列中找到的最大值。=MAX(InternetSalesExtendedAmount)返回页首此文章对您是否有帮助?MAXA 函数 (DAX)返回列中的最大值。逻辑值和空白被计算在内。 语法MAXA()返回页首参数项定义column要找到其最大值的列。返回页首返回值小数。返回页首备注MAXA 函数采用某一列作为参数,并且查找以下类型值中的最大值: 数字 日期 逻辑值(例如 TRUE 和 FALSE)。计算结果为 TRUE 的行将作为 1 计数;计算结果为 FALSE 的行将作为 0 (零)计数。空单元格将被忽略。如果列中不包含可以使用的值,则 MAXA 将返回 0(零)。如果您不想包括逻辑值和空白作为计算的一部分,则使用 MAX 函数。返回页首示例下面的示例从名为 ResellerMargin 的计算列返回最大值,该 ResellerMargin 列计算标价和经销价格之差。=MAXA(ResellerMargin)下面的示例从包含日期和时间的列中返回最大值。因此,此公式获取最新的交易日期。=MAXA(TransactionDate)返回页首此文章对您是否有帮助?MAXX 函数 (DAX)为表的每一行计算表达式,并且返回最大的数值。语法MAXX(,)返回页首参数项定义table包含该表达式计算所针对的行的表。expression要对表中每一行计算的表达式。返回页首返回值小数。返回页首备注MAXX 函数的 table 参数可以是表名称或者计算结果为表的表达式。第二个参数指示要为该表的每一行计算的表达式。在要计算的值中,只对以下项进行计数: 数字。如果表达式的计算结果不是数字,MAXX 将返回 0(零)。 日期。空单元格、逻辑值和文本值将被忽略。如果要在公式中包含非数字值,则使用 MAXA 函数。如果列或表达式中包含空白单元格,MAXX 将返回一个空列。示例下面的公式将表达式用作第二个参数,以便计算 InternetSales 表中每个订单的税额和装运费用的总额。预期的结果为 375.7184。=MAXX(InternetSales, InternetSalesTaxAmt+ InternetSalesFreight)下面的公式首先通过使用 FILTER 表达式筛选表 InternetSales,以便返回定义为 SalesTerritory = 5 的特定销售区域的订单的子级。然后,该 MAXX 函数对用作筛选表的每一行的第二个参数的表达式进行计算,并且只返回这些订单的税额和装运费用的最高金额。预期的结果为 250.3724。=MAXX(FILTER(InternetSales,SalesTerritoryCode=5), InternetSalesTaxAmt+ InternetSalesFreight)返回页首此文章对您是否有帮助?MINA 函数 (DAX)返回列中的最小值,包括任何逻辑值和以文本形式表示的数字。语法MINA()返回页首参数项定义column要找到其最小值的列。返回页首返回值小数。返回页首备注 MINA 函数采用包含数字的列作为参数并确定最小值,如下所示:如果列中不包含任何数值,则 MINA 将返回 0(零)。 列中计算结果为逻辑值的行。例如,如果计算结果为 TRUE,则 TRUE 和 FALSE 视作 1;如果为 FALSE 则 TRUE 和 FALSE 视作 0(零)。 空单元格将被忽略。如果您不想包括逻辑值和文本作为计算的一部分,则改用 MIN 函数。返回页首示例下列表达式将从表 InternetSales 返回最低的运费。=MINA(InternetSalesFreight)下列表达式将返回列 PostalCode 中的最小值。因为该列的数据类型为文本,所以该函数找不到任何数值,并且公式将返回零 (0)。=MINA(PostalCode)返回页首此文章对您是否有帮助?MIN 函数 (DAX)返回列中的最小数值。忽略逻辑值和文本。 语法MIN()返回页首参数项定义column要查找其中的最小数值的列。返回页首返回值小数。返回页首备注MIN 函数采用一个列作为参数,并返回该列中的最小数值。列中以下类型的值被计算在内: 数字 日期 如果列中不包含任何数值数据,则 MIN 返回空白。空单元格、逻辑值和文本将被忽略。如果您想要在引用中将逻辑值和数字的文本表示形式作为计算的一部分包括,则使用 MINA 函数。返回页首示例下面的示例从计算列 ResellerMargin 返回最小值。=MIN(ResellerMargin).下面的示例从包含日期和时间的 TransactionDate 列返回最小值。此公式因此返回最早的日期。=MIN(TransactionDate).返回页首此文章对您是否有帮助?MINX 函数 (DAX)返回通过为表的每一行计算表达式而得出的最小数值。语法MINX(, )返回页首参数项定义table包含该表达式计算所针对的行的表。expression要对表中每一行计算的表达式。返回页首返回值小数。返回页首备注MINX 函数采用表或返回表的表达式作为其第一个参数。第二个参数包含为该表的每一行计算的表达式。MINX 函数根据下面的规则计算第二个参数中表达式的结果:只对数字进行计算。如果表达式不产生数字结果,MINX 将返回 0(零)。空单元格、逻辑值和文本值将被忽略。以文本形式表示的数字被视为文本。如果您想要在引用中将逻辑值和数字的文本表示形式作为计算的一部分包括,则使用 MINA 函数。返回页首示例下面的示例筛选表 InternetSales,并且只返回特定销售区域的行。然后,该公式查找 Freight 列中的最小值。=MINX( FILTER(InternetSales, SalesTerritoryKey = 5),Freight)下面的示例使用与前一示例中相同的筛选表,但该函数不是只查找筛选表中每一行的列中的值,而是计算 Freight 和 TaxAmt 这两列之和,并且返回该计算得出的最小值。=MINX( FILTER(InternetSales, InternetSalesSalesTerritoryKey = 5), InternetSalesFreight + InternetSalesTaxAmt)返回页首注释在第一个示例中,列名称是未限定名称。在第二个示例中,列名称是完全限定名称。返回页首此文章对您是否有帮助?RANK.EQ 函数 (DAX)返回某个数字在数字列表中的排名。语法RANK.EQ(, , )返回页首参数value任何返回要找到其排名的单个标量值的 DAX 表达式。表达式将仅计算一次,并且是在计算此函数之前,然后其值传递到参数列表。columnName确定排名所依据的现有列的名称。它不能是表达式或使用以下函数创建的列:ADDCOLUMNS、ROW 或 SUMMARIZE。order(可选)指定如何对 number 排名的值,从低到高或从高到低:值备选值说明0(零)FALSE按 columnName 的降序排名。如果 value 等于 columnName 中的最高数字,则 RANK.EQ 为 1。1TRUE按 columnName 的升序排名。如果 value 等于 columnName 中的最低数字,则 RANK.EQ 为 1。返回页首返回值指示 value 在 columnName 中的各个数字间的排名的数字。返回页首备注 columnName 不能指使用以下函数创建的任何列:ADDCOLUMNS、ROW 或 SUMMARIZE。 如果 value 不在 columnName 中,则 RANK.EQ 返回空白值。 value 的重复值收到同样的排名值;分配的下一个排名值将是该排名值加上重复值的数目。例如,如果五 (5) 个值与排名 11 等同,则下一个值将获得排名 16 (11 + 5)。返回页首示例以下示例创建一个计算列,该计算列对 InternetSales_USD 表的 SalesAmount_USD 列中的值(针对同一个列中的所有数字)进行排名。=RANK.EQ(InternetSales_USDSalesAmount_USD, InternetSales_USDSalesAmount_USD)下面的示例根据给定的示例对值的子集进行排名。假定您具有一个表,其中包含当地学生及他们在特定统考中的成绩;此外,您具有在这次统考中的全部分数。以下计算列将向您提供每个当地学生的统考排名。=RANK.EQ(StudentsTest_Score, NationalScoresTest_Score)返回页首此文章对您是否有帮助?RANKX 函数 (DAX)对于 table 参数中的每一行,返回某个数字在数字列表中的排名。语法RANKX(, , , , , , , , )返回页首参数table一个 DAX 表达式,该表达式返回对表达式进行计算的数据表。expression任何返回单一标量值的 DAX 表达式。此表达式将针对 table 的每一行进行计算,以生成所有用于排名的可能值。请参阅“注释”部分以了解当 expression 的计算结果为 BLANK 时函数的行为。value(可选)任何返回要找到其排名的单个标量值的 DAX 表达式。请参阅“注释”部分以了解当在表达式中找不到 value 时函数的行为。当省略 value 参数时,将改用当前行中的表达式值。order(可选)指定如何对 value 排名的值,从低到高或从高到低:值备选值说明0(零)FALSE按表达式值的降序排名。如果值等于表达式中的最高数字,则 RANKX 返回 1。这是忽略 order 参数时的默认值。1TRUE按表达式的升序排名。如果值等于表达式中的最低数字,则 RANKX 返回 1。ties(可选)一个枚举,它定义如何在具有等同值时确定排名。枚举说明Skip等同值之后的下一个排名值是等同值的排名值加上等同值计数。例如,如果五 (5) 个值与排名 11 等同,则下一个值将获得排名 16 (11 + 5)。当忽略 ties 参数时,这是默认值。Dense等同值之后的下一个排名值是下一个排名值。例如,如果五 (5) 个值与排名 11 等同,则下一个值将获得排名 12。返回页首返回值value 在针对所有 table 数字行计算的 expression 的所有可能值中的排名数字。返回页首备注 如果 expression 或 value 的计算结果为 BLANK,则对于其结果为数字的所有表达式,它被视为 0(零);或者对于所有文本表达式,则被视为空文本。 如果 value 不在 expression 的所有可能值内,RANKX 会临时将 value 添加到 expression 的值中,并重新计算 RANKX 以确定 value 的正确排名。 可以通过在参数列表中放入一个空的逗号 (,) 来跳过可选参数,例如 RANKX(Inventory, InventoryCost,Dense)。返回页首示例Products 表中的以下计算列将为 Internet 渠道中的每个产品计算销售额排名。RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), SalesAmount)返回页首此文章对您是否有帮助?ROW 函数 (DAX)返回一个包含单一行的表,该行包括从给予每列的表达式得到的值。语法ROW(, , )返回页首参数name给予此列的名称,包含在双引号内。expression任何返回要填充 name 的单个标量值的 DAX 表达式。返回页首返回值包括单一行的表返回页首备注参数必须始终以 name 和 expression 对的形式出现。返回页首示例下面的示例返回一个具有单一行的表,其中包含针对 Internet 渠道和分销商渠道的总计销售额。ROW(Internet Total Sales (USD), SUM(InternetSales_USDSalesAmount_USD), the preservable formatted text. Resellers Total Sales (USD), SUM(ResellerSales_USDSalesAmount_USD)此代码拆分为两行以便于阅读。返回页首 此文章对您是否有帮助?STDEV.P 函数 (DAX)返回整个总体的标准偏差。语法STDEV.P()返回页首参数columnName使用标准 DAX 语法的现有列的名称,通常是完全限定的名称。它不能是表达式。返回页首返回值表示整个总体的标准偏差的数字。返回页首备注1. STDEV.P 假定此列指整个总体。如果数据表示总体的样本,请使用 STDEV.S 计算标准偏差。2. STDEV.P 使用以下公式:(x - x)/n其中,x 是 x 针对整个总体的平均值,而 n 为总体大小3. 空白行将从 columnName 中筛选掉,计算时将不考虑它们。4. 如果 columnName 包含的非空白行少于 2 行,则返回错误。在用于在 DirectQuery 模式下部署然后查询的模型中时,此 DAX 函数可返回不同的结果。有关 DirectQuery 模式中的语义差异的详细信息,请参阅 REMOVED FWLINK 219171 TO MSDN。返回页首示例以下示例显示针对一个计算字段的公式,用于当表 InternetSales_USD 为整个总体时,计算列 SalesAmount_USD 的标准偏差。=STDEV.P(InternetSales_USDSalesAmount_USD)返回页首此文章对您是否有帮助?STDEV.S 函数 (DAX)返回样本总体的标准偏差。语法STDEV.S()返回页首参数columnName使用标准 DAX 语法的现有列的名称,通常是完全限定的名称。它不能是表达式。返回页首返回值表示样本总体的标准偏差的数字。返回页首备注1. STDEV.S 假定此列指总体的一个样本。如果您的数据代表的是整个总体,则使用 STDEV.P 计算标准偏差。2. STDEV.S 使用以下公式:(x - x)/(n-1)其中,x 是 x 针对样本总体的平均值,而 n 为总体大小3. 空白行将从 columnName 中筛选掉,计算时将不考虑它们。4. 如果 columnName 包含的非空白行少于 2 行,则返回错误。在用于在 DirectQuery 模式下部署然后查询的模型中时,此 DAX 函数可返回不同的结果。有关 DirectQuery 模式中的语义差异的详细信息,请参阅 REMOVED FWLINK 219171 TO MSDN。返回页首示例以下示例显示针对一个计算字段的公式,用于当表 InternetSales_USD 为样本总体时,计算列 SalesAmount_USD 的标准偏差。=ST
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!