2012-11-23 43 views
3

说我有一个表中的PowerPivot,看起来像这样:有没有办法使用DAX比较PowerPivot中的多个列?

Example PowerPivot table to illustrate question

对于每一行,我想找到跨列1,2和3的最低值,并在列中显示该值“ MinColumn”。内置的MIN函数似乎只能在一列上操作,而不是一行。

有什么办法可以做到这一点,除了某种嵌套的IF表达式?如果我们有很多列进行比较,那很快就会变得非常混乱。

PowerPivot/DAX做了一些很好的基于列的东西(因为它使用了xVelocity,所以可以预期),但是当你开始查看行级功能时,似乎会变得复杂。

+0

可能值的列有限名单和(相当)小? –

回答

1

另一种选择是将计算推到源头。例如,如果您的源是数据库表,则可以在将数据拖入PowerPivot之前创建视图(或简单地使用命名查询)并计算MIN(跨3个其他列)。

注:T-SQL版本也将是相当难看,PIVOT + MIN()OVER()

+0

嘿,谢谢你的回答。不幸的是,很多列被定义为数据模型本身的计算,因此理想的是在PowerPivot中寻找一种方法。正如你所说,替代方法是将所有计算移到数据源并在那里执行操作。 – GShenanigan

相关问题