0

6 つの特定の値を返すクエリがあります。xLow、xMed、xHigh、yLow、yMed、yHigh としましょう。

5 つの特定のポイントをプロットするグラフをレポートに追加することになっています。1 つ目は、可能な値の範囲を示す (xLow, yLow)、(xLow, yHigh)、(xHigh, yLow)、および (xHigh, yHigh) の角を持つボックスです。次に、中央の単一のポイント (xMed、yMed) が典型的な値を強調表示します。

ここには「シリーズ」はなく、これは正確には散布図でもありません。いくつかの点を描く必要があるだけです (可能であれば、そのうちの 4 つを線で結びます)。

4

2 に答える 2

0

ここで@glhから後押しを受けましたが、SSRSで遭遇したいくつかの問題と同様に、レポートプロパティよりもクエリを介して解決する方がはるかに簡単であることがわかりました. この場合、少なくとも 80% です。

古いクエリの基本的な考え方 (ストアド プロシージャ内):

 SELECT xHigh, xLow, xMed, yHigh, yMed, yLow
 FROM MyTable where MyPrimaryKey = @param

新しいクエリの基本的な考え方:

DECLARE @Holder TABLE (
    ValueLevel varchar(4),
    xVal DECIMAL (15,3),
    yHigh DECIMAL (15,3),
    yMed DECIMAL (15,3),
    yLow DECIMAL (15,3)
)
INSERT INTO @Holder
    SELECT 'Low' AS ValueLevel, xLow as xVal, yHigh, yMed, yLow
    FROM MyTable where MyPrimaryKey = @param
-- Repeat insert for xMed and xHigh
SELECT * FROM @Holder

rdl では、私のグラフは単純な折れ線グラフで、3 つの y 値に対応する 3 つの値シリーズと、xVal である 1 つのグループ シリーズがあります。

一時テーブルの ValueLevel を使用して値フィールドに条件を設定したため、このクエリで生成される 9 つのポイントすべてではなく、角と中央のみが取得されます。たとえば、yHigh シリーズの式は次のとおりです。

=IIF(Fields!ValueLevel.Value <> "EXP", Fields!yHigh.Value, nothing)

欠けているのは、ボックスの側面にある垂直コネクタだけです。

于 2013-05-01T15:31:36.833 に答える