平时在用PowerBI做分析、或者向PowerBI高手请教问题时,你可能会注意到大括号{ }的存在,它在PowerBI的用法非常广泛,本文就来详细介绍一下它的使用技巧。{ }用来构建一个表,比如在PowerBI中点击“新建表”,输入: 它会生成一列多行的表,该列内容就是{}中的信息,列名默认是[Value]。它会生成一行多列的表,所有的信息都在同一行中,每列的标题默认是[Value1]、[Value2]…… 通过上面两种情况,你应该也想到了,一个()就是一行,()中有几个数据就是几列,那么可以在{}中按下面这样写来实现多行多行的目的。{ }生成的表,如果想直接将列名修改为特定的名称,可以通过嵌套SELECTCOLUMNS函数来实现。以上方式不仅可以修改列名,也可以修改列的顺序,如果想让序号放到第一列,只需要在上面的表达中,将序号写到类别的前面就可以了。以上就是{}的基本用法,灵活掌握以后,就可以帮我们做很多工作,下面是几个常见的应用场景。如果想增加一列,统计4个指标列的每行非空数据有多少,就可以利用{}来实现。 FILTER( { [指标1],[指标2],[指标3],[指标4] },[Value]<>BLANK()) 这里的用法就是将4个指标列利用{ }生成一个表,然后用FILTER筛选表中不为空的行,再利用COUNTROWS函数进行计数。如果想统计4个指标列每行的最大值,用MAX函数只能写两个参数,需要嵌套多个MAX才能实现,而用{}构建一个表,对这个表求最大值就简单多了,新建列: { [指标1],[指标2],[指标3],[指标4] }, 如果想统计4个指标所有行范围内的最大值,可以先用MAX计算每列的最大值,然后再统计每列最大值的最大值。 { MAX('表'[指标1]),MAX('表'[指标2]),MAX('表'[指标3]),MAX('表'[指标4]) }, 上面是通过计算列来介绍这种需求的实现方式,如果是求多个度量值的最大值,也是一样的思路。其中IN 后面的表,一般是通过{ }来构造的,没有用过的请仔细看看上述文章。如果你想通过"新建表"来验证某个表达式的结果,而这个表达式返回的是一个值,系统会报错的,比如下面的情况: 对于这种情况,可以在表达式外面套个{ }来查看结果,它将值强制转换为表,就不会报错了。 从这里也可以看出,{ }中不仅可以放常量,也是可以放入表达式的。
平时在写DAX的时候,先搞清楚你写的度量值还是建表,点击对应的功能,不能乱用。 以上就是{}的用法和常见应用场景,希望对你有帮助~
|