Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel formula 两个日期之间的DAX Power BI-IF语句_Excel Formula_Dax_Powerbi - Fatal编程技术网

Excel formula 两个日期之间的DAX Power BI-IF语句

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

我试图在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 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
)