cancel
Showing results for 
Search instead for 
Did you mean: 

Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.

Reply
waleed111
Helper V
Helper V

Table and column

Column = SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory])
when i use the above formula as column it give me this error:
A table of multiple values was supplied where a single value was expected.
but when use it as table
table = SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory])
it work wethout problem, what is the reason?
1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@waleed111 , Because selectcolumns return table. And when you create a new column it expects a new column value only one unique value. So new table it works and New columns it gives an error

https://docs.microsoft.com/en-us/dax/selectcolumns-function-dax

https://www.youtube.com/watch?v=TtkdZ2jbffA

 

New table is working because it expects a table

table = SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory])

 

This function can now return a new column

Column = maxx(SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory]),[Date-Time of Entry in Inventory])

View solution in original post

2 REPLIES 2
Greg_Deckler
Super User
Super User

@waleed111 - There are three primary kinds of things that you can create in Power BI

  1. Column
  2. Measure
  3. Table

Columns and Measures formulas need to return single value (a scalar) while tables formulas need to return a table of values. When you are having problems with DAX formulas like this, it is always good to check the documentation:

https://docs.microsoft.com/en-us/dax/selectcolumns-function-dax

Here you can see:

Return value

A table with the same number of rows as the table specified as the first argument. The returned table has one column for each pair of <name>, <scalar_expression> arguments, and each expression is evaluated in the context of a row from the specified <table> argument.

 

Therefore, for the column formula, you will need to aggregate the table or perform some calculation that returns a scalar value, like wrapping that statement with a COUNTROWS function or one of the X iterators like SUMX, AVERAGEX, etc.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...
amitchandak
Super User
Super User

@waleed111 , Because selectcolumns return table. And when you create a new column it expects a new column value only one unique value. So new table it works and New columns it gives an error

https://docs.microsoft.com/en-us/dax/selectcolumns-function-dax

https://www.youtube.com/watch?v=TtkdZ2jbffA

 

New table is working because it expects a table

table = SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory])

 

This function can now return a new column

Column = maxx(SELECTCOLUMNS('List View', "inventory", 'List View'[Date-Time of Entry in Inventory]),[Date-Time of Entry in Inventory])

Helpful resources

Announcements
PBI November 2023 Update Carousel

Power BI Monthly Update - November 2023

Check out the November 2023 Power BI update to learn about new features.

Power BI Fabric Summit Carousel

The largest Power BI and Fabric virtual conference

130+ sessions, 130+ speakers, Product managers, MVPs, and experts. All about Power BI and Fabric. Attend online or watch the recordings.

Top Solution Authors
Top Kudoed Authors