Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
In the data set I have a column for delivery date. If there is no delivery date the source of the data enters "1/1/1900". I am trying to create a second column that leaves the cells blank if this date exists. The problem I am having is that it won't except IF statements referencing two different data types (date and text). Is there away around using two different data types in an IF statement? The forumla is below. Thanks in advance for your help.
DeliveryDate = if('Total Trans'[Delivery Date]="1/1/1900","",'Total Trans'[Delivery Date])
Solved! Go to Solution.
I found that the solution is to go under "OPTIONS">Data Load, and uncheck "Automatically detect column types and headers for unstructured sources". This automatically converts everything to text and allows you to select the data type for each column.
What if I am trying to change a calendar date to a fiscal year date, e.g. Oct 1, 2021 is the first month of 2022. Using the following formula, I get expresstions that yield variant data type cannot be used to dafine calculated columns.
Hi,
Try these calculated column formulas in the Calendar Table
Month number = month(calendar[date])
Fiscal Year = if(calendar[month number]>10,year(calendar[date])+1,year(calendar[date]))
Hope this helps.
Thank you very much, Ashish. I appreciate your help.
You are welcome.
Thanks for the tip. I am fairly new to this and getting adjusted to the nuances of this tool.
The easiest option would be to use the Replace Values button in the Query editor instead of creating a new column. Replace 1/1/1900 with null. Literally type the word null into the box.
Anyway if you want to do this as a new DAX column, you need to use DAX rules. You've written an Excel formula. By putting the date in quotation marks and using "" to denote a blank return value, you're treating treating those two things as text rather than dates. You need to use the BLANK() and DATE() formulas.
DeliveryDate = IF( 'Total Trans'[Delivery Date] = DATE(1900, 1, 1), BLANK(), 'Total Trans'[Delivery Date] )
Proud to be a Super User!
Just a reminder although it DOES NOT apply to this question since this is only a comparison NOT a date calculation
the first officially supported date in DAX is March 1, 1900 (for date calculations)
I found that the solution is to go under "OPTIONS">Data Load, and uncheck "Automatically detect column types and headers for unstructured sources". This automatically converts everything to text and allows you to select the data type for each column.
hi @cheid1977
Try with
DeliveryDate = if('Total Trans'[Delivery Date]="1/1/1900",blank(),'Total Trans'[Delivery Date])
Thanks for responding. Now I get the below error message.
A single value for column 'Delivery Date' in table 'Total Trans' 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.
Are you creating a measure or a calculated column?
This is with a calculated column
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
90 | |
84 | |
70 | |
49 |
User | Count |
---|---|
143 | |
121 | |
112 | |
59 | |
58 |