Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
I would like to use the MID function for a new column. MID (Text, Start Position, Number of Characters)
Note, both Position and Number of Characters are calculated columns.
When I check this, I receive the error "An argumen of function 'MID' has the wrong data type or has an invalid value."
When I replace one of the calculated numbers with a test number, it works.
Why does it appear as though I can only use one calculated column for the parameters to my MID function?
Solved! Go to Solution.
Whole numbers 😞 but I think you got it ... there are definitely some records where the value of the calculated columns are null/blank. I guess I can use the function to calculate on only those with valid entries by wrapping an outer function to test for a number?
I just confirmed that a blank being returned in a calculated column value will cause the error you posted. You can get around that by doing something like this:
USERNAME = MID([LOG_MESSAGE], if(isblank([USERNAME_START]), 1, [USERNAME_START]), if(isblank([USERNAME_LENGTH]), 1, [USERNAME_LENGTH]))
Not knowing what your data looks like, I just used the isblank to check to see if there is a blank value in the calculated column and then replaced the blank with a 1. Same with the length in the second parameter. You may have to pick other values, but that should prevent blanks from breaking your formula.
One additional point, as I continue to try and figure this out, it appears that it is using a Column as the LENGTH parameter that is causing the error with the mid FUNCTION.
Can anyone else try to use a MID function on their data and see if this is indeed a case / problem?
I just tried using calculated columns as both the start position and the length and it worked.
What are the data types of the columns you are using? Do you have sample data? Are the columns you are using for the start position and length ever null, blank, or text?
Whole numbers 😞 but I think you got it ... there are definitely some records where the value of the calculated columns are null/blank. I guess I can use the function to calculate on only those with valid entries by wrapping an outer function to test for a number?
I just confirmed that a blank being returned in a calculated column value will cause the error you posted. You can get around that by doing something like this:
USERNAME = MID([LOG_MESSAGE], if(isblank([USERNAME_START]), 1, [USERNAME_START]), if(isblank([USERNAME_LENGTH]), 1, [USERNAME_LENGTH]))
Not knowing what your data looks like, I just used the isblank to check to see if there is a blank value in the calculated column and then replaced the blank with a 1. Same with the length in the second parameter. You may have to pick other values, but that should prevent blanks from breaking your formula.
THANK YOU TROTZUK,
Some extra help finding the cause of errors from smart folks like yourselves makes the experience much better!
Again, thanks for your help!
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 48 | |
| 45 | |
| 41 | |
| 20 | |
| 18 |
| User | Count |
|---|---|
| 69 | |
| 64 | |
| 32 | |
| 31 | |
| 27 |