power bi条件判断函数

1. iferror函数

  • 遇到错误时使用指定数值替换
  • 注意:替换的必须是数值
  • 例子
    = [销售数量]*[单价]= iferror([销售数量]*[单价],0)= iferror([销售数量]*[单价],'错误计算')
    
    在这里插入图片描述

2. if 函数

  • 格式
    • if(表达式,符合返回值,不符合返回值【可省略不写】)
  • blank():为空
  • 例子
    = if([性别]="男","男")= if([性别]="男","男","女")= if([取款日期]<>blank(),[取款日期]-[存款日期],blank())
    
    在这里插入图片描述

3. switch函数

  • 格式
    • switch(表达式,值1,结果1,值2,结果2…,…,[else])
    • 最后一个参数可以省略不写,省略时返回为空
  • 特殊用法
    • switch(true,值1,结果1,值2,结果2…,…,[else])
    • 使用true作为第一参数时,返回条件判断list中为第一个为true的结果
  • 例一
    = switch('例3'[],
    1,"一月",
    2,"二月",
    3, "三月",
    4,"四月",
    5, "五月",
    6,"六月",
    7, "七月",
    8,"八月",
    9, "九月", 
    10,"十月",
    11,"十一月", 
    12,"十二月",
    "未能识别")
    
    在这里插入图片描述
  • 例二:switch特殊用法
    = switch(true(),
    '例4'[年龄]<30,"30岁以下",
    '例4'[年龄]<40,"30-40岁",
    '例4'[年龄]<50,"40-50岁",
    "50岁以上")
    
    在这里插入图片描述

4. hasonefilter函数

  • 判断是否被筛选
  • 语法:hasonefilter(列名)
  • 是被直接筛选影响的。
  • 当指定的列有且只有一个由直接筛选产生的值时,返回true
  • 参数必须使用物理列,即表中存在的列,不支持返回列的表达式
  • 例一
    总分 = sum('案例1'[成绩])
    hasonefilter = if(HASONEFILTER('案例1'[姓名]),[总分],blank())
    
    在这里插入图片描述
  • 例二
    总金额 = sum('案例2'[销售金额])
    外汇转人民币 = if(HASONEFILTER('汇率'[货币]),FIRSTNONBLANK('汇率'[汇率],"")*[总金额],blank())
    人民币转外汇 = if(HASONEFILTER('汇率'[货币]),divide([总金额],FIRSTNONBLANK('汇率'[汇率],1)),blank())
    
    
    在这里插入图片描述

5. hasonevalue函数

  • 判断是否只有一行数据
  • 语法:hasonevalue(列)
  • 通常与if函数搭配使用,判断某列是否只有一行数据
  • 例一:找出有一个成绩老师的分数
    总分 = sum('案例1'[成绩])
    姓名唯一的人分数 = if(HASONEVALUE('案例1'[姓名]),[总分],blank())
    
    在这里插入图片描述

6. selectedvalue函数

  • 当指定列中只有一个值时返回该值,否则返回备选结果,省略备选结果时返回空值
  • 格式:selectedvalue(‘表名’[列名]),【代替(省略返回空)】)
  • 例子
    -- 两个公式等价
    姓名唯一的人分数 = if(HASONEVALUE('案例1'[姓名]),[总分],blank())
    姓名唯一的人分数1 = SELECTEDVALUE('案例1'[成绩])
    
    在这里插入图片描述
  • 例一:切片器控制选择不同属性柱形图
    • 人工建表:创建唯一值
    参数表 = DATATABLE("字段名",STRING,{{"销售量"},{"销售额"}})	
    
    在这里插入图片描述
    • 创建度量值
      = switch(SELECTEDVALUE('参数表'[字段名]),"销售量",sum('案例3'[销售量]),"销售额",sum('案例3'[销售金额]))
      
    在这里插入图片描述
  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼靡~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值