码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • BI技巧丨百分位计算


    百分位计算

    百分位数据计算,可以说是日常计算中比较常见的需求,通常会用于价格段位分析使用,而在PowerBI中,用于百分位计算的函数一共有四个。

    语法

    PERCENTILE.EXC(, ) 
    PERCENTILE.INC(, )
    PERCENTILEX.EXC(, , ) 
    PERCENTILEX.INC(
    , , )
    • 1
    • 2
    • 3
    • 4

    说明

    1.PERCENTILE与PERCENTILEX的区别,与SUM和SUMX的区别是一样的,一个是聚合函数,一个是迭代函数。

    2.INC指的是Inclusive,即包含的意思,EXC指的是exclusive,即不包含的意思,因此INC和EXC的区别在于,一个包含两端值,一个不包含两端值。

    3.K代表百分位,介于0~1之间。

    4.对于INC,若K不是1/(N-1)的倍数,则函数会进行插值,确认第K个百分位的值。

    5.对于EXC,若K不是1/(N+1)的倍数,则函数会进行插值,确认第K个百分位的值。

    返回结果
    值

    例子

    案例数据如下:

    将其导入到PowerBI中,通过表格,展示如下:

    构建基础度量值:

    001.SalesAmount =
    SUM ( Fact_Sales[SalesAmount] )
    
    • 1
    • 2

    例子1:

    使用PERCENTILE.INC计算80%分位值。

    002.Percentileinc =
    PERCENTILE.INC ( Fact_Sales[SalesAmount], 0.8 )
    
    • 1
    • 2

    结果如下:

    例子2:

    使用PERCENTILE.EXC计算50%分位值。

    003.Percentileexc =
    PERCENTILE.EXC ( Fact_Sales[SalesAmount], 0.5 )
    
    • 1
    • 2

    结果如下:

    例子3:

    使用PERCENTILEX.INC计算80%分位值。

    004.PercentileInc =
    VAR PercentileInc =
        PERCENTILEX.INC ( 'Fact_Sales', [001.SalesAmount], 0.8 )
    VAR Result =
        SUMX ( VALUES ( Fact_Sales[ProductName] ), PercentileInc )
    RETURN
        Result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结果如下:

    例子4:

    使用PERCENTILEX.EXC计算50%分位值。

    005.PercentileExc =
    VAR PercentileExc =
        PERCENTILEX.EXC ( 'Fact_Sales', [001.SalesAmount], 0.5 )
    VAR Result =
        SUMX ( VALUES ( Fact_Sales[ProductName] ), PercentileExc )
    RETURN
        Result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结果如下:

    例子5:

    使用PERCENTILEX.INC计算分组聚合后80%分位值。

    006.PercentileIncForGroup =
    VAR SumOfGroup =
        ADDCOLUMNS (
            ALL ( Fact_Sales[ProductName] ),
            "@SalesAmount", [001.SalesAmount]
        )
    VAR Result =
        PERCENTILEX.INC ( SumOfGroup, [@SalesAmount], 0.8 )
    RETURN
        Result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    结果如下:

    例子6:

    使用PERCENTILEX.EXC计算分组聚合后20%分位值。

    007.PercentileExcForGroup =
    VAR SumOfGroup =
        ADDCOLUMNS (
            ALL ( Fact_Sales[ProductName] ),
            "@SalesAmount", [001.SalesAmount]
        )
    VAR Result =
        PERCENTILEX.EXC ( SumOfGroup, [@SalesAmount], 0.2 )
    RETURN
        Result
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    结果如下:

    这里是白茶,一个PowerBI的初学者。

  • 相关阅读:
    前端代码评审规则
    【学习笔记】ARC146/AGC020/
    存储bag文件并转csv,一键启动思路、默认python3
    Java的Class类讲解之Class对象的产生
    用Three.js打造酷炫3D个人网站(含源码)
    Paxos分布式共识算法
    基于知识图谱的复杂问题推理问答
    关于在ts中使用最新版redux的方法记录
    上海青浦区大众驾校(科目二·自动挡)真实考场操作全程
    Java笔记:手写spring之ioc
  • 原文地址:https://blog.csdn.net/sterln/article/details/127706993
    • 最新文章
    • 沪漂五周年了:我越来越迷茫了
      Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
      MySQL-Seconds_behind_master的精度误差
      [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
      AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
      Agent OS :五种驯服不确定性的范式
      PortSwigger SQL注入LAB11
      数据库即时编译JIT
      [Begin]AI Learn Data Day 0
      深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号