0

私に6人の人がいて、各人に2つの調査回答がある場合。各調査回答には10の質問があります。私のデータセットでは、すべての質問(1、2、3、4 ....)を持つ1つの列があり、2番目の列はすべての質問に対応しています。下の画像を参照してください。SSRS(Visual Studio)のAVG multiple Lookup式

私は質問1、2、5 & 8人の平均スコアを試しています。

レポートプロパティでVBコードを追加し、以下の式を使用して質問1のAVGを取得できましたか?質問2のAVGを組み込む方法はありますか?& 8?

=Code.AvgLookup(
    LookupSet(
    Fields!Instructorname.Value & "1. Course achieved?", 
    Fields!Instructorname.Value & Fields!Questions.Value, 
    Fields!Scores.Value, "DataSet1") 
) 

質問&回答レイアウト

enter image description here

答えて

0

あなたの関数は、計算のための唯一の質問を取るようです。

=Code.AvgLookup(split(
    join(
    LookupSet(Fields!Instructorname.Value & "1. Course achieved?", 
     Fields!Instructorname.Value & Fields!Questions.Value, 
     Fields!Key.Value,Fields!Code.Value,"DataSet1"),"," 
) 
    & "," & 
    join(
    LookupSet(Fields!Instructorname.Value & "2. Content was easy to understand", 
     Fields!Instructorname.Value & Fields!Questions.Value, 
     Fields!Key.Value,Fields!Code.Value,"DataSet1"),"," 
) 
    & "," & 
    join(
    LookupSet(Fields!Instructorname.Value & "5. Material was easy to understand", 
     Fields!Instructorname.Value & Fields!Questions.Value, 
     Fields!Key.Value,Fields!Code.Value,"DataSet1"),"," 
) 
    & "," & 
    ... -> join(lookupset(...) for question 8 and so on. 
,",")) 

この作品にもかかわらず、それはより多くの時間がかかることがあります:LookupSet()Object[]を返し、SSRSで/労働組合の配列を連結するための明示的な方法がないにも関わらず、JOINSPLIT機能を使用して、そうするトリックがあるに注意してくださいレポートを処理します。これを正しく処理するには、適切なテーブル構造と関係を作成して、必要なデータをソースから直接レポートに取り込む必要があります。

これが役立つかどうか教えてください。

+0

ありがとう@Alejandro!できます!これは非常に便利です! – Chan

+0

@Chan、あなたは大歓迎です。私の回答があなたの問題を解決した場合、質問を確実に閉じるために[正解とマークする]ことができます(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 –

関連する問題