Ssas 有没有一种方法可以使用DAX比较PowerPivot中的多个列?

Ssas 有没有一种方法可以使用DAX比较PowerPivot中的多个列?,ssas,sql-server-2012,powerpivot,dax,Ssas,Sql Server 2012,Powerpivot,Dax,假设我在PowerPivot中有一个如下所示的表: 对于每一行,我希望找到第1、2和3列中的最小值,并在“MinColumn”列中显示该值。不过,内置的MIN函数似乎只对一列而不是一行进行操作 除了某种嵌套的IF表达式之外,还有其他方法可以做到这一点吗?如果我们有很多列要比较,那么会很快变得非常混乱 PowerPivot/DAX做了一些很棒的基于列的东西(考虑到它使用了xVelocity,这是意料之中的),但当您开始查看行级功能时,它似乎变得复杂了。另一个选项是将计算向下推到源代码 例如,如果

假设我在PowerPivot中有一个如下所示的表:

对于每一行,我希望找到第1、2和3列中的最小值,并在“MinColumn”列中显示该值。不过,内置的MIN函数似乎只对一列而不是一行进行操作

除了某种嵌套的IF表达式之外,还有其他方法可以做到这一点吗?如果我们有很多列要比较,那么会很快变得非常混乱


PowerPivot/DAX做了一些很棒的基于列的东西(考虑到它使用了xVelocity,这是意料之中的),但当您开始查看行级功能时,它似乎变得复杂了。

另一个选项是将计算向下推到源代码

例如,如果源是一个数据库表,则可以创建一个视图(或简单地使用命名查询)并在将数据拉入PowerPivot之前计算最小值(跨越其他3列)


注意:TSQL版本也会相当难看,PIVOT+MIN()OVER()

嘿,谢谢你的回答。不幸的是,很多列都是在数据模型本身中定义为计算的,所以理想的情况是在PowerPivot中寻找这样做的方法。正如您所说,替代方法是将所有计算移到数据源并在那里执行操作。列中的可能值列表是否有限且(相当)小?