1. ホーム
  2. ssrs-2008

SSRSで、新しいレポートを作成するときに、「同じキーのアイテムがすでに追加されています」というエラーが発生するのはなぜですか?

2023-12-21 13:41:53

質問

で以下のエラーが発生します。 SSRS :

クエリ設計メソッドの保存中にエラーが発生しました。

同じキーの項目がすでに追加されています。

しかし、quot;item" は何を示すのでしょうか?を編集してみました。 RDL というストアドプロシージャへの参照をすべて削除してみました。 prc_RPT_Select_BI_Completes_Data_View .

これはもしかして、ストアドプロシージャがダイナミック SQL を使用していることと関係があるのでしょうか (ストアドプロシージャの中の N' 記法) を使用していることと関係があるのでしょうか?

ストアドプロシージャで私は持っています。

SET @SQL +=  N'
SELECT   bi.SupplierID as ''Supplier ID''
        ,bi.SupplierName as ''Supplier Name''

        ,bi.PID as ''PID''
        ,bi.RespondentID as ''Respondent ID''

        ,lk_slt.Name as ''Entry Link Type''

        ,ts.SurveyNumber as ''Initial Survey ID'''

<イグ

どのように解決するのですか?

SSRSに問題があるようです(少なくともバージョン2008) - 勉強中です。 このサイトに説明があります。

同じ名前のカラムが2つ(2つの異なるテーブルから)ある場合、この問題が発生すると書いてあるところです。

ソースからです。

SELECT a.Field1、a.Field2、a.Field3、b.Field1、b.Field99 FROM TableA a JOIN TableB b on a.Field1 = b.Field1

SQL は、私がそれぞれにエイリアス (テーブル) 名をプレフィックスとして付けていたので、うまく処理しました。 (テーブル) 名を前置していたので、SQL はうまく処理しました。しかし、SSRSはテーブル+カラムではなく、カラム名のみをキーとして使用するため + とカラムの組み合わせではなく、カラム名のみをキーとして使用するので、詰まってしまいました。

修正は簡単で、2番目の列の名前を変更するか、つまり、b.Field1 AS Field01 などのように 2 番目の列の名前を変更するか、フィールドをすべて一緒に省略します。