2017-06-26 9 views
0

SSRSレポートビルダーで、データセット内の計算フィールドの式を作成して、このデータが現在存在し、6か月前に存在し、1年前に存在するかどうかを調べようとしています。 (したがって、3つの異なる計算フィールド)。 変更の割合の列を持つ表に必要な情報として、異なるデータセットを使用することは望ましくありません。データが存在するかどうかを確認する6ヶ月前ssrs

がIから、データの日付に持っていると私は明らかに私の表現で何かが欠けていますが、これで私の知識が限られている

=IIF(Fields!From.Value<-6months AND Fields!To.Value>-6months, true, false) 

の線に沿って何かを書くためにしようとしています。どのようにこれを私がそれをしたいことをするために得るための任意のアイデア?

私のデータは基本的にはこれです(しかし、私達のデータベースではさまざまなテーブルから引かれている)

者ID - 条件1 - 日から - これまでの

人のID - 条件2 - 日から - 日まで

人物ID - 条件 - 1日から - 日付

者ID - 条件3 - 日から - 日付

等に。

条件として行があり、列は「今すぐ存在」、「6ヶ月前に存在しました」、「12ヶ月前に存在しました」、データ

からとするフィールドは、視認性のものは、それは細心の注意することができSSRSのすべてのように、時には少し混乱することができ

+1

「Fields!From.Value」はどのデータ型ですか?また、マトリックス内の1つのテキストボックスにこれがありますか?または3つの異なるテキストボックス。より多くの情報は、より迅速な答えを得るのに役立ちます...あなたのSQLクエリでロジックを実装する方法は? – BJones

+0

質問を編集してデータのサンプルを投稿できますか?私はこれがSQLでもっとはるかに簡単だろうと思っています。@bjonesがすでに尋ねたように、あなたの 'from'と' to'フィールドはどのデータ型ですか? –

答えて

0

日付フィールドです。

あなたはこれで初めてですから、最初の行を隠そうとするような簡単なことをお勧めします。おそらく、テーブルを右クリックしてプロパティに移動することで、これを行うことになります。可視性の下では、式を追加できます。その最初の...

= IIF(FALSE TRUE = 1234フィールド!UID.Value、、)

のようにユニークなIDか何かで、私が通過すると言う理由を行を非表示にしてみてくださいこれは、行を適切に隠すことができるかどうかを確認するためです。グループの可視性を代わりに使用している場合は、期待通りに動作しないことがあります。とにかく、一度それが働くと、あなたはこのようなことをしたいと思うでしょう。

今= IIF((DateDiff関数( "M"、CDate関数(フィールド!FromDate.Value)、())< 5とDateDiff関数( "M"、今CDate関数(フィールド!ToDate.Value)、() )> 5)、FALSE、TRUE)

DateDiff関数を使用して、日付とNOW()(現在の日付を返します)の差を計算します。 "m"は日付間の何ヶ月を知りたいかを指定します。 CDateはフィールドをDateTimeオブジェクトにキャストします。

関連する問題