美文网首页工具癖PowerBI专栏大数据
SWITCH和IN结合,使DAX代码更简洁

SWITCH和IN结合,使DAX代码更简洁

作者: PowerBI星球 | 来源:发表于2019-05-29 20:57 被阅读24次

来自于知识星球中星友的一个问题,

假设这样的表格中,如何根据属性列中不同的属性,执行不同的聚合运算:

比如,

流量、访客数、成交额,进行汇总计算;

而客单价和转化率,求其平均值。

这种需求,可以用个函数判断来判断,使用IF就可以,不过在DAX中,还有更简洁的SWITCH函数,编写如下:

度量值=

SWITCH(TRUE(),

    SELECTEDVALUE(表[属性])="流量",SUM(表[值]),

    SELECTEDVALUE(表[属性])="访客数",SUM(表[值]),

    SELECTEDVALUE(表[属性])="成交额",SUM(表[值]),

    SELECTEDVALUE(表[属性])="客单价",AVERAGE(表[值]),

    SELECTEDVALUE(表[属性])="转化率",AVERAGE(表[值])

)

这种写法很直观,不过还可以结合IN来更加简化它,

度量值=

SWITCH(TRUE(),

    SELECTEDVALUE(表[属性]) IN {"流量","访客数","成交额"},SUM(表[值]),

  SELECTEDVALUE(表[属性]) IN {"客单价","转化率"},AVERAGE(表[值])

)

是不是简洁多了?


如果你刚开始学习PowerBI,可以在公众号“PowerBI星球”中,回复关键字“PowerBI",下载《七天入门PowerBI”电子书。

学习PowerBI遇到问题,欢迎来知识星球中提问。

相关文章

  • SWITCH和IN结合,使DAX代码更简洁

    来自于知识星球中星友的一个问题, 假设这样的表格中,如何根据属性列中不同的属性,执行不同的聚合运算: 比如, 流量...

  • js实现一个简单的计算器

    Demo戳这里 11月27日更新 使用 switch 语句代替 if 语句,使逻辑更清晰,代码更新部分如下: 原文...

  • 关于block

    block即代码块,将同一逻辑的代码放在一快区域中,使代码更简洁紧凑,易于阅读,而且它比函数使用更方便,代码更美观...

  • lambok学习心得

    lambok会通过简单注解来精简代码达到消除冗长代码的目的。 优点: *提高编码效率 *使代码更简洁 *消除冗长代...

  • laravel 验证 Request

    创建 通过注入的方式实现代码解耦(分离验证代码=》使代码更简洁) 三个基本方法 authorize 判断请求用户是...

  • Kotlin + Android KTX让开发更简单

    写在前面 最近Google新推出了一套扩展插件 Android KTX,可以结合Kotlin写出更自然更简洁的代码...

  • 简述对Kotlin的认识

    代码简洁,少了冗余代码的烦恼,更容易专注于功能的开发。 再也不用写 findViewById了。 空安全使以后再也...

  • block的实现

    block 顾名思义就是代码块,将同一逻辑的代码放在一个块,使代码更简洁紧凑,易于阅读,而且它比函数使用更方便,代...

  • iOS block 声明及使用

    block 顾名思义就是代码块,将同一逻辑的代码放在一个块,使代码更简洁紧凑,易于阅读,而且它比函数使用更方便,代...

  • iOS block 声明及使用

    block 顾名思义就是代码块,将同一逻辑的代码放在一个块,使代码更简洁紧凑,易于阅读,而且它比函数使用更方便,代...

网友评论

    本文标题:SWITCH和IN结合,使DAX代码更简洁

    本文链接:https://www.haomeiwen.com/subject/riputctx.html