Hello @HansP and welcome to the SAS Support Communities!
You could derive a new covariate L=log(X)/log(2) and then compute the odds ratio per one-unit increase in L.
Example (target odds ratio: 2.34):
/* Create test data for demonstration */
data test;
call streaminit(3141592);
do id=1 to 1000000;
X=rand('uniform',0.5,5);
L=log(X)/log(2);
p=logistic(-3.45+log(2.34)*L);
event=rand('bern',p);
output;
end;
run;
/* Estimate odds ratio for doubling X */
proc logistic data=test desc;
model event=L;
run;
/* Check two empirical odds ratios */
proc freq data=test;
where round(x,.1) in (1,2);
format x 1.;
tables x*event / or nopercent nocol norow;
run;
proc freq data=test;
where round(x,.1) in (2,4);
format x 1.;
tables x*event / or nopercent nocol norow;
run;
PROC LOGISTIC output (excerpt):
Odds Ratio Estimates
Point 95% Wald
Effect Estimate Confidence Limits
L 2.335 2.310 2.360
PROC FREQ output (excerpts):
X event
Frequency| 0| 1| Total
---------+--------+--------+
1 | 21706 | 698 | 22404
---------+--------+--------+
2 | 20721 | 1557 | 22278
---------+--------+--------+
Total 42427 2255 44682
Statistic Value 95% Confidence Limits
------------------------------------------------------------------
Odds Ratio 2.3367 2.1328 2.5600
Sample Size = 44682
X event
Frequency| 0| 1| Total
---------+--------+--------+
2 | 20721 | 1557 | 22278
---------+--------+--------+
4 | 18811 | 3285 | 22096
---------+--------+--------+
Total 39532 4842 44374
Statistic Value 95% Confidence Limits
------------------------------------------------------------------
Odds Ratio 2.3241 2.1812 2.4763
Sample Size = 44374