2016-06-16 16 views
1

誰かがこの問題で私を助けてくれるのではないかと思っていましたが、今は少なくとも10時間は遊んでいます。代わりにこれを説明するためにwiseowlのMoviesデータベースを使用します。SSRS多軸チャートの問題

SELECT FilmReleaseDate 
    ,FilmName 
    ,directorname 
    ,FilmRunTimeMinutes 
    ,directorgender 
    ,CountryName 
    ,datename(M, FilmReleaseDate) AS [month] 
    ,month(FilmReleaseDate) AS [month_no] 
    ,year(FilmReleaseDate) AS [Year] 
FROM tblFilm 
INNER JOIN tblDirector ON directorID = FilmDirectorID 
INNER JOIN tblCountry ON FilmCountryID = CountryID 
WHERE FilmReleaseDate >= '2006-01-01' 

が、今私は、第2の軸は、フィルムのランニング分が表示されますそれぞれの国の映画と積み上げグラフにこれを入れたいと言う:

は、私は、次のSQLを持っています。しかし、ここでの問題は、それぞれの国ではなく、すべての国の平均が欲しいということです。これを行う方法はありますか?私は1行ではなく3行です。ここ

Line graph on a stack bar as multi axis DESIGN VIEW あなたは3カ国のための3行は結果である出力から見ることができるように、の平均を取得する方法がある

Preview Mode

のようなアウトプットがどのように見えるかですそれらのすべてが1つの行ではなく1つの行にあるため、出力には平均を示す1行しかありません。

誰でも助けてくれれば、私はこれに無限の時間を費やしてくれて本当に感謝しています。あなたが必要とするその他の情報は、私に知らせてください。

答えて

1

このスクリプトを試してください。次に、新しいフィールドD.AVGFilmRunTimeMinutesをグラフに使用します。スクリプトの各テーブルにエイリアスを追加しました。誤った表を指している場合は、エイリアスを修正してください。

SELECT A.FilmReleaseDate 
     ,A.FilmName 
     ,B.directorname 
     ,D.AVGFilmRunTimeMinutes 
     ,B.directorgender 
     ,C.CountryName 
     ,datename(M, A.FilmReleaseDate) AS [month] 
     ,month(A.FilmReleaseDate) AS [month_no] 
     ,year(A.FilmReleaseDate) AS [Year] 
    FROM tblFilm A 
    INNER JOIN tblDirector B ON directorID = A.FilmDirectorID 
    INNER JOIN tblCountry C ON A.FilmCountryID = B.CountryID 
    LEFT JOIN (SELECT AVG(FilmRunTimeMinutes) AS AVGFilmRunTimeMinutes,FilmDirectorID FROM tblFilm GROUP BY FilmDirectorID) D 
       ON D.FilmDirectorID = A.FilmDirectorID 
    WHERE A.FilmReleaseDate >= '2006-01-01' 
+0

こんにちはアルドリン、お返事ありがとうございますが、それでも各国の回線を復旧しているようです。式や何かを使ってこれを一本の線で表示する方法はありますか? – abs786123

+0

こんにちは皆、これはまだ喜びは、誰かがアイデアを持っている、または可能性として正しい方向に私を指す、私はすべてのオプションを使い果たした:( – abs786123

1

チャートで3つのラインの代わりの1を生産している理由は、(どのように多くの国によって決定)各月のチャートあなたにグループ化によるものです。

私はあなたのテーブルの構造を知らないので、私はあなたのデータセットに別のフィールドを追加することをお勧めします:

YEAR(A.FilmReleaseDate) * 100 + MONTH(A.FilmReleaseDate) AS [YearMonth] 

これは、フォーマットYYYYMM

でフィールドを追加します、あなたにこれを追加yearとmonth_noではなく、あなたの軸のグラフ。

チャートデータウィンドウで、新しく作成した年のカテゴリグループの横にあるドロップダウンをクリックします。 [グラフグループのプロパティ]を選択し、名前をコピーします。 (それは - Chart1_CategoryGroupのようなものでなければなりません)

最後のステップは、チャート内のフィルムランタイムの式を変更することです。

FilmRunTimeMinutesの横にあるドロップダウンをクリックし、シリーズプロパティをクリックします。

=Avg(Fields!FilmRunTimeMinutes.Value,"Chart1_CategoryGroup1") 

があなたのカテゴリーのグループが呼ばれているものでChart1_CategoryGroup1の交換:値フィールドに

は以下を使用します。