我正在尝试计算一大组债券 ISIN 的买入/卖出价格的百分位数。具体来说,我的数据格式如下:
证券 | Px出价 | Px问 | Px中 | 群组ID | Q1 | Q3 |
---|---|---|---|---|---|---|
AT0000A04967 | 113.598 | 114.198 | 113.898 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.684 | 114.152 | 113.918 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.878453 | 114.090701 | 113.984577 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.777 | 114.239 | 114.008 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.809 | 114.209 | 114.009 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.53 | 114.53 | 114.03 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 113.795 | 114.295 | 114.045 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 114.07 | 114.07 | 114.07 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 114.1 | 114.1 | 114.1 | 1 | 113.7073 | 114.0221 |
AT0000A04967 | 114.105 | 114.185 | 114.145 | 1 | 113.7073 | 114.0221 |
AT0000A0U3T4 | 100.355 | 100.355 | 100.355 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.257 | 100.457 | 100.357 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.28 | 100.435 | 100.358 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.284 | 100.434 | 100.359 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.275 | 100.443 | 100.359 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 98.86 | 101.86 | 100.36 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.311 | 100.411 | 100.361 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.313055 | 100.411003 | 100.362029 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.37 | 100.37 | 100.37 | 2 | 100.2763 | 100.3445 |
AT0000A0U3T4 | 100.3748 | 100.3948 | 100.3848 | 2 | 100.2763 | 100.3445 |
我想计算每个 ISIN 的第 25 个和第 75 个百分位,例如对于如上表所示的组。我尝试过使用以下公式:
Q1 = PERCENTILEX.INC(
ALLSELECTED(CleansedBenchmark[Securities]),
CleansedBenchmark[PxBid],
0.25)
但这只会给我每行相同的出价:
证券 | Px出价 | Px问 | Px中 | 群组ID | Q1 |
---|---|---|---|---|---|
AT0000A04967 | 113.598 | 114.198 | 113.898 | 1 | 113.598 |
AT0000A04967 | 113.684 | 114.152 | 113.918 | 1 | 113.684 |
AT0000A04967 | 113.878453 | 114.090701 | 113.984577 | 1 | 113.8785 |
AT0000A04967 | 113.777 | 114.239 | 114.008 | 1 | 113.777 |
AT0000A04967 | 113.809 | 114.209 | 114.009 | 1 | 113.809 |
AT0000A04967 | 113.53 | 114.53 | 114.03 | 1 | 113.53 |
AT0000A04967 | 113.795 | 114.295 | 114.045 | 1 | 113.795 |
AT0000A04967 | 114.07 | 114.07 | 114.07 | 1 | 114.07 |
AT0000A04967 | 114.1 | 114.1 | 114.1 | 1 | 114.1 |
AT0000A04967 | 114.105 | 114.185 | 114.145 | 1 | 114.105 |
AT0000A0U3T4 | 100.355 | 100.355 | 100.355 | 2 | 100.355 |
AT0000A0U3T4 | 100.257 | 100.457 | 100.357 | 2 | 100.257 |
AT0000A0U3T4 | 100.28 | 100.435 | 100.358 | 2 | 100.28 |
AT0000A0U3T4 | 100.284 | 100.434 | 100.359 | 2 | 100.284 |
AT0000A0U3T4 | 100.275 | 100.443 | 100.359 | 2 | 100.275 |
AT0000A0U3T4 | 98.86 | 101.86 | 100.36 | 2 | 98.86 |
AT0000A0U3T4 | 100.311 | 100.411 | 100.361 | 2 | 100.311 |
AT0000A0U3T4 | 100.313055 | 100.411003 | 100.362029 | 2 | 100.3131 |
AT0000A0U3T4 | 100.37 | 100.37 | 100.37 | 2 | 100.37 |
AT0000A0U3T4 | 100.3748 | 100.3948 | 100.3848 | 2 | 100.3748 |
我确信我在这里遗漏了一些愚蠢的东西,所以非常感谢您的帮助! 理想情况下,我希望将其放在同一个表中,但也许创建一个新表来存储每个 ISIN 的结果会更有效,我不确定。
如果这是您要添加到表中的计算列,请使用以下代码。
Q1 =
CALCULATE(
PERCENTILEX.INC(
CleansedBenchmark,
CleansedBenchmark[PxBid],
0.25)
, ALLEXCEPT(CleansedBenchmark, CleansedBenchmark[Securities]))