Excel formula 两个日期之间的DAX Power BI-IF语句
我试图在Power BI中的两个日期之间创建一个计算列IF语句 目前,我想让它看看这两个日期(在两个表中)。如果匹配,则返回“True”,如果不匹配,则返回“False” 我得到的错误是Excel formula 两个日期之间的DAX Power BI-IF语句,excel-formula,dax,powerbi,Excel Formula,Dax,Powerbi,我试图在Power BI中的两个日期之间创建一个计算列IF语句 目前,我想让它看看这两个日期(在两个表中)。如果匹配,则返回“True”,如果不匹配,则返回“False” 我得到的错误是 A single value for column 'C1' in table 'TB1' cannot be determined. This can happen when a measure formula refers to a column that contains many values wit
A single value for column 'C1' in table 'TB1' cannot be determined.
This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or
sum to get a single result.
数据样本如下:
TABLE A TABLE B
02 September 2010 02 September 2010
02 September 2010 03 September 2010
30 August 2010 29 August 2010
为了得到我想要的结果,我应该使用什么语法
谢谢正如mthierba在评论中提到的,您可以使用RELATED()函数。需要注意的是,Power Pivot中的RELATED()仅在从多对一关系的多侧表中调用时才起作用。即使数据在逻辑上是一对一的,powerpivot也只理解多对一关系,其中一个表将被视为多对多
IF(
TB1[C1] = RELATED( TB2[C1] )
,"Yes"
,"No"
)
只有在TB2是查找表的一侧时,这才有效
如果TB2是多方面的,那么以下方法将起作用(尽管在TB2中):
如果对于任何给定的TB1[C1],TB2[C1]中有一个不同的值,则可以交替使用LOOKUPVALUE()
LOOKUPVALUE(
TB2[C1] // This is the field from which we will return a result
,TB2[<search field>] // We will match this field against our lookup criterion - likely the relation field
,<search criterion> // This would likely be relation field's value in TB1
)
LOOKUPVALUE(
TB2[C1]//这是我们将从中返回结果的字段
,TB2[]//我们将根据查找条件匹配此字段-可能是关系字段
,//这可能是TB1中关系字段的值
)
James,由于您在度量中使用了该公式,因此没有行上下文,也就是说,在比较C1列中的值时,不清楚应该查看哪一行(因此出现错误消息)。有关更多说明,请参阅。我会给你一个选择,但我必须承认,我并不清楚你到底想达到什么目的。请您更详细地解释一下这个问题好吗?您好,我正在尝试创建一个新列来查看列a和B。然后,它将根据值a和B是否匹配,为新列中的每一行显示True或False。谢谢。所以这是一个计算过的列,不是度量。如果A和B实际上是两个不同的表,并且说您想在表A中创建准时列
,那么您必须从表B中找到相应的比较行。如果模型中定义的表之间没有关系,您可以通过将A中当前行的值与B中的列进行匹配来使用。请注意,但是,如果它不能只匹配一个唯一的值,那么它将失败。@mthierba-谢谢。这两个表之间已经存在关系。我应该提到,我已经将其从“度量”更改为计算列(在Power BI中简称为列)——但我仍然无法解决这个问题。我应该使用IF语句吗?如果已经存在关系,那么应该这样做:IF(TB1[C1]=RELATED(TB2[C1]),“Yes”,“No”)
。假设这是TB1中的计算列。感谢MTHERBA和GREGYB的帮助,您的建议解决了我的问题。非常感谢!
IF(
TB2[C1] = RELATED( TB1[C1] )
,"Yes"
,"No"
)
LOOKUPVALUE(
TB2[C1] // This is the field from which we will return a result
,TB2[<search field>] // We will match this field against our lookup criterion - likely the relation field
,<search criterion> // This would likely be relation field's value in TB1
)