接上文:PowerPivot:使用DAX公式来计算列 在使用数据透视表时,度量值是一种包含跨多个维度自动整合数据的列——也就是说,跨一个数据透视表的多个列,多行和切片。例如,在下面的DAX表达式中,我定义了一个度量值(在FactInternetSales表中),为SalesAmount列添加了汇总值: =SUM([SalesAmount]) 我在SUM函数中添加了列名作为参数之后,可以增加度量值(TotalCost)给我的数据透视表提供值选择,如图4所示。 图4:你可以使用DAX在你的Excel数据透视表中创建度量值。(点击放大) TotalCost度量值提供了每个产品和每个区……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在使用数据透视表时,度量值是一种包含跨多个维度自动整合数据的列——也就是说,跨一个数据透视表的多个列,多行和切片。例如,在下面的DAX表达式中,我定义了一个度量值(在FactInternetSales表中),为SalesAmount列添加了汇总值:
=SUM([SalesAmount])
我在SUM函数中添加了列名作为参数之后,可以增加度量值(TotalCost)给我的数据透视表提供值选择,如图4所示。
图4:你可以使用DAX在你的Excel数据透视表中创建度量值。(点击放大)
TotalCost度量值提供了每个产品和每个区域的合计——也包括每个产品跨所有区域的合计。如果你滚动到底部,你会发现每个区域的合计和所有区域和产品的总计。
在DAX和Excel中,SUM函数的一个限制就是你只能包含一个列作为参数。然而,DAX提供了一组函数,支持你在表达式中包含多个列。例如,在下面的DAX表达式中,我使用SUMX函数来对表达式返回的值进行合计,这是为了找出两个列数量之间的差异。
=SUMX(FactInternetSales, [SalesAmount] - [TotalProductCost])
SUMX函数有两个参数。第一个参数是包含源数据的表名称,第二个参数是函数的表达式——SalesAmount的值减去TotalProductCost的值。图5展示了度量值(NetCost)聚集的数据。
图5:DAX聚集函数是你可以轻松创建度量值。(点击放大)
该度量值跨不同产品和区域整合数据,并提供每个分类的总计。下面的DAX表达式还返回了净销量,但只是统计了产品的当前状态:
=SUMX(FILTER(FactInternetSales, RELATED(DimProduct[Status]) = "Current"), [SalesAmount] - [TotalProductCost])
现在SUMX函数的第一个参数包括FILTER和RELATED函数。FILTER函数包含两个参数。第一个是来源表,而第二个是过滤条件。在这种情况下,条件指定度量值应该聚合数据的条件是,DimProduct表中的产品,而且状态值等于当前状态(Current)。请注意,我使用了RELATED函数来引用DimProduct表。图6展示了该度量值(CurrentSales)如何聚集数据。
图6:在创建度量时,你可以使用DAX公式过滤数据。(点击放大)
我这里展示的例子只是一个示范,你可以在数据透视表中用DAX语言创建很多类型的公式。你可以给予数据范围分析数据,创建条件进一步提炼数据或者获取来自多个表的数据。在此之前,执行这类计算会需要对关系数据和联机分析处理数据结构有深入的理解。有了DAX,你可以把复杂的分析和全面的BI合并到Excel环境中,让你的电子表格世界变成开放的疆域。
翻译
相关推荐
-
SQL Server 2016实时操作分析 你值得拥有
分析有助于提高商业运营的效率,SQL Server 2016允许用户在事务数据库的操作型数据上完成实时分析。
-
微软走进开源时代 Linux SQL Server是最大功臣
在人们眼中,以往的微软与开源技术格格不入,但这种认知很快就会被打破。微软打算在2017年中旬发布Linux SQL Server版本,如果进展顺利,就可以帮微软网罗大量新客户。
-
文化准备对HR数据分析很重要
人力资源分析是许多公司刚盯上的新玩具,这些公司希望获得可靠且有才华的员工。但是,在加入这个行列之前,公司需要理解并规划分析能做什么。
-
Collaborate 2015:当BI遭遇物联网
作为GE全球研究院的首席架构师,Shyam Nath最近一直在关注物联网技术与传统商业智能(BI)如何结合。