如何在DAX Stadio和Excel中返回表和度量值?

2020-03-24 15:34:23 浏览数 (1)

1. 在DAX Studio中返回表

通常我们在DAX Studio中书写的时候,要使用到evaluate申明,也就是在DAX Studio中进行书写公式,我们可以得到函数中间返回的表格,以便于我们查看。

例:

需求:我们需要计算销售量大于10000的求和,我们可以使用度量值公式

代码语言:javascript复制
calculate(sum('销售表'[销售量]),FILTER('销售表','销售表'[销售量]>10000

其有2个步骤:

  • 筛选出销售量>10000的数据
  • 对筛选出的销售量进行求和

如果我们需要检查筛选出的公式是否对,那就可以在在DAX Studio中书写公式

代码语言:javascript复制
Evaluate
Filter('销售表','销售表'[销售量]>5000)

我们可以看到返回的结果表。当然这里是以最简单的返回表的公式来处理。

2. 在DAX Studio中返回度量值

如果我想计算大于10000销售量的个数,则需要书写度量值

代码语言:javascript复制
calculate(COUNTROWS('销售表'),FILTER('销售表','销售表'[销售量]>10000))

那如何在DAX Studio中进行显示呢?此处只需要在计算表达式外添加大括号{}即可。

另外还有种写法也可以,通过row函数来进行。

Row(自定义列名称,表达式)

因为度量值本身就是一个表达式,所以如果直接返回度量值的标量,也可以直接调用度量值的名称。

3. 在Excel中返回表

在DAX Statio中,我们可以通过导出这里选择链接回表(Linked)选项

在运行后返回到Excel中的表就能在结果表中查看到编辑DAX的选项,

这时我们就可以在编辑DAX这里直接进行编辑,其返回的结果也会根据DAX函数进行变更。

4. 在Excel中返回度量值

使用函数CUBEVALUE

代码语言:javascript复制
Cubevalue("数据模型名称","[Measures].度量值名称")

因为度量值返回的是一个标量,所以可以在单元格中进行调用,也方便我们在做报表的时候进行使用。

例如要在Excel单元格里返回上面的度量值的公式:

代码语言:javascript复制
=CUBEVALUE("ThisWorkbookDataModel","[Measures].[条件数量]")
  • ThisWorkbookDataModel:本工作簿中的模型名称。可以直接输入"就会直接跳出数据模型的名称。
  • Measures:申明调用的是度量值使用.来链接度量值名称。
  • .[条件数量]:在度量值下所指定的具体某个度量值

使用技巧:和输入DAX函数一样,我们在关键的地方输入符号引用就可以快速的选择所对应的值。

在不同的时候输入符号即可显示出所需要选择的内容,方便我们更快的输入。

请点个赞,转发分享给更多的人。

0 人点赞