这在我的脑海里似乎很容易,但我在过去的几个小时里一直没有得到它.
我有一个表可视化,提供了成本按小时使用的措施。
Category | Total Cost | Hours | Cost per Hour
A | 1000 | 10 | 100
B | 2000 | 100 | 20
C | 100 | 4 | 25
D | -500 | 100 | -5
Total | 2600 | 214 | 12.1495为了我的目的,我还想创建一个百分比的总总成本每小时,以增加一个树可视化。但是,如果我再次将每小时的成本添加到树状图中,并在字段上使用“快速clac”功能,那么对于上表中的第一个记录,它将返回823.7%,为(100/12.1495) = 8.2307。我希望这%的成组分每小时成本使用总费用之和每小时一栏。预期结果:
Category | Total Cost | Hours | Cost per Hour | % of Cost per Hour
A | 1000 | 10 | 100 | 71.4%
B | 2000 | 100 | 20 | 14.3%
C | 100 | 4 | 25 | 17.9%
D | -500 | 100 | -5 | -3.8%
Total | 2600 | 214 | 12.1495 | 100%需要注意的一些事情使得任何DAX的应用都具有挑战性。以下所有措施都是通过表1-5中的多个筛选器可视化和表1-5中的页级筛选来过滤的。
表可视化存在于Table1中。费用存在于表2-5中,并且使用多对一单向滤波器关系与Table1相关.
总成本是将来自4个不同表的值相加在一起的度量。例:Total Cost = sum(table2[value])+sum(table3[value])+sum(table4[value])+sum(table5[value])
小时是一种度量,它将表中的一列相加起来,并将其除以该表中记录的不同计数。例:Hours = sum(table1[hours])/Distinctcount(table1[records])
每小时成本是一种由另外两种度量组成的度量。
我觉得这有点像人们想把百分比加到饼图上.我只是试图给出一个实数来表示在TreeChart可视化中显示的比例。我真的希望这比看上去容易。
编辑@alejandrozuleta: Table1是引用和创建表2-5的原始表。在Table1中指定了一个索引号,表2-5在此参考编号上链接。表2-5单独存在的原因是它们包含单独的成本“类型”,而这些表中出现的联接添加了仅适用于特定成本类型的附加列。例如,Table2是人员成本:
index | Category | Cost Type | Value | Age of Personnel
1 | A | Personnel | 1 | 33Table3是维护费用:
index | Category | Cost Type | Value | Scheduled or UnScheduled Maint
2 | A | Maintenance | 5 | Scheduled如果[Age of Personnel]存在于Table3中,那么对于维护[Cost Type]的任何记录,它都会有一个"null“,反之亦然,如果它存在于Table2中,则为"null”。因为我不想处理过滤器可视化需要为某些成本类型选择“(空白)”,这些表之间的数据关系是一个多对一的单向过滤器,使用[index]作为关键。
EDIT2:使用名义数据和我描述的数据模型工作的.pbix文件是链接的:Crosfilltered.pbix
发布于 2016-09-23 19:43:40
我认为这个解决方案可能对你有用。基本上,我已经创建了两个助手度量(您不必在表中显示这些度量):
CostPerHourHelper = SUMX(TableName,[Cost per Hour])
CostPerHourTotal = SUMX(ALL(TableName),[Cost per Hour])
现在,您可以使用以下表达式创建% of Cost per Hour度量:
% Cost Per Hour = [CostPerHourHelper]/[CostPerHourTotal] 它应产生:

更新:
使用ALLSELECTED()函数保留应用的显式筛选器。
% Cost Per Hour = SUMX ( TableName, [Cost per Hour] )
/ SUMX ( ALLSELECTED ( TableName ), [Cost per Hour] )如果这有帮助的话请告诉我。
https://stackoverflow.com/questions/39663126
复制相似问题