none
SSRSのフィルターについて

    質問

  • 下記のレポートですが、

    「2006年3月」を選択すると、X軸上で、「2006年3月」と「2006年4月」の2ヶ月分グラフを表示させていただきたいですが、フィルターにてどうのように設定すればいいですか。

    2012年2月16日 12:50

回答

  • 普通であれば
    フィルタを「3月」に掛けるのであれば、3月のデータしか取らないことになります。

    4月のデータを3月のデータと合わせて取得するには、
    通常ではないテクニック(細工)が必要になります。
    どのような細工をするべきかは、システム全体を俯瞰して考えている
    「リーダー」や「アーキテクト」に相談するべきだと思います。

    で、あなたが「アーキテクト」だとして、回答すると、、(一つの実装方法として)
    日常的に、当月の数字と翌月の数字(または、前月の数字・前年の数字)を
    比較して参照されるのであれば、
    ●キューブのメージャーに数値以外に翌月数値 前月数値 前年数値などを
     用意しておくべきです。
     これは、キューブの計算されるメンバーで実現できます。

     これら項目がないと、レポートや分析ユーザー側で作りこんで機能実現する
     ことになるので、後々のメンテナンスが難しくなると思います。


    もし、
    DBやキューブを作った人が頑固者で、一切の機能追加や修正を受け付けてくれず
    レポート作成担当として、困ったことになっているとか
    前月・翌月・前年などのデータを使用するのは、このレポートだけで、
    他のレポートでは使わないとかという場合であれば・・・
    ●データソースのクエリに計算されるメンバーを追加して、現在(当月)の数値の他に、
     翌月の数値を取る方法がいいと思います。
     (キューブに「計算されるメンバー」として作成すべきものを各レポートの
      クエリーの「計算されるメンバー」として作成する)
     という方法もあります。

    3月でフィルタしている(月を選択している)のであれば

         (
         [Date].[Calendar].CurrentMember.NextMember ,
            [Measures].[Sales]
         )
    

    で、いけるのではないかと思います。
    ※NextMemberは、CurrentMemberの次 つまり3月がCurrentMemberなら、4月となります。

    ※ [Measures].[Sales]は、数値としてとるべきメジャーです。


    ---------------------------------
    Infospire Kayano

    2012年2月20日 7:54