首页 > 解决方案 > 如何在 SQL 中从 PDF 创建 CDF

问题描述

所以我有一个看起来像下面这样的数据表。ID 代表一个对象,bin 代表我如何分割数据,percent 是有多少数据落入该 bin。

id  bin  percent
2   8   0.20030698388
2   16  0.14504988488
2   24  0.12356101304
2   32  0.09976976208
2   40  0.09056024558
2   48  0.07137375287
2   56  0.04067536454
2   64  0.03914044512
2   72  0.02916346891
2   80  0.16039907904
3   8   0.36316695352
3   16  0.03958691910
3   24  0.11876075731
3   32  0.13253012048
3   40  0.03098106712
3   48  0.07228915662
3   56  0.07745266781
3   64  0.02581755593
3   72  0.02065404475
3   80  0.11876075731

我正在寻找一个函数来将此数据集转换为 cdf 分区 ID。我试过 cume_dist 和 percent_rank,但它们似乎不起作用。

标签: sql

解决方案


我面临着类似的问题,并找到了这个很棒的教程来做到这一点:

https://dwaincsql.com/2015/05/14/excel-in-t-sql-part-2-the-normal-distribution-norm-dist-density-functions/

它尝试重建 Excel 函数 NORM.DIST 函数,如果将累积标志设置为 FALSE,则为您提供 PDF,如果将其设置为 TRUE,则为 CDF。我假设 CUME_DIST 会在 SQL 中做同样的事情。然而,事实证明后者通过计算元素来分布,而 Excel 使用值的相对差异。


推荐阅读