2017-05-02 4 views
0

申し訳ありませんが、私のタイトルがどれほど意味をなさないかわかりません。SSRS式:最初の(値)ただし、値2 = Xの場合のみ

基本的には...レポートがあり、データセット(Named DataSet1)はこのようなデータを返します。

Quarter MonthID Month  Value1 Value2 QtrAvgValue1 QtrAvgValue2 
Q-1  1  Mar 2017  12  28%  12.3   24.0% 
Q-1  2  Feb 2017  15  12%  12.3   24.0% 
Q-1  3  Jan 2017  10  32%  12.3   24.0% 

Q-2  4  Dec 2016  18  25%  17.3   24.3% 
Q-2  5  Nov 2016  14  18%  17.3   24.3% 
Q-2  6  Oct 2016  20  30%  17.3   24.3% 

最後の2つの列は、四半期全体の行の平均です。 [四半期]列は、-1のように、最後の四半期を意味し、-2は前の四半期を意味します。 MonthID列は、毎月元に戻ってくる自動インクリメントです。だから、最新の月は、私は私が言うようになる式を必要とする2

だろう古い1、来月になり、このような何か:

クオーター= Q-1は、THEN QtrAvgValue1を返すWHEN。 12.3を返します。

私も言うことができる表現が必要になります

MonthID = 1 THEN値1を返しWHEN。 12を返します。

これは可能ですか?私はデータセットを馬鹿馬鹿しい列名の列のうんざりするようにピボットする必要がありません。

注:私はSUM/AVGでIIFを使用しようとしましたが、私は文字列値を扱う方法を考えることができません。

+0

関連する値をパラメータとして送信し、必要な結果を返すことで、これを行うことができます。私はあなたがここで欲しいものを完全に理解しているか分からない。データ入出力の例がいくつか役立ちます。 – MiguelH

+0

申し訳ありませんが、説明するのは難しかったです。これをこのように考えてください。 1つのテキストボックスだけで、SSRSで完全に空白のレポートを作成します。私は、このテキストボックスにこのデータセットの値を表示するための式が必要です...私は以前に使ったことのない "Lookup"関数を使って計算しました。 – chadwin

答えて

0

UPDATE: SSRSでLookupとLookupSetの機能を使用していましたが、これまでに使用したことはありません。

例:

=LookupSet("Q-1", Fields!Quarter.Value, Fields!QtrAvgValue1.Value, "DataSet1")(0) 

LookupSetは、通常、多くの関係への一つのために使用されているが、それはまだだけでなく一対一の関係で動作します。

この式では、基本的に「Q-1」の四半期を持つすべての行を検索し、[QtrAvgValue1]列を返します。

ルックアップセット関数はデータを配列に格納するため、最後の "(0)"は配列の最初の値を使用することを示します。 "First()"関数と本質的に同じです。

関連する問題