Forum Discussion
Jeanxyz
10 months agoPower Participant
can't create a udf function
I have created a udf in a direct lake semantic model. I can add the udf to semantic model. However, when I evaluate the udf, it shows error about going beyond the 1 mn row limit. This should not happ...
- 10 months ago
After some trying, I figured it out. Parameters are unlike measures, context transition doesn't take place automatically. So I need to force the parameter to take into consideration of the evaluation context by adding calculate(). Below is the correct DAX query
DEFINE FUNCTION MOV_AVG_UDF = (d:int64 expr) => round(averagex( window(d,REL,0,REL, summarize(fact_stocks,Dim_Date[Date],dim_stocks[Ticker]), orderby(Dim_Date[Date]), partitionby(dim_stocks[Ticker])), calculate(average(fact_stocks[Close]))), 2) EVALUATE ADDCOLUMNS( FILTER( VALUES(Dim_stocks[Ticker]), Dim_stocks[Ticker] IN {"AAPL"} ), "udf", calculate(MOV_AVG_UDF(-19)))video about parameter and context transition (min 19): https://www.youtube.com/watch?v=60jUmTxpxbw&t=815s
Jeanxyz
10 months agoPower Participant
I tried both. Below is the error message.
vojtechsima
10 months agoSuper User
Right, my bad, it doesn't recognise the columns Date, since you pass it the table later. You may try what Ahmedx suggested.
btw, you should pass it as you did previously with the SUMMARIZE.