私は答えを探しましたが、もっと混乱しています。私は経験豊富ではありませんが、スタッフが少なく、レポートを作成するのは私だけです。これを作成する必要があります。
クライアントは、2 つのデータベースに保存されている調査の質問に対する MTD 回答を返すレポートを要求しました。問題は、調査の一部ではない、送信された各回答に添付されるレコードが必要なことです。つまり、各回答者は、所有している電話の種類、住んでいる地域、電話のモデル、およびサービスの日数に関する情報を持っています。(ただし、これらは答えではありません)
それらの多くはユニークです。(モデルと都市)
たとえば、SQL でストアド プロシージャを作成し、SSRS にプルして結果を表示しました。
しかし、それぞれが選択であり、最初の結果しか得られません。追加しようとしましUNION ALL
たが、これを行うとグループ化できないようです。私はすべてを1つの列に入れますが、必要に応じて別々の列に入れます-理想的には水平に。しかし、それはあまりにも多くを求めているかもしれません。
これは例です - おそらくもっと速い方法があります - これは巨大なプロジェクトです - そして私の締め切りは今迫っています - そして私は非常に多くのことを試しました - そして検索。やるべきことは何も残っていませんが、助けを求めてください。
だからここに私が持っているものがあります -
ALTER PROCEDURE [dbo].[TEST_WIRELESS_DISCO_SURVEY_RESULTS]
(
@STARTDATE DATETIME,
@ENDDATE DATETIME
)
AS
BEGIN
SELECT
a.CUSTOM17 as 'Make', COUNT(ISNULL(A.custom17, 0)) as 'Total Make'
FROM GCI_SURVEYS as a
JOIN GCI_Post_Survey_PreRepair_Master as b ON a.CustAcctNo = b.CustAcctNo
WHERE b.Trans_Date between @STARTDATE and @ENDDATE
AND a.i3_rowid = 'GCI_WRLSDISC_BSV'
AND a.Q01 = 'no'
GROUP BY CUSTOM17
UNION ALL
SELECT
a.CUSTOM22 as 'Market', COUNT(ISNULL(a.CUSTOM22, 0)) as 'Total Market'
FROM GCI_SURVEYS as a
JOIN GCI_Post_Survey_PreRepair_Master as b ON a.CustAcctNo = b.CustAcctNo
WHERE b.Trans_Date between @STARTDATE and @ENDDATE
AND a.i3_rowid = 'GCI_WRLSDISC_BSV'
AND a.Q01 = 'no'
GROUP BY a.CUSTOM22