perm_fl()

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

计算 P(n, k)

函数 perm_fl()用户定义函数 (UDF),它计算 P(n, k),即从 n 个项中按顺序选择 k 个项的排列数。 它基于原生 gamma() 函数来计算阶乘(请参阅 facorial_fl())。 如果不按顺序选择 k 个项,请使用 comb_fl()

语法

perm_fl(n, k)

详细了解语法约定

参数

客户 类型​​ 必需 说明
n int ✔️ 总项数。
k int ✔️ 选择的项数。

函数定义

可以通过将函数的代码嵌入为查询定义的函数,或将其创建为数据库中的存储函数来定义函数,如下所示:

使用以下 let 语句定义函数。 不需要任何权限。

重要

let 语句不能独立运行。 它必须后跟一个表格表达式语句。 若要运行 perm_fl() 的工作示例,请参阅示例

let perm_fl=(n:int, k:int)
{
    let fact_n = gamma(n+1);
    let fact_nk = gamma(n-k+1);
    tolong(fact_n/fact_nk)
};
// Write your query to use the function here.

示例

若要使用查询定义的函数,请在嵌入的函数定义后调用它。

let perm_fl=(n:int, k:int)
{
    let fact_n = gamma(n+1);
    let fact_nk = gamma(n-k+1);
    tolong(fact_n/fact_nk)
}
;
range n from 3 to 10 step 3
| extend k = n-2
| extend pnk = perm_fl(n, k)

输出

n k pnk
3 1 3
6 4 360
9 7 181440