我有一个表格可视化,它使用度量提供按小时计算的费用。
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
出于我的目的,我还想创建一个每小时总成本百分比来添加到树状图可视化中。但是,如果我只是再次将[每小时费用]添加到树状图中并使用" quick clac"对于该字段的功能,它将返回上表中第一条记录的823.7%(100 / 12.1495)= 8.2307。我希望每小时成本的GT百分比使用每小时成本列的总和。期望的结果:
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中的页级过滤器进行过滤
表格可视化存在于表1中。表2-5中存在成本,并且使用多对一单向滤波器关系与表1相关。
[总成本]是一个度量,它将来自4个不同表的值相加。例如:Total Cost = sum(table2[value])+sum(table3[value])+sum(table4[value])+sum(table5[value])
[Hours]是一个Measure,它将表中的列加在一起,并除以该表中的不同记录数。例如:Hours = sum(table1[hours])/Distinctcount(table1[records])
[每小时费用]是一项由另外两项措施组成的衡量标准。Cost per Hour = [Total Cost] / [Hours]
我觉得这与想要在饼图中添加百分比的人类似......我只是试图归一个实数来表示TreeChart可视化中显示的比例。我真的希望这比看起来容易。
编辑@alejandrozuleta: 表1是引用和创建表2-5的原始表。表1中分配了索引号,表2-5中的索引号与此参考号相关联。表2-5单独存在的原因是因为它们包含单独的成本"类型"并且这些表中出现的联接会添加仅适用于特定成本类型的其他列....例如,表2是人员成本:
index | Category | Cost Type | Value | Age of Personnel
1 | A | Personnel | 1 | 33
和表3是维护成本:
index | Category | Cost Type | Value | Scheduled or UnScheduled Maint
2 | A | Maintenance | 5 | Scheduled
表3中存在if [Age of Personnel]
然后它会有一个" null"对于维护[Cost Type]
的任何记录,反之亦然[Scheduled or UnScheduled Maint]
将有一个" null"如果它存在于表2中。因为我不想处理过滤器可视化需要选择"(空白)"对于某些成本类型,这些表之间的数据关系是使用[index]
作为密钥的多对一单向过滤器。
EDIT2: 使用名义数据和我描述的数据模型工作.pbix文件是链接的: StackOverflow_GTofMeasure_Crosfilltered.pbix
答案 0 :(得分:2)
我认为这个解决方案对您有用。基本上我已经创建了两个辅助措施(您不必在表中显示):
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] )
如果有帮助,请告诉我。