【发布时间】:2016-09-23 14:20:49
【问题描述】:
这在我的脑海中似乎很容易,但在过去的几个小时里我一直无法理解......
我有一个表格可视化,它使用度量来提供按小时计算的成本。
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
出于我的目的,我还想创建每小时总成本的百分比以添加到树状图可视化中。但是,如果我只是将 [Cost per Hour] 再次添加到树形图中并在该字段上使用“快速 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 中的页面级过滤器过滤
表格可视化存在于 Table1 中。成本存在于表 2-5 中,并使用多对一单向过滤关系与表 1 相关。
[总成本] 是一种将 4 个不同表中的值相加的度量。如:Total Cost = sum(table2[value])+sum(table3[value])+sum(table4[value])+sum(table5[value])
[Hours] 是一种度量,它将表中的一列相加并除以该表中的不同记录数。如:Hours = sum(table1[hours])/Distinctcount(table1[records])
[Cost per Hour] 是一个由其他两个度量组成的度量。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
如果[Age of Personnel] 存在于Table3 中,那么对于维护[Cost Type] 的任何记录将具有“null”,反之亦然[Scheduled or UnScheduled Maint] 将具有“null”,如果它存在于Table2 中。因为我不想处理需要为某些成本类型选择“(空白)”的过滤器可视化,所以这些表之间的数据关系是使用[index] 作为键的多对一单向过滤器。
编辑2: 带有名义数据的工作 .pbix 文件和我描述的数据模型是链接的: StackOverflow_GTofMeasure_Crosfilltered.pbix
【问题讨论】:
-
您能否添加表 2、3、4、5 示例数据并更好地解释这些与表 1 的关系。
-
@alejandrozuleta 根据您的要求添加了信息。