0

私はssrsの世界で初めてです。1 つの横軸ラベルで 2 つの間隔を使用したいだけです。たとえば、X 軸で日付フィールド (sample_date) を使用しています。1 月の間隔は 31、2 月の間隔は 28、12 月の間隔は 31 などです。間隔のタイプは日です。誰でもそれに関して私を助けることができます。

4

1 に答える 1

0

確かに、あなたの質問を理解していると信じているなら、日付の代わりに月末の日付を表示したいということです。そのためには、いくつかのことを行う必要があります。

  1. データセットから月に何日あるかを確認する必要があります。データセットの例を次に示します。

    declare @Dates table ( dt date, val int)
    
    insert into @Dates values('1-1-12', 10),('1-10-12',20),('1-30-12',14),('2-1-12', 11),('2-11-12', 19),('2-20-12', 20),('3-10-12',10)
    
    select *,  datediff(day,
    Dateadd(month, datediff(month, 0, dt), 0),
    Dateadd(day, -1, Dateadd(month, datediff(month, 0, dt) + 1, 0))
    ) as DaysInMonth
    from @Dates
    
  2. これで、日付と値、およびその月が何日かを示すリストが作成されました。通常の折れ線グラフなどを作成します。例では「値」を「val」に設定し、「カテゴリ グループ」を例では「dt」に設定します。

  3. グラフが作成されたら、水平グリッドをクリックして、その部分 (x 軸) の周りにのみ点線の長方形が表示されるようにします。「横棒グラフのプロパティ」をクリックします。

  4. 軸タイプを「スカラー」ラジオ ボタンに変更します。次のように選択します。

    a. 最小値を [Min(dt)] に変更します。 b. 最大値を [Max(dt)] に変更します c. Interval を次の式に変更します。

    =(Fields!DaysInMonth.Value - 1)
    

    d. 代わりに間隔タイプを「日」に変更します

  5. レポートを実行すると、日ごとにグループ化されますが、実行時に動的に月の日数であることがわかったデータを使用します。この数値から 1 を引いているため、最初の日と最終日のグループ分けが毎回表示されるはずです。これが真実ではないことがわかった場合は、テストしたときのように式を少し変更しますが、指定した期間は機能しました。

これが失敗した場合は、ラベルを sql ステートメントから取得した月の最終日に設定し、それをカテゴリ グループの「ラベル」にすることもできます。

于 2013-01-21T19:22:17.767 に答える