首页 文章

在PowerPIvot / DAX中获取PERCENTRANK.INC

提问于
浏览
1

我的任务是将工作表从标准Excel转换为PowerPivot . 但是,我用PERCENTRANK.INC函数遇到了障碍,这在DAX中是不可用的 . 我已经接近使用公式复制它,但计算中存在明显的差异 .

有谁知道Excel如何计算PERCENTRANK.INC()?

Formula in cell D2: =(COUNT($A$2:$A$10)-B2)/(COUNT($A$2:$A$10)-1)
Formula in cell B2: =RANK.EQ(A2,$A$2:$A$10,0)
Formula in cell C2: =PERCENTRANK.INC($A$2:$A$10,A2)

Screenshot

2 回答

  • 2

    这里参考的是基于ashleedawg的答案的DAX公式,其中包括忽略没有值的单元格 .

    =ROUNDDOWN(COUNTROWS(FILTER('Lookup_Query','Lookup_Query'[Entrances]<EARLIER('Lookup_Query'[Entrances]) && ISBLANK('Lookup_Query'[Entrances])=FALSE()))/(COUNTROWS(FILTER('Lookup_Query',ISBLANK('Lookup_Query'[Entrances])=FALSE()))-1),3)
    
  • 1

    编辑:

    我觉得有很多"standard"计算 PERCENTRANK 的结果略有不同,这似乎很奇怪 .

    使用您的9位数 1,2,3,4,4,6,7,8,9 的示例,取决于我使用的"authority",第三个值( 3 )的百分比等级为 25.0%, 27.0%, 27.8% or 30.0% .

    显然,我们将使用能够提供所需结果的那个,匹配 PERCENTRANK.INC .

    PERCENTRANK.INC计算如下:[低于给定值的值的计数]÷[除了给定值的集合中所有值的计数]

    所以,如果 1,2,3,4,4,6,7,8,9 的范围是 A1:A9 ,我们可以在_1374148中使用这个公式:

    =COUNTIF($A$1:$A$9,"<"&A1)/(COUNT($A$1:$A$9)-1)
    

    ...并复制或“填写”结果:

    0.0%, 12.5%, 25.0%, 37.5%, 37.5%, 62.5%, 75.0%, 87.5%, 100.0%
    

    原始答案

    我想你只想计算当前行值的PERCENTRANK . 基于PERCENTRANK的逻辑,我们可以在表中添加RANK列,并基于此列实现相同的逻辑 . 创建Rank列 . Rank = RANKX(表6,表6 [值])
    然后根据Rank列创建PctRank . PctRank =(COUNTA(表6 [名称]) - 表6 [等级])/(COUNTA(表6 [名称]) - 1)

    (资源)

相关问题