بزرگ کردن محصولات

صفحه به روز شده :
تاریخ ایجاد صفحه :

نمونه داده ها

به سادگی یک جدول، داده ها را تنها با سال ها، ماه ها و علاقه تعریف کنید.

-- テーブル定義
declare @利息マスタ table 
(
  年月 nvarchar(6)
 ,利息 decimal(4, 2)
)

-- サンプルデータ挿入
insert @利息マスタ
          select N'201501', 1.05
union all select N'201502', 1.03
union all select N'201503', 1.02
union all select N'201504', 1.10
union all select N'201505', 1.02
union all select N'201506', 1.06
union all select N'201507', 1.07
union all select N'201508', 1.04
union all select N'201509', 1.06
union all select N'201510', 1.07
union all select N'201511', 1.03
union all select N'201512', 1.02

-- 確認
select * from @利息マスタ

محصولات در حال اعتنا

از روی هم قرار دادن «تابع نمایی» و «تابع لگاریتمیک» می توان به دست می آید. SQL به این شکل به نظر می رسد:

-- 集計
select exp(sum(log([利息]))) from @利息マスタ
-- 結果:1.73968081491318

این شکلی است که با ماهیت «تابع نمایی» و «تابع لگاریتمیک» قابل تحقق است.

ابتدا خلاصه تابع لگاریتمیک "log x + log y = log(x * y)" توسط فرمول است. فرمول نمایی "e logx = x" "e log(x*y) =x * y" را با اعمال فرمول به دست آمده توسط مجموع توابع لگاریتمیک می دهد. (x y ... (قسمتی از آن تعداد داده ها است)

مکاتبات صفر و منفی

از آنجا که یک تابع لگاریتمیک نمی تواند کمتر یا برابر با ۰ باشد، اگر هدف جماعت شامل یک عدد کمتر یا برابر با ۰ باشد، خطایی رخ می دهد. برای جای دادن اعداد زیر 0، از SQL به عنوان زیر استفاده کنید:

-- 集計(ゼロ、負対応)
select
  case
    when min(abs([利息])) = 0 then 0
    else
       exp(sum(log(abs(nullif([利息], 0)))))
     * round(0.5 - count(nullif(sign(sign([利息]) + 0.5), 1)) % 2, 0)
  end as [利息合計]
from @利息マスタ
-- 結果:1.73968081491318