DAX统计函数Word文档格式.docx

上传人:b****6 文档编号:19982500 上传时间:2023-01-13 格式:DOCX 页数:54 大小:37.42KB
下载 相关 举报
DAX统计函数Word文档格式.docx_第1页
第1页 / 共54页
DAX统计函数Word文档格式.docx_第2页
第2页 / 共54页
DAX统计函数Word文档格式.docx_第3页
第3页 / 共54页
DAX统计函数Word文档格式.docx_第4页
第4页 / 共54页
DAX统计函数Word文档格式.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

DAX统计函数Word文档格式.docx

《DAX统计函数Word文档格式.docx》由会员分享,可在线阅读,更多相关《DAX统计函数Word文档格式.docx(54页珍藏版)》请在冰豆网上搜索。

DAX统计函数Word文档格式.docx

STDEVX、P函数

STDEVX、S函数

SUMMARIZE函数

TOPN函数

VAR、P函数

VAR、S函数

VARX、P函数

VARX、S函数

返回页首

ADDCOLUMNS函数(DAX)

将计算列添加到给定的表或表的表达式中。

语法

ADDCOLUMNS(<

table>

<

name>

expression>

[,<

]…)

参数

table

任何返回数据表的DAX表达式。

name

给予此列的名称,包含在双引号内。

expression

返回标量表达式且针对table的每行进行计算的任何DAX表达式。

返回值

具有所有原始列与添加列的表。

示例

下面的示例返回ProductCategory表的扩展版本,其中包括来自经销商渠道与Internet销售的总销售额值。

ADDCOLUMNS(ProductCategory,

"

InternetSales"

SUMX(RELATEDTABLE(InternetSales_USD),InternetSales_USD[SalesAmount_USD])

ResellerSales"

SUMX(RELATEDTABLE(ResellerSales_USD),ResellerSales_USD[SalesAmount_USD]))

下表显示任何预期接收表的函数应收到的数据的预览:

ProductCategory[ProductCategoryName]

ProductCategory[ProductCategoryAlternateKey]

ProductCategory[ProductCategoryKey]

[InternetSales]

[ResellerSales]

Bikes

1

25107749、77

63084675、04

Components

2

11205837、96

Clothing

3

306157、5829

1669943、267

Accessories

4

640920、1338

534301、9888

此文章对您就是否有帮助?

AVERAGE函数(DAX)

返回列中所有数字的平均值(算术平均值)。

AVERAGE(<

column>

)、

定义

column

包含要计算其平均值的数字的列。

返回一个小数,该数字表示列中所有数字的算术平均值。

备注

此函数采用指定列作为参数,并计算该列中的值的平均值。

如果您要获得计算结果为一组数字的表达式的平均值,请改用AVERAGEX函数。

列中的非数字值按如下方式处理:

如果列中包含文本,则不能执行任何聚合运算,且该函数返回空白。

如果列中包含逻辑值或空单元,则忽略这些值。

值为零的单元包括在内。

在计算单元的平均值时,必须注意空单元与包含0(零)值的单元之间的差异。

如果某个单元包含0,则将该单元加入数字总与,并将该行计入用作除数的行数。

但就是,当单元包含空白时,不对行进行计数。

只要不存在要聚合的行,该函数就会返回空白。

 

然而,如果存在行,但这些行都不符合指定条件,则该函数返回0。

如果没有找到符合条件的行,Excel也会返回0。

下面的公式返回表InternetSales中的列ExtendedSalesAmount中的值的平均值。

=AVERAGE(InternetSales[ExtendedSalesAmount])

相关函数

AVERAGEX函数可以采用对表中的每行进行计算的表达式作为参数。

这使您可以执行计算,然后获得计算得到的值的平均值。

AVERAGEA函数采用列作为参数,但除此之外,该函数与具有相同名称的Excel函数类似。

使用AVERAGEA函数可以计算包含空值的列的平均值。

AVERAGEA函数(DAX)

返回列中值的平均值(算术平均值)。

处理文本与非数字值。

AVERAGEA(<

包含要计算其平均值的值的列。

小数。

AVERAGEA函数取列并对其中的数字计算平均值,但它还根据以下规则处理非数字数据类型:

∙计算结果为TRUE的值作为1计数。

∙计算结果为FALSE的值作为0(零)计数。

∙包含非数字文本的值作为0(零)计数。

∙空文本("

"

)作为0(零)计数。

如果您不想在引用中将逻辑值与数字的文本表示形式作为计算的一部分包括,则使用AVERAGE函数。

只要没有可聚合的行,该函数就返回空白。

如果没有找到符合条件的行,MicrosoftExcel也会返回0。

下面的示例返回以下表的引用列中非空白单元格的平均值。

如果您使用了AVERAGE函数,则平均值就是21/2;

对于AVERAGEA函数,则结果就是22/5。

TransactionID

金额

结果

按1计数

20

按20计数

不适用

按0计数

TRUE

=AVERAGEA([Amount])

AVERAGEX函数(DAX)

计算对表进行求值的一组表达式的平均值(算术平均值)。

AVERAGEX(<

<

表的名称,或者指定可对其执行聚合的表的表达式。

具有标量结果的表达式,将为第一个参数中表的每一行计算该表达式。

AVERAGEX函数可用于对表的每一行计算表达式,然后采用生成的值的集合并计算其算术平均值。

因此,该函数采用表作为其第一个参数,采用表达式作为其第二个参数。

在所有其她方面,AVERAGEX都遵循与AVERAGE相同的规则。

不能包含非数字或空单元格。

表与表达式参数都就是必需的。

在没有可聚合的行时,该函数将返回空白。

在存在行,但这些行都不符合指定条件时,则该函数返回0。

下面的示例通过首先将每一行中的Freight与TaxAmt相加,然后对相加后的结果求平均值,计算InternetSales表中每个订单的平均运费与税额。

=AVERAGEX(InternetSales,InternetSales[Freight]+InternetSales[TaxAmt])

如果您在用作第二个参数的表达式中使用多个运算,则必须使用括号来控制计算的顺序。

有关详细信息,请参阅针对PowerPivot的DAX语法规范。

COUNTBLANK函数(DAX)

计算列中空白单元的数目。

COUNTBLANK(<

包含要计数的空白单元的列。

整数。

如果找不到满足条件的行,则返回空白。

此函数的唯一允许参数就是列。

您可以使用包含任何数据类型的列,但只对空白单元计数。

将不对具有值零(0)的单元计数,因为零被视作数值并且不就是空白。

换言之,如果COUNTBLANK函数未找到任何空白,则结果将就是0,但如果没有要检查的行,则结果将就是空白。

不支持在DirectQuery模式下使用此DAX函数。

有关DirectQuery模型中的限制的详细信息,请参阅[[REMOVEDFWLINK219172TOMSDN]]。

下面的示例说明了如何计算Reseller表中对于BankName具有空白值的行数。

=COUNTBLANK(Reseller[BankName])

若要对逻辑值或文本进行计数,请使用COUNTA或COUNTAX函数。

COUNTROWS函数(DAX)

COUNTROWS函数计算指定表中的行数,或者计算表达式定义的表中的行数。

COUNTROWS(<

包含要计算其数目的行的表的名称,或者返回表的表达式。

此函数可用于计算基表中的行数,但更常用于计算通过筛选表或者将上下文应用于表而得出的行数。

下面的示例说明了如何计算Orders表中的行数。

预期的结果为52761。

=COUNTROWS('

Orders'

下面的示例演示如何将COUNTROWS用于行上下文。

在此方案中,有两组由订单号相关的数据。

表Reseller为每个分销商包含一行;

表ResellerSales为每个订单包含多行,每一行都为特定分销商包含一个订单。

这些表由ResellerKey列上的关系连接。

该公式获取ResellerKey的值,然后计算相关表中具有相同分销商ID的行数。

结果就是CalculatedColumn1列中的输出。

=COUNTROWS(RELATEDTABLE(ResellerSales))

下表显示一部分预期结果:

ResellerKey

CalculatedColumn1

73

70

394

COUNTX函数(DAX)

在对表计算表达式的结果时,计算包含数字或者计算结果为数字的表达式的行的数目。

COUNTX(<

包含要计算其数目的行的表。

返回包含您要计数的值的一组值的表达式。

一个整数。

COUNTX函数采用两个参数。

第一个参数必须始终就是表,或者就是返回表的任何表达式。

第二个参数就是COUNTX搜索的列或表达式。

COUNTX函数只对数值或日期进行计数。

不对就是逻辑值或不能转换为数字的文本的参数进行计数。

如果函数没有发现要计数的行,则返回空白。

如果想要计算逻辑值或文本的数目,请使用COUNTA或COUNTAX函数。

下面的公式将返回Product表中具有标价的所有行的计数。

=COUNTX(Product,[ListPrice])

下面的公式说明对于第一个参数如何将筛选表传递给COUNTX。

该公式使用筛选表达式以便只获取Product表中满足ProductSubCategory="

Caps"

条件的行,然后计算生成的表中具有标价的行的数目。

FILTER表达式应用于表Products,但使用在相关表ProductSubCategory中查找的值。

=COUNTX(FILTER(Product,RELATED(ProductSubcategory[EnglishProductSubcategoryName])="

Product[ListPrice])

COUNTAX函数(DAX)

COUNTAX函数用于在对表计算表达式的结果时统计非空结果数。

即,它的作用与COUNTA函数类似,但它用于对表中所有行进行循环访问,并统计指定表达式计算为非空结果的行数。

COUNTAX(<

包含该表达式计算所针对的行的表。

要对表中每一行计算的表达式。

与COUNTA函数一样,COUNTAX函数统计包含任何类型信息(包括其她表达式)的单元的数目。

例如,如果列包含计算为空字符串的表达式,那么COUNTAX函数将该结果视为非空。

COUNTAX函数通常不统计空单元的数目,但就是在这种情况下,单元包含了公式,因此将统计该单元。

如果不需要统计逻辑值或文本,请改用COUNTX函数。

只要该函数发现没有可聚合的行,就会返回空白。

如果没有找到符合条件的行,则MicrosoftExcel也会返回0。

下面的示例使用通过[Status]=Active筛选Reseller表所得到的表,统计Phone列中非空行的数目。

=COUNTAX(FILTER('

Reseller'

[Status]="

Active"

),[Phone])

COUNTA函数(DAX)

COUNTA函数计算列中不为空的单元格的数目。

它不仅对包含数值的行进行计数,还对包含非空白值(包括文本、日期与逻辑值)的行进行计数。

COUNTA(<

包含要计数的值的列

如果无需对包含逻辑值或文本的单元进行计数(换言之,如果您想要只对包含数字的单元进行计数),则使用COUNT或COUNTX函数。

在该函数找不到要计数的任何行时,就会返回空白。

下面的示例返回Reseller表中在存储电话号码的列中具有任何类型的值的所有行。

因为表名不包含任何空格,所以引号就是可选的。

=COUNTA('

[Phone])

COUNT函数(DAX)

COUNT函数计算列中包含数字的单元的数目。

COUNT(<

包含要计数的数值的列

您可以使用包含任何数据类型的列,但只对数字计数。

COUNT函数对包含以下类型的值的行进行计数:

∙数字

∙日期

如果行包含不能转换成数字的文本,则不对该行进行计数。

在函数没有发现要计数的行时,就会返回空白。

下面的示例说明了如何对ShipDate列中的数值进行计数。

=COUNT([ShipDate])

CROSSJOIN函数(DAX)

返回一个包含这些参数的所有表中所有行的笛卡尔积的表。

新表中的各列就是所有参数表中的所有列。

CROSSJOIN(<

]…)

任何返回数据表的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)

当上述表达式用于需要表表达式的任何位置时,表达式的结果应如下所示:

DISTINCTCOUNT函数(DAX)

DISTINCTCOUNT函数计算一个数字列中不同单元的数目。

DISTINCTCOUNT(<

column中的非重复值数目。

您可以使用包含任何数据类型的列。

在该函数未找到任何要计数的列时,将返回BLANK;

否则将返回非重复值的计数。

下面的示例说明如何计算ResellerSales_USD[SalesOrderNumber]列中非重复销售订单的数目。

=DISTINCTCOUNT(ResellerSales_USD[SalesOrderNumber])

在侧面具有日历年的表中与顶部的产品类别中使用上述计算字段将给出以下结果:

DistinctResellerOrderscount

列标签

行标签

总计

2005

5

366

702

1015

63

1138

1521

601

894

2646

3797

在上述示例中,用户应该可以注意到GrandTotal行的数字并没有累加,这就是因为同一个订单可能包含具有相同顺序的行项,但产品类别不同。

GENERATE函数(DAX)

返回一个表以及一个笛卡尔积,后者就是在table1中的每行与通过在table1中的当前行的上下文中计算table2所得到的表之间计算获得的。

GENERATE(<

table1>

table2>

table1

任何返回表的DAX表达式。

table2

一个表以及一个笛卡尔积,后者就是在table1中的每行与通过在table1中的当前行的上下文中计算table2所得到的表之间计算获得的。

∙如果针对table1中的当前行计算table2时返回了一个空表,则结果表将不包含table1中的当前行。

这一点与GENERATEALL()不同,对于后者而言,table1中的当前行将包括在结果中,而与table2对应的列将对于该行具有null值。

∙table1与table2中的所有列名必须不同,否则返回错误。

在下面的示例中,用户需要根据经销商渠道按区域与产品类别划分的销售额的汇总表,如下所示:

SalesTerritory[SalesTerritoryGroup]

Europe

$142,227、27

$9,970,200、44

$365,847、63

$2,214,440、19

NorthAmerica

$379,305、15

$52,403,796、85

$1,281,193、26

$8,882,848、05

Pacific

$12,769、57

$710,677、75

Clothi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1