あなたが提供してくれたすべての助けをくれてありがとうございました。残念ながら、私が探していた期待された結果が得られませんでした。私が探しているヘルプをより良く得るために、私が達成しようとしていることを説明しようとします。SQL ServerでSum(MAX)を計算しようとしています
"IN"、 "AA_Now"、 "STF_Now"、 "dbo.Sheet1 $ .LOB_name"、 "dbo.Sheet1 $ .LifeCycleName"、 "dbo.Sheet1 $ .AreaOfBusiness"の主な列は、 。各「IN」には「AA_Now」と「STF_Now」があります。 "IN"グループが "dbo.Sheet1 $ .LOB_name"の下にロールアップします。 "dbo.Sheet1 $ .LOB_name"の下で、私はちょうどロールアップされた "IN"のグループの最大値が必要です。現在、 "dbo.Sheet1 $ .LOB_name"は "dbo.Sheet1 $ .LifeCycleName"の下にロールアップされています。必要なのは、 "dbo.Sheet1 $ .LOB_name"の下にロールアップされた最大値の合計です。 "dbo.Sheet1 $。ライフサイクル名"のロールアップ。最後に "dbo.Sheet1 $。ライフサイクル名"は "dbo.Sheet1 $ .AreaOfBusiness"にロールアップされます。私が探しているものは、 "dbo.Sheet1 $ .LifeCycleName"の合計です。これらは "AA_Now"と "STF_Now"の列のみです 私はピボットテーブルからそれをやってみましたが役に立たず、生のデータで並べ替えるのが最善であると考えました。
私は実行できませんSUM(MAX)SQLサーバでの計算とメッセージ130コマンド
を実行するときに、フォローエラーを取得、レベル15、状態1、行6 を行うにしようとしています集約関数またはサブクエリを含む式に対する集計関数。私はエラーが両方
によって引き起こされていると確信している
、SUM(MAX(、([AA_Now]、 'N/A' に置き換え、(フロートを変換する '0')))) 【AA2_Now]
と
として、SUM(MAX(([STF_Now]、 'N/A' を置き換える、(フロートを変換する '0'))))
[STF2_Now]として
ですが、エラーを発生させることなく書き換える方法はわかりません。
以下は完全なコードです。
SELECT dbo.CCA_Merged.id, dbo.CCA_Merged.timeStamp, dbo.CCA_Merged.name, dbo.CCA_Merged.lN
,dbo.CCA_Merged.type, dbo.CCA_Merged.id2, dbo.CCA_Merged.aG
,dbo.CCA_Merged.regionId, dbo.CCA_Merged.sgcc
,convert(float,replace([SLC_Today],'N/A','0')) As [SLC_Today]
,convert(float,replace([AA_Now],'N/A','0')) As [AA_Now]
,SUM(MAX(convert(float,replace([AA_Now],'N/A','0')))) As [AA2_Now]
,convert(float,replace([SLCO_Today],'N/A','0')) As [SLCO_Today]
,convert(float,replace([CABN_Today],'N/A','0')) As [CABN_Today]
,convert(float,replace([COF_Today],'N/A','0')) As [COF_Today]
,convert(float,replace([HT_Today],'N/A','0')) As [HT_Today]
,convert(float,replace(replace([CH_Today],'N/A','0'),'-','0')) As [CH_Today]
,convert(float,replace([SLC_Now],'N/A','0')) As [SLC_Now]
,convert(float,replace([SLCO_Now],'N/A','0')) As [SLCO_Now]
,convert(float,replace([SLC_Thirty],'N/A','0')) As [SLC_Thirty]
,convert(float,replace(replace([SLCO_Thirty],'N/A','0'),'-','0')) As [SLCO_Thirty]
,convert(float,replace([ACWT_Today],'N/A','0')) As [ACWT_Today]
,convert(float,replace([CQ_Now],'N/A','0')) As [CQ_Now]
,convert(float,replace([LCQ_Now],'N/A','0')) As [LCQ_Now]
,convert(float,replace([SLCH_Now],'N/A','0')) As [SLCH_Now]
,convert(float,replace([STF_Now],'N/A','0')) As [STF_Now]
,SUM(MAX(convert(float,replace([STF_Now],'N/A','0')))) As [STF2_Now]
,dbo.Sheet1$.AreaOfBusiness, dbo.Sheet1$.LifeCycleName, dbo.Sheet1$.LOB_name
FROM dbo.Sheet1$ RIGHT OUTER JOIN
dbo.CCA_Merged ON dbo.Sheet1$.Skill_Name = dbo.CCA_Merged.lN
Group by ROLLUP (stf_now) ,dbo.CCA_Merged.id, dbo.CCA_Merged.timeStamp, dbo.CCA_Merged.name, dbo.CCA_Merged.lN
,dbo.CCA_Merged.type, dbo.CCA_Merged.id2, dbo.CCA_Merged.aG ,dbo.CCA_Merged.regionId
,dbo.CCA_Merged.sgcc,AA_Now,SLC_Today,SLCO_Today,CABN_Today,COF_Today,HT_Today,CH_Today
,SLC_Now,SLCO_Now,SLC_Thirty,SLCO_Thirty,ACWT_Today,CQ_Now,LCQ_Now,SLCH_Now
,dbo.Sheet1$.AreaOfBusiness, dbo.Sheet1$.LifeCycleName, dbo.Sheet1$.LOB_name
私は比較的新しいSQL Serverを使用しており、どんな助けでも大歓迎です。予め
おかげ
スクリプト以下
SELECT dbo.CCA_Merged.lN
,convert(float,replace([STF_Now],'N/A','0')) As [STF_Now]
,dbo.Sheet1$.LOB_name, dbo.Sheet1$.LifeCycleName, dbo.Sheet1$.AreaOfBusiness
FROM dbo.Sheet1$ RIGHT OUTER JOIN
dbo.CCA_Merged ON dbo.Sheet1$.Skill_Name = dbo.CCA_Merged.lN
Group by stf_now ,AA_Now,dbo.CCA_Merged.lN,dbo.Sheet1$.AreaOfBusiness, dbo.Sheet1$.LifeCycleName, dbo.Sheet1$.LOB_name
Order by AreaOfBusiness DESC
+----+---------+----------+---------------+----------------+ | LN | STF_Now | LOB_name | LifeCycleName | AreaOfBusiness | +----+---------+----------+---------------+----------------+ | A | 46 | BSW | BS | Business | | B | 46 | BSW | BS | Business | | C | 0 | BOSS | BS | Business | | D | 112 | MSD | BS | Business | | E | 112 | MSD | BS | Business | | F | 42 | BHV | BR | Business | | G | 23 | BCR | BR | Business | | H | 23 | BHV | BR | Business | | I | 55 | BSW2 | BS | Business | | J | 1 | BSW2 | BS | Business | | K | 46 | BSW | BS | Business | | L | 112 | MSD | BS | Business | | M | 112 | MSD | BS | Business | | N | 57 | BSW | BS | Business | | O | 0 | BOSS | BS | Business | | P | 38 | MSD | BS | Business | | Q | 38 | MSD | BS | Business | | R | 19 | BHV | BR | Business | | S | 0 | BCR | BR | Business | | T | 19 | BHV | BR | Business | | U | 2 | BSW | BS | Business | | V | 1 | BSW | BS | Business | | W | 57 | BSW | BS | Business | | X | 38 | MSD | BS | Business | | Y | 38 | MSD | BS | Business | +----+---------+----------+---------------+----------------+
3で予想結果が
LOB_Name2(これは、LNから生じるSTF_Nowの最大である列を追加でストリッピング更新します)
57 BSW 0 BOSS 112 MSD 42 BHV 23 BCR 55 BSW2
LifeCycleName2(これはLOB_Name2のロールアップの最大の和である)
224 BS 65 BR
AreaOfBusiness2(これはLifeCycleName2のロールアップの和である)
289 Business
実際にサンプルデータと結果として必要なものを追加する必要があります。必要なものを見つけ出すことは実際には不可能です。 –
こんにちはJamesZ私はいくつかのサンプルデータを追加しました。ありがとうございました – rasmac