2011-06-29 11 views
2

私はSSRSレポートを持っています。私はいくつかの行を持つテーブルがあります。私はこれらの行に基づいていくつかの事を計算したいと思います。サンプルテーブルと物事を計算するために参照してください。SSRSの計算

enter image description here

雇用期間はif(DayEmployed>730) then add 1 to count.countEmployment Periods greater than 2 Yearsのカウントで使用して計算されます。 SSRSでこれをどのように計算すればいいですか?

ご協力いただければ幸いです。要約すると

答えて

4

  • 雇用期間は365日、または1年です。

    • 従業員は730日働いている場合は、雇用期間がまだ0
    • です:あなたは雇用期間のカウントは、彼らが2年

    仮定をアップクロックされている後をインクリメント開始したい

  • 従業員が731日働いた場合、雇用期間は1
  • です。従業員の勤務時間が1096日になるまで雇用期間は1に留まり、

    = IIf(DaysEmployed > 730, CEILING(DaysEmployed/365) - 1, 0) 
    

    私はExcelでこれの簡単なテストを行った、と任意の構文エラーをexcusing *私の声明の中で、それはどのようなことを行いますntの雇用期間は2

おそらくそれを行うための最も簡単な方法があるとなりあなたは欲しい。


編集:

さて、あなたが必要なものは、条件付きの集合体である:

=Sum(IIF(DaysEmployed > 730, 1, 0), "DSEmploymentSummary") 

これはDSEmploymentSummaryと呼ばれるオブジェクトの範囲にDaysEmployedフィールド上の合計を行います(テーブル/タブリックスにバインドされたデータです)。

あるいは、単にしきい値を超えているDaysEmployedに応じて行ごとに1又は0が含ま隠さ算出列を有することができ、そしてそのカラムに正常SUMを行います。

*私の報告は錆びている、と私はそれをテストするために、新しいダミーのレポートをクランクアップしたくありませんでした。

+0

私はあなたが私が間違ってましたと思います。基本的に私が欲しいのは、そこには複数のクライアントがいるテーブルがあるということです。私は行ごとにチェックする必要があります。「Days Employed> 730」の場合は、「Days Employed> 730」の行の数を表示したいとします。 – asma

+0

@asma、私の編集をチェックしてください。 – slugster

0

私は、この目的のために、この式を使用しました:

=FormatNumber((iif(Fields!DaysEmployed.Value > 730, Count(Fields!DaysEmployed.Value, "DSEmploymentSummary"), 0))/CountRows("DSEmploymentSummary"),2,0,-1,-1) 
+0

これは真剣に正しい数字を返しますか?そしてゼロ誤差で除算することはできませんか? – slugster

+0

実際には、行数が0のときにレポートのすべてのコントロールを非表示にする必要がありました。今私は0行でそれをテストし、すべてが完璧だった。私は同じことを考えると、ゼロによる除算が必要である。しかし、何も起こらなかった。コントロールは正常に非表示になります。 – asma

+0

申し訳ありませんが、私のソリューションを使用する際に問題が生じる可能性はありますか?私はursを使うべきですか? – asma

関連する問題