データセットの本体にあるスカラー関数は問題なく機能するはずです。これは、SSRSで関数を作成するのに時間をかけるよりもはるかに簡単です。そうでなければ、内部のSQLがすべての作業を実行し、おそらくデータもより高速に返すためです。2つの異なるデータセットを関連付ける必要がない限り、おそらくカスタム式を使用する必要があります。ただし、可能な限り、データセットでほとんどの計算を行う傾向があります。SSRSで使用する式が多いほど、レポートが遅くなる傾向があります。
単純なデータベースと単純なテーブルを作成し、スカラー関数(たとえば単純な関数)がある場合:
use test-- database I created for concepts
create table Person ( id int identity, person varchar(64), orders int );
insert into Person values ('Brett',10),('Brett',20),('John',10)
GO
create function dbo.tester ( @intputint int )
returns int
as
begin
declare @return int
select @return = @intputint * 10
return @return
end
GO
SQL Server 2008でこれを行ったとき、そのスカラー関数を使用して列を作成できるはずです。
select *, dbo.tester(orders) as OrdersTimesTen
from Person