Bạn có hai tùy chọn để tải một sản phẩm trong SQL Server.
1. Mô phỏng bằng cách sử dụng nhật ký và số mũ:
create table returns
(
returnDate date,
returnValue float
)
insert into returns values('05/31/06', -0.002271835)
insert into returns values('06/30/06', -0.001095986)
insert into returns values('07/31/06', 0.006984908)
insert into returns values('08/31/06', 0.014865360)
insert into returns values('09/30/06', 0.008938896)
select totalReturn = power
(
cast(10.0 as float)
, sum(log10(returnValue + 1.0))
) - 1
from returns;
with tr as
(
select totalReturn = power
(
cast(10.0 as float)
, sum(log10(returnValue + 1.0))
) - 1
, months = cast(count(1) as float)
from returns
)
select annualized = power(totalReturn + 1, (1.0 / (months / 12.0))) - 1
from tr;
Điều này sử dụng nhật ký và số mũ để mô phỏng một phép tính sản phẩm. Thông tin thêm: Các chức năng do người dùng xác định .
Một vấn đề ở đây là nó sẽ không trả lại được <-100%. Nếu bạn không mong đợi những điều này thì tốt, nếu không, bạn sẽ cần đặt bất kỳ giá trị nào <100% thành -100%.
Sau đó, bạn có thể sử dụng lợi tức thực tế này để nhận được lợi tức hàng năm theo yêu cầu.
2. Xác định tổng hợp tùy chỉnh với CLR:
Xem Sách Trực tuyến .
Bạn có thể tạo một hàm tùy chỉnh CLR và sau đó liên kết tổng hợp này để sử dụng trong các truy vấn của mình. Đây là công việc nhiều hơn và bạn sẽ phải bật CLR trên máy chủ của mình, nhưng sau khi hoàn thành, bạn có thể sử dụng nó nhiều như cần thiết.