用LOG10测量的总数是错误的

我有一个表[范围]与[节点]列中的string。 我创build了一个[度量值]来计算每个string出现的百分比。

measure = COUNTA(Range[node])/CALCULATE(COUNTA(Range[node]);ALL(Range[node])) 

这工作得很好,百分比= 1的总和应该是这样的:

 +-------+---------------+---------+ | node | count of node | measure | +-------+---------------+---------+ | a | 1 | 0.007 | | b | 22 | 0.162 | | c | 103 | 0.757 | | d | 10 | 0.074 | | Total | 136 | 1.000 | +-------+---------------+---------+ 

但是当我想获得度量的LOG10时,值是可以的,但总的变化为0。

当我使用:

 measure = LOG10((COUNTA(Range[node])/CALCULATE(COUNTA(Range[node]);ALL(Range[node])))) 

我得到:

 +-------+---------------+--------------+ | node | count of node | measure | +-------+---------------+--------------+ | a | 1 | -2.134 | | b | 22 | -0.791 | | c | 103 | -0.120701684 | | d | 10 | -1.133538908 | | Total | 136 | 0 | +-------+---------------+--------------+ 

我应该怎么做才能得到正确的-4.179总数?

如果你真的想要这些日志的总和,那么只需要将你的度量公式复制到行ad中,并将这四个度量的总和作为总和; 因为它是,你计算136/136得到1,而不是增加0.007 + 0.162 …得到1

所以在LOG10的例子中,出现0,因为LOG10(136/136)= LOG10(1),根据定义是0

请注意,添加号码的日志对应于查找所有条目的产品的日志,

即log10((1/136)×(22/136)×(103/136)×(10/136))= -4.179

如在log(axb)= log(a)+ log(b)

也许这就是你想要的,但似乎不太可能。