Power Query中@的用法—递归

(一)        含义

在Power Query中@是表示范围运算符,通常在使用递归时运用其自身。

(二)        一般使用

把函数自身参数运用于其他函数。

例1:

(x) =>@Number.From(x)+10

解释:定义一个调用自身参数并转换成数字格式并+10的函数。这种写法实际上和不指定是一样的,因为参数本身未进行变化参与到后期的运算。

例2:

(x)=>@Text.From(x)&"有限公司"

解释:调用自身参数后进行后缀添加上有限公司。

(三)        循环使用

例1:累加求和

fx=(x)=>if x<=1 then x else @fx(x-1)+x

解释:因为涉及到循环,需要制定一个循环结束条件。此函数为正数累加求和。

从1累计到5进行求和。


例2:累计乘积

如果一个股票目前的市场价格是10元,如果连续5个涨停能达到多少价格呢?

fx = (price, day)=>[现价=1.1*price,

                   终值=if day=0 then price

                        else @fx(现值,day-1)]

                  [终值]

解释:这里我们有2个变量参数在进行运算,一个是价格,一个是涨停天数。对于多变量的,我们可以通过Record格式来进行记录。同时if的then是作为结束判断语句,else是作为循环运行的计算公式。

如果有用,请点个赞。

你可能感兴趣的:(Power Query中@的用法—递归)