SAS - 如何找到 2 或 3 个数字之间的最大值
SAS - How to find the max value between 2 or 3 numbers
我有一个这样的 table :
EMITTER RECEIVER DUR T_DUR PCT_DUR PCUM RANK_123
123 12 6038 24843 0.243 0.243 1
(...)
123 578 256 24843 0.010 0.832 22.5
123 456 256 24843 0.010 0.842 22.5
(...)
对于排名为整数的每种情况,我都有一个 PROC SQL。但是当它像 22,5 时我必须选择一个决胜局,所以我想选择更大的一个。
(此时,仅凭这些变量,你会选择哪个决胜局?)
我试过了:
PROC SQL;
CREATE TABLE work.TESTE_UP_TOP22_123 AS
SELECT EMITTER, PCUM AS TOP22
FROM WORK.BASE
WHERE RANK_123=22.5 AND MAX(RECEIVER);
QUIT;
在 "teste_up_top22_123" 中,我想要发射器的值和累积百分比 (PCUM) 的值,其中排名为 22,5,接收器的值更大。
所以,它会留下:
EMITTER TOP22
123 0.832
我该怎么做?
如果我有超过 2 个排名为 22,5 的数字,这是相同的程序吗?
谢谢!
试试这个:
PROC SQL;
CREATE TABLE work.TESTE_UP_TOP22_123 AS
SELECT EMITTER, PCUM AS TOP22
FROM WORK.BASE
WHERE RANK_123=22.5
Having RECEIVER=MAX(RECEIVER);
QUIT;
我有一个这样的 table :
EMITTER RECEIVER DUR T_DUR PCT_DUR PCUM RANK_123
123 12 6038 24843 0.243 0.243 1
(...)
123 578 256 24843 0.010 0.832 22.5
123 456 256 24843 0.010 0.842 22.5
(...)
对于排名为整数的每种情况,我都有一个 PROC SQL。但是当它像 22,5 时我必须选择一个决胜局,所以我想选择更大的一个。 (此时,仅凭这些变量,你会选择哪个决胜局?)
我试过了:
PROC SQL;
CREATE TABLE work.TESTE_UP_TOP22_123 AS
SELECT EMITTER, PCUM AS TOP22
FROM WORK.BASE
WHERE RANK_123=22.5 AND MAX(RECEIVER);
QUIT;
在 "teste_up_top22_123" 中,我想要发射器的值和累积百分比 (PCUM) 的值,其中排名为 22,5,接收器的值更大。 所以,它会留下:
EMITTER TOP22
123 0.832
我该怎么做? 如果我有超过 2 个排名为 22,5 的数字,这是相同的程序吗?
谢谢!
试试这个:
PROC SQL;
CREATE TABLE work.TESTE_UP_TOP22_123 AS
SELECT EMITTER, PCUM AS TOP22
FROM WORK.BASE
WHERE RANK_123=22.5
Having RECEIVER=MAX(RECEIVER);
QUIT;