Forum Discussion

tvaishnav's avatar
tvaishnav
Icon for Helper IV rankHelper IV
4 years ago

DAX error : A single value for column 'Date' in table 'Date' cannot be determined.

I am new to DAX and trying learn it. So I am essentially looking for an explanation as to what is causing the error.

 

Following formula works fine

 

 

 

AverageX = Averagex(
                   VALUES('Date'[Date]
                    )
                   ,Fact_Hours[SUM Hours]
                    )

 

 

 

However, if I remove the VALUES function, I end up with an error I mentioned in the title of this question

 

 

 

AverageX = Averagex(
                  'Date'[Date]
                    )
                   ,Fact_Hours[SUM Hours]
                    )

 

 

 

Date column in Date table has unique values already. Why is VALUES function needed? 

Also, for second argument to AVERAGEX, Measure works. But if I try to put a column that is already a part of model, it would not. Why would that be?

2 Replies

  • tamerj1's avatar
    tamerj1
    Icon for Community Champion rankCommunity Champion

    Hi tvaishnav 

    Iteration functions requires a table as first argument. VALUES is a function that creats a table contains the unique values in a column. You cannot refer the column directly. 
    Iteration functions creat a filter context over the tablw under iteration. Only the columns that belongs to this table can be refrenced directly. Columns from related tables in the "one" side of the relationship can be referenced using RELATED function. The "many" side related table can be referenced using RELATEDTABLE functions which bring a set of rows from the "many" side table which are realted to the current row on the iteration. In this case an aggregation must be provided in order to evaluate any column from this related table. 
    on the other hand CALCULATE function can be used to perform context transition in irder to evaluate columns from rekated tables. In this case aggregation shall be provided. Remember that any refrenced measure is automatically wrapped with CALCULATE. 
    please let if you still have any doubts 

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    tvaishnav Because you have an errant paren ). The second formula should be:

    AverageX = Averagex(
                      'Date'[Date]
                       ,Fact_Hours[SUM Hours]
                        )