Ssas 计算度量中的IIF语句在某些情况下具有意外行为
我在多维数据集浏览器中有一组状态和子状态值,我只想在状态=1和子状态=1时获取这对数据集的最大插入日期 我创建了一个具有以下表达式的度量:Ssas 计算度量中的IIF语句在某些情况下具有意外行为,ssas,mdx,cube,olap-cube,iif,Ssas,Mdx,Cube,Olap Cube,Iif,我在多维数据集浏览器中有一组状态和子状态值,我只想在状态=1和子状态=1时获取这对数据集的最大插入日期 我创建了一个具有以下表达式的度量: IIF(([Trans Tasks FFMS Farah GVV].[Task Status].&[1],[Trans Tasks FFMS Farah GVV].[Task Sub Status].&[2]), '-', Min([Measures].[Minimum Insertion DT])) 当某个任务的状态为1
IIF(([Trans Tasks FFMS Farah GVV].[Task Status].&[1],[Trans Tasks FFMS Farah GVV].[Task Sub Status].&[2]),
'-', Min([Measures].[Minimum Insertion DT]))
当某个任务的状态为1和子状态为2时,这将按预期工作,但当任务没有这些值时,该值将被计算并显示
这种行为的原因可能是什么
IIf
需要一个条件作为第一个参数,因此您必须编写
IIF([Trans Tasks FFMS Farah GVV].[Task Status].CurrentMember IS [Trans Tasks FFMS Farah GVV].[Task Status].&[1]
AND
[Trans Tasks FFMS Farah GVV].[Task Sub Status].CurrentMember IS [Trans Tasks FFMS Farah GVV].[Task Sub Status].&[2]),
'-',
[Measures].[Minimum Insertion DT]
)
这与作用域
形成对比,后者需要一个集作为其参数
此外,我认为您不需要度量周围的Min
,度量是在聚合或未聚合属性的每个组合上定义的