我无法使用此样本数据进行正确的除法:
Calculated column Another calc. column
48 207
257 370
518 138
489 354
837 478
1,005 648
1,021 2,060
1,463 2,164
2,630 1,818
2,993 2,358
3,354 3,633
4,332 5,234
4,885 6,108
4,514 6,008
4,356 6,888
4,824 7,382
7,082 5,988
7,498 6,059
4,865
4,192
3,816
2,851
2,768
2,093
2,207
770
397
149
178
336
167
124
18
我想做的是创建一个新的计算列。
对于每一行,我想获取Calculated column
的值并将其除以Another calc. column
的总数。
Another calc. column
的总数= 82826
这是全新计算列中的期望输出,我们将其称为% Column
:
% Column
0,000579528167484
0,003102890396735
0,006254074807428
.
.
.
注意-这3列:
Calculated column
,Another calc. column
和% Column
都在同一表格中,并且都是计算列 >。
我尝试了很多公式,但是没有一个公式返回了所需的输出。 :|我想这是由于计算列的性质造成的,或者我没有掌握要点。
这是否有可能,或者我应该使用“度量”走另一条路?
你能阐明一些想法吗?
#######编辑#######
我整理了一个样本文件来帮助调试。这里是: https://drive.google.com/open?id=1r7kiIkwgHnI5GUssJ6KlXBAoeDRISEuC
如您所见:
Earned Daily % HARDCODED
可以正常工作,因为82826
被硬编码为分母。Earned Daily % by StelioK
和Earned Daily % by Alexis Olson
在使用SUM
公式时会为除法输出相同的错误值。如果这很重要,我将使用最新的Power BI Desktop版本:Version: 2.70.5494.701 64-bit (June 2019)
答案 0 :(得分:3)
基本上,计算出的列没有错,Alexis和StelioK公式均正确。
这里的根本问题是计算列和度量之间的混淆。您正在以概念上错误的方式查看结果-通过矩阵可视化器,在切片器上启用了多个过滤器。如果删除筛选器,您将看到总数为140,920,而不是82,826。后一个数字是过滤后的数据集的总数,而不是整个表格的总数。
要正确执行此操作,您需要了解Power BI背后的几个基本概念:
答案 1 :(得分:2)
您可以使用以下DAX进行此操作:
% Column =
VAR TotalSum =
SUM ( 'Table'[Another Calc column] )
RETURN
IF (
NOT ( ISBLANK ( 'Table'[Calc Column] ) ),
CALCULATE ( DIVIDE ( SUM ( 'Table'[Calc Column] ), TotalSum ) ),
0
)
我希望对您有帮助!
答案 2 :(得分:2)
对我来说,以下作品:
DIVIDE( Table1[Calculated column], SUM(Table1[Another calc column]) )
如果这不起作用,我需要查看一个文件来重现该问题。
编辑:查看文件后,82,826
的总数仅对 具有所选过滤器的 有效
请注意,计算所得的列不是动态的,不能对过滤器作出响应,因为它们仅在首次加载表时才计算。
如果您需要它是动态的,则将其编写为更像这样的度量:
Earned Daily =
DIVIDE (
CALCULATE (
SUM ( 'Test data'[Value] ),
'Test data'[Act Rem] = "Actual Units",
'Test data'[Type] = "Current"
),
CALCULATE (
SUM ( 'Test data'[Value] ),
ALLSELECTED ( 'Test data' ),
'Test data'[Act Rem] = "Remaining Units",
'Test data'[Type] = "PMB"
)
)