PowerPivot:使用DAX公式来计算列

日期: 2012-01-31 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

PowerPivot是微软公司提供的Excel插件,它支持你把商业智能(BI)合并到Excel环境中。你可以创建计算列并基于数据分析表达式进行度量(数据分析表达式DAX是一种专为分析关系数据表数据而设计的新的公式语言)。DAX公式与传统的Excel公式类似,但是功能要多得多。传统的Excel公式在二维数据集的处理上有一些限制,而DAX可以支持你处理更大的数据集。

  要创建计算列或者度量,你可以定义一个DAX公式,合并函数、操作符和必要的列引用来实现表达式逻辑。你必须以等号(=)开始公式,并把所有列名称放到方括号内,比如“[SalesAmount]”。如果你引用的是一个表,而不是你创建的列或度……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

PowerPivot是微软公司提供的Excel插件,它支持你把商业智能(BI)合并到Excel环境中。你可以创建计算列并基于数据分析表达式进行度量(数据分析表达式DAX是一种专为分析关系数据表数据而设计的新的公式语言)。DAX公式与传统的Excel公式类似,但是功能要多得多。传统的Excel公式在二维数据集的处理上有一些限制,而DAX可以支持你处理更大的数据集。

  要创建计算列或者度量,你可以定义一个DAX公式,合并函数、操作符和必要的列引用来实现表达式逻辑。你必须以等号(=)开始公式,并把所有列名称放到方括号内,比如“[SalesAmount]”。如果你引用的是一个表,而不是你创建的列或度量,那就在列名前面加上表名前缀,比如“FactInternetSales[SalesAmount]”。

  DAX语言支持执行数学运算操作符,比如加号(+)和减号(-);支持比较操作符,比如大于号(>)和小于号(<);支持连接字符(&)连接两个字符串值;支持逻辑运算符,两个and符号(&&)表示“AND”运算条件,双竖线(||)表示或运算条件。

  使用DAX公式计算列

  当你创建计算列时,你必须定义一个DAX表达式。在下面的例子中,我定义了一个DAX表达式,其中包括了列引用和数学运算符:

  =FactInternetSales[SalesAmount] + FactInternetSales[TaxAmt] + FactInternetSales[Freight]

  请注意,我在表达式前面加了等号,在SalesAmount、TaxAmt、Freight列前面使用了加号操作符。图1展示了计算列(TotalSales1)和它的表达式。

图1:你可以使用DAX公式在Excel中创建计算列。(点击放大)

  因为我引用的列与我创建公式的列是同一个表,所以我可以省略掉表名称,如下面的例子:

  =[SalesAmount] + [TaxAmt] + [Freight]

  你可以注意到这样一来公式简化了很多,如图2,新列(TotalSales2)与TotalSales1返回了相同的数据。

图2:如果工作在同一个表中,你可以略去DAX公式中的表名称。(点击放大)

  DAX支持超过130个函数。使用每个函数的原理是相同的;也就是说,当你调用函数时,需要包括一个或者多个参数(用逗号分隔),并且写在括号内。在下面的DAX表达式中,我使用了“RELATED”函数创建计算列,实现了从DimCustomer表提取数据:

  =RELATED(DimCustomer[FirstName]) & " " & RELATED(DimCustomer[LastName])

  对于每个“RELATED”函数,我只传递了一个参数——就是目标表和列的名称。你可以使用这个函数从你创建计算列的表有关联的任何表中提取数据。然后,我使用连接运算符把名和姓连接起来,中间还有一个空格(在双引号里)。图3展示了新的计算列(完整的姓名)和DAX公式,显示在数据透视表上方的公式栏里。

图3:DAX支持你把创建的计算列值进行连接。(点击放大)

        点击继续阅读:PowerPivot:用DAX公式创建度量值

相关推荐