1

昨日も同様の投稿をしましたが、私が達成しようとしていることをうまく表現できていないと思います。

(1) 予算化された各 WAIVER_SERVICE の合計金額、(2) 提供された各 wavier サービスの合計金額、および (3) 使用される予算の割合を計算する必要があります。WAIVER_SERVICES および月/年でグループ化

CLT_NBR  WAIVER_SERVICES Month/Year Amount_Services_Provided  Amount_Budgeted  %_Budget_Used     
10178        2              1 2013          1000                 1100            90%           
10178        2              2 2013          950                  1000            95%     
10178        2              3 2013          759                   650            115%    
10178        4             11 2012          600                   1000            60%
10178        4             9 2013           100                   100            100%

クライアントがサービスの予算を立てていて、1 か月間サービスを受けていない場合は 0 の値が必要であり、データのない月には 0 を表示する必要があります。

以下は、2 つのプログラムで使用された元の 3 つのテーブルの例である 3 つの一時テーブルです。テーブルは B2H_DSP、B2H_SummaryForms、および B2H_RATE です。B2H_Rate テーブルは、wavier_services のコストを取得する参照テーブルであることに注意してください。

B2H_DSP テーブル

CREATE TABLE B2H_DSP (
  BGT_NBR    int,
  CLT_NBR    int,
  WAIVER_SERVICES    int,
  WAIVER_PROGRAM  int, 
  START_DT date,
  END_DT date, 
  BILLABLE_UNITS_OF_SERVICE int, 
  UNITS_PER_MONTH   int, 
  RATE_PER_UNIT_OF_SERVICE int, 
  PROJECTED_COST_PER_MONTH int, 
  NUMBER_OF_MONTHS_OF_SERVICES int,     
  PROJECTED_COST_PER_12_MONTHS int
); 

INSERT INTO B2H_DSP  VALUES 
(1,     10178,   9, 2,  '7/21/2011',    '7/21/2012',    5,  16, 12.7,   203.2,  12, 2633.47),
(1,     10178,  10, 2,  '7/21/2011',    '7/21/2012',    5,  4,  19.55,  78.2,   12, 1013.47),
(1,     10178,  11, 2,  '7/21/2011',    '7/21/2012',    5,  4,  19.55,  78.2,   12, 1013.47),
(1,     10178,  5,  2,  '7/21/2011',    '7/21/2012',    5,  28, 12.64,  353.92, 12, 4586.8),
(1,     10178,  2,  2,  '7/21/2011',    '7/21/2012',    5,  8,  13.23,  105.84, 12, 1371.69),
(1,     10178,  3,  2,  '7/21/2011',    '7/21/2012',    5,  28, 13.23,  370.44, 12, 4800.9),
(1,     10178,  8,  2,  '7/21/2011',    '7/21/2012',    6,  16, 13.23,  211.68, 12, 2743.37),
(1,     10178,  1,  1,  '7/21/2011',    '7/21/2012',    1,  1,  2040,   2040,   12, 24480),
(406,   10178,  1,  1,  '7/21/2012',    '7/21/2013',    1,  1,  2040,   2040,   12, 24480),
(406,   10178,  2,  2,  '7/21/2012',    '7/21/2013',    5,  8,  13.23,  105.84, 12, 1371.69),
(406,   10178,  3,  2,  '7/21/2012',    '7/21/2013',    5,  28, 13.23,  370.44, 12, 4800.9),
(406,   10178,  5,  2,  '7/21/2012',    '7/21/2013',    5,  20, 19.45,  389,    12, 5041.44),
(406,   10178,  8,  2,  '7/21/2012',    '7/21/2013',    6,  16, 13.23,  211.68, 12, 2743.37),
(406,   10178,  9,  2,  '7/21/2012',    '7/21/2013',    5,  16, 19.55,  312.8,  12, 4053.89),
(406,   10178,  10, 2,  '7/21/2012',    '7/21/2013',    5,  8,  19.55,  156.4,  12, 2026.94),
(406,   10178,  11, 2,  '7/21/2012',    '7/21/2013',    5,  8,  19.55,  156.4,  12, 2026.94),
(933,   10178,  1,  1,  '7/21/2013',    '7/21/2014',    1,  1,  2040,   2040,   12, 24480),
(933,   10178,  2,  2,  '7/21/2013',    '7/21/2014',    5,  8,  13.23,  105.84, 12, 1371.69),
(933,   10178,  5,  2,  '7/21/2013',    '7/21/2014',    5,  16, 19.45,  311.2,  12, 4033.15),
(933,   10178,  10, 2,  '7/21/2013',    '7/21/2014',    5,  4,  19.55,  78.2,   12, 1013.47),
(933,   10178,  11, 2,  '7/21/2013',    '7/21/2014',    5,  4,  19.55,  78.2,   12, 1013.47),
(933,   10178,  3,  2,  '7/21/2013',    '7/21/2014',    5,  18, 13.23,  238.14, 12, 3086.29),
(933,   10178,  8,  2,  '7/21/2013',    '7/21/2014',    3,  3,  236.7,  710.1,  12, 9202.9),
(933,   10178,  9,  2,  '7/21/2013',    '7/21/2014',    5,  18, 19.55,  351.9,  12, 4560.62),
(480,   12014,  1,  1,  '9/21/2011',    '9/21/2012',    1,  1,  2040,   2040,   12, 24480),
(480,   12014,  1,  1,  '9/21/2011',    '10/21/2011',   1,  1,  2038,   2038,   1,  2038),
(480,   12014,  2,  2,  '9/21/2011',    '9/21/2012',    5,  8,  8.6,    68.8,   12, 891.65),
(480,   12014,  3,  2,  '9/21/2011',    '9/21/2012',    5,  8,  13.23,  105.84, 12, 1371.69),
(480,   12014,  5,  2,  '9/21/2011',    '9/21/2012',    5,  8,  19.45,  155.6,  12, 2016.58),
(480,   12014,  8,  2,  '9/21/2011',    '9/21/2012',    3,  2,  236.7,  473.4,  12, 6135.26),
(480,   12014,  9,  2,  '9/21/2011',    '9/21/2012',    5,  4,  19.55,  78.2,   12, 1013.47),
(480,   12014,  10, 2,  '9/21/2011',    '9/21/2012',    5,  4,  19.55,  78.2,   12, 1013.47),
(480,   12014,  11, 2,  '9/21/2011',    '9/21/2012',    5,  4,  19.55,  78.2,   12, 1013.47),
(481,   12014,  1,  1,  '9/21/2012',    '9/21/2013',    1,  1,  2040,   2040,   12, 24480),
(481,   12014,  2,  2,  '9/21/2012',    '9/21/2013',    5,  8,  8.6,    68.8,   12, 891.65),
(481,   12014,  3,  2,  '9/21/2012',    '9/21/2013',    5,  8,  13.23,  105.84, 12, 1371.69),
(481,   12014,  5,  2,  '9/21/2012',    '9/21/2013',    5,  8,  19.45,  155.6,  12, 2016.58),
(481,   12014,  8,  2,  '9/21/2012',    '9/21/2013',    3,  2,  236.7,  473.4,  12, 6135.26),
(481,   12014,  9,  2,  '9/21/2012',    '9/21/2013',    5,  4,  19.55,  78.2,   12, 1013.47),
(481,   12014,  10, 2,  '9/21/2012',    '9/21/2013',    5,  4,  19.55,  78.2,   12, 1013.47),
(481,   12014,  11, 2,  '9/21/2012',    '9/21/2013',    5,  4,  19.55,  78.2,   12, 1013.47)

B2H_SummaryForms テーブル

CREATE TABLE B2H_SummaryForms (
  CLT_NBR    int,
  DOSStart date,
  DOSEnd date,
  BillableUnits  int,
  RateCode int    
); 
INSERT INTO B2H_SummaryForms  VALUES 
(12014, '3/2/2012',     '3/2/2012',    10,  1312),
(12014, '3/30/2012',    '3/30/2012',   4,   1312),
(10178, '4/19/2012',    '4/19/2012',    4,  1312),
(12014, '5/9/2012',     '5/9/2012',     0,  1300),
(12014, '5/21/2012',    '5/21/2012',    1,  1300),
(10178, '6/1/2012',      '6/1/2012',    0,  1300),
(10178, '5/10/2012',    '5/10/2012',    4,  1312),
(12014, '6/19/2012',    '6/19/2012',    2,  1319),
(10178, '6/26/2012',    '6/26/2012',    2,  1312),
(12014, '7/27/2012',    '7/27/2012',    1,  1300),
(10178, '8/8/2012',      '8/8/2012',    1,  1300),
(12014, '7/13/2012',    '7/13/2012',    0,  1300),
(12014, '7/1/2012',      '7/1/2012',    8,  1312),
(10178, '7/2/2012',      '7/2/2012',    0,  1300),
(10178, '5/8/2012',      '5/8/2012',    0,  1300),
(12014, '5/10/2012',    '5/10/2012',    4,  1312),
(10178, '5/8/2012',      '5/8/2012',    0,  1300),
(10178, '4/2/2012',      '4/2/2012',    0,  1300),
(10178, '3/8/2012',      '3/8/2012',    1,  1312),
(10178, '5/10/2012',    '5/10/2012',    14, 1319),
(12014, '4/10/2012',    '4/10/2012',    1,  1300),
(12014, '2/29/2012',    '2/29/2012',    2,  1312),
(12014, '3/5/2012',      '3/5/2012',    0,  1300),
(10178, '2/7/2012',      '2/7/2012',    0,  1300),
(10178, '2/15/2012',    '2/15/2012',    1,  1300),
(10178, '2/29/2012',    '2/29/2012',    4,  1312),
(10178, '3/8/2012',      '3/8/2012',    0,  1300),
(10178, '5/10/2012',    '5/10/2012',    4,  1312),
(12014, '3/2/2012',      '3/2/2012',    10, 1312),
(10178, '3/15/2012',    '3/15/2012',    1,  1300),
(12014,'3/30/2012',     '3/30/2012',    1,  1300),
(10178, '4/4/2012',      '4/4/2012',    4,  1312),
(12014, '4/5/2012',      '4/5/2012',    0,  1300),
(10178, '4/19/2012',    '4/19/2012',    10, 1319),
(10178, '4/10/2012',    '4/10/2012',    1,  1300),
(10178, '5/17/2012',    '5/17/2012',    1,  1300),
(10178, '6/6/2012',      '6/6/2012',    1,  1300),
(12014, '6/19/2012',    '6/19/2012',    2,  1312),
(12014, '6/19/2012',    '6/19/2012',    2,  1319),
(10178, '7/23/2012',    '7/23/2012',    1,  1300),
(12014, '8/20/2012',    '8/20/2012',    0,  1300),
(10178, '8/25/2012',    '8/25/2012',    28, 1309),
(10178, '9/5/2012',      '9/5/2012',    0,  1300),
(10178, '8/25/2012',    '8/25/2012',    55, 1309),
(12014, '9/17/2012',    '9/17/2012',    1,  1300),
(12014, '9/14/2012',    '9/14/2012',    0,  1300),
(12014, '9/1/2012',      '9/1/2012',    1,  1318),
(12014, '8/31/2012',    '8/31/2012',    1,  1300),
(10178, '8/1/2012',      '8/1/2012',    0,  1300),
(12014, '5/10/2012',    '5/10/2012',    4,  1312),
(12014, '6/19/2012',    '6/19/2012',    2,  1312),
(12014, '6/19/2012',    '6/20/2012',    1,  1300),
(12014, '5/10/2012',    '5/10/2012',    4,  1312),
(12014, '6/11/2012',    '6/11/2012',    0,  1300),
(12014, '4/4/2012',      '4/4/2012',    2,  1312),
(12014, '2/22/2012',    '2/22/2012',    1,  1300),
(12014, '3/13/2012',    '3/13/2012',    4,  1312),
(12014, '3/20/2012',    '3/20/2012',    1,  1312),
(12014, '2/7/2012',      '2/7/2012',    0,  1300),
(12014, '9/15/2012',    '9/15/2012',    1,  1318),
(12014, '9/21/2012',    '9/21/2012',    4,  1312),
(10178, '9/13/2012',    '9/13/2012',    1,  1300),
(12014, '9/22/2012',    '9/22/2012',    1,  1318),
(10178, '1/8/2013',      '1/8/2013',    1,  1300),
(12014, '9/21/2012',    '9/21/2012',    4,  1312),
(12014, '10/5/2012',    '10/5/2012',    0,  1300),
(12014, '10/8/2012',    '10/8/2012',    1,  1300),
(10178, '10/10/2012',   '10/10/2012',   1,  1300),
(10178, '10/2/2012',    '10/2/2012',    0,  1300),
(12014, '10/6/2012',    '10/6/2012',    16, 1308),
(10178, '10/19/2012',   '10/19/2012',   1,  1318),
(10178, '10/20/2012',   '10/20/2012',   16, 1319),
(10178, '10/20/2012',   '10/20/2012',   16, 1319),
(10178, '10/19/2012',   '10/19/2012',   1,  1318),
(10178, '11/5/2012',    '11/5/2012',    0,  1300),
(12014, '11/6/2012',    '11/6/2012',    0,  1300),
(12014, '9/28/2012',    '9/28/2012',    16, 1308),
(12014, '10/27/2012',   '10/27/2012',   16, 1308),
(12014, '11/9/2012',    '11/9/2012',    1,  1300),
(12014, '10/15/2012',   '10/15/2012',   4,  1312),
(12014, '10/6/2012',    '10/6/2012',    16, 1308),
(12014, '9/28/2012',    '9/28/2012',    16, 1308),
(12014, '10/27/2012',   '10/27/2012',   16, 1308),
(12014, '11/10/2012',   '11/10/2012',   16, 1308),
(10178, '11/12/2012',   '11/12/2012',   1,  1300),
(12014, '11/10/2012',   '11/10/2012',   16, 1308),
(12014, '11/17/2012',   '11/17/2012',   12, 1308),
(12014, '10/15/2012',   '10/15/2012',   4,  1312),
(12014, '11/16/2012',   '11/16/2012',   4,  1312),
(12014, '11/24/2012',   '11/24/2012',   16, 1308),
(12014, '11/24/2012',   '11/24/2012',   1,  1307),
(12014, '11/17/2012',   '11/17/2012',   12, 1308),
(12014, '11/24/2012',   '11/24/2012',   16, 1308),
(12014, '12/1/2012',    '12/1/2012',    16, 1308),
(12014, '11/24/2012',   '11/24/2012',   1,  1307),
(10178, '12/3/2012',    '12/3/2012',    0,  1300),
(12014, '11/24/2012',   '11/24/2012',   16, 1308),
(12014, '12/1/2012',    '12/1/2012',    16, 1308),
(12014, '11/24/2012',   '11/24/2012',   1,  1307),
(12014, '12/17/2012',   '12/17/2012',   0,  1300),
(10178, '12/10/2012',   '12/10/2012',   1,  1300),
(10178, '12/10/2012',   '12/19/2012',   1,  1300),
(12014, '11/24/2012',   '11/24/2012',   1,  1307),
(12014, '12/21/2012',   '12/21/2012',   1,  1300),
(12014, '12/22/2012',   '12/22/2012',   16, 1308),
(12014, '11/24/2012',   '11/24/2012',   1,  1307),
(12014, '1/5/2013',      '1/5/2013',    1,  1318),
(10178, '1/8/2013',      '1/8/2013',    1,  1300),
(10178, '1/7/2013',      '1/7/2013',    0,  1300),
(10178, '1/7/2013',      '1/7/2013',    0,  1300),
(10178, '5/8/2012',      '5/8/2012',    0,  1300),
(12014, '1/23/2013',    '1/23/2013', 0, 1300),
(12014, '1/25/2013',    '1/25/2013',    1,  1300),
(10178, '2/4/2013',      '2/4/2013',    0,  1300),
(12014, '2/2/2013',      '2/2/2013',    1,  1318),
(12014,'2/11/2013',     '2/11/2013',    0,  1300),
(12014, '2/19/2013',    '2/19/2013',    1,  1300),
(10178, '2/19/2013',    '2/19/2013',    1,  1300),
(12014,'2/23/2013',     '2/23/2013',    8,  1308),
(10178, '3/4/2013',      '3/4/2013',    0,  1300),
(12014, '3/9/2013',      '3/9/2013',    1,  1318),
(12014, '3/9/2013',      '3/9/2013',    1,  1318),
(12014, '3/7/2013',      '3/7/2013',    0,  1300),
(12014, '3/15/2013',    '3/15/2013',    1,  1300),
(10178, '3/12/2013',    '3/12/2013',    8,  1306),
(10178, '3/13/2013',    '3/13/2013',    3,  1312),
(10178, '3/12/2013',    '3/12/2013',    1,  1300),
(10178, '3/21/2013',    '3/21/2013',    2,  1308),
(10178, '3/21/2013',    '3/21/2013',    4,  1319),
(10178, '3/20/2013',    '3/20/2013',    2,  1312),
(10178, '3/23/2013',    '3/23/2013',    1,  1318),
(12014, '4/2/2013',      '4/2/2013',    0,  1300),
(10178, '4/2/2013',      '4/2/2013', 0, 1300),
(12014, '4/6/2013',      '4/6/2013',    1,  1318),
(10178, '4/5/2013',      '4/5/2013',    1,  1300),
(10178, '4/10/2013',    '4/10/2013',    4,  1312),
(10178, '4/11/2013',    '4/11/2013',    6,  1308),
(12014, '4/22/2013',    '4/22/2013',    1,  1300),
(10178, '5/2/2013',      '5/2/2013',    0,  1300),
(10178, '5/2/2013',      '5/2/2013',    6,  1319),
(10178, '5/4/2013',      '5/4/2013',    1,  1318),
(10178, '5/16/2013',    '5/16/2013',    1,  1300),
(10178, '5/14/2013',    '5/14/2013',    6,  1312),
(12014, '5/17/2013',    '5/17/2013',    0,  1300),
(12014, '5/20/2013',    '5/20/2013',    1,  1300),
(10178, '6/6/2013',      '6/6/2013',    0,  1300),
(10178, '6/10/2013',    '6/10/2013',    1,  1300),
(10178, '6/1/2013',      '6/1/2013',    1,  1318),
(12014, '6/7/2013',      '6/7/2013',    0,  1300),
(12014, '6/17/2013',    '6/17/2013',    1,  1300),
(12014, '6/19/2013',    '6/19/2013',    4,  1308),
(12014, '6/29/2013',    '6/29/2013',    1,  1318),
(12014, '6/29/2013',    '6/29/2013',    8,  1308),
(10178, '7/10/2013',    '7/10/2013',    0,  1300),
(12014, '7/11/2013',    '7/11/2013',    0,  1300),
(12014, '7/3/2013',      '7/3/2013',    4,  1308),
(12014, '7/13/2013',    '7/13/2013',    1,  1318),
(10178, '7/24/2013',    '7/24/2013',    1,  1300)

B2H_RATE テーブル

CREATE TABLE B2H_RATE (
  RATE_CODE  int,
  WAIVER_SERVICES date,
  RATE_AMOUNT    date,
  BILLABLE_UNIT  int
);

(1300,  1,  2040,   1),
(1301,  1,  2038,   1),
(1302,  1,  1020,   2),
(1303,  1,  1020,   2),
(1304,  1,  2040,   1),
(1305,  1,  2040,   1),
(1306,  2,  13.23,  5),
(1307,  2,  8.6,    5),,
(1308,  3,  13.23,  5),
(1309,  3,  8.6,    5),
(1310,  4,  77, 4),
(1311,  4,  40.85,  4),
(1312,  5,  19.45,  5),
(1313,  5,  12.64,  5),
(1314,  6,  55.68,  4),
(1315,  6,  30.19,  4),
(1316,  7,  70, 4),
(1317,  8,  13.23,  6),
(1318,  8,  236.7,  3),
(1319,  9,  19.55,  5),
(1320,  9,  12.7,   5),
(1321,  10, 19.55,  5),
(1322,  11, 19.55,  5),
(1323,  12, 17.59,  6),
(1324,  12, 304.5,  3),
(1327,  1,  2040,   1),
(1328,  1,  2038,   1),
(1329,  1,  1020,   2),
(1330,  1,  1020,   2)
(1331,  1,  2040,   1),
(1332,  1,  2040,   1),
(1333,  2,  13.23,  5),
(1334,  2,  8.6,    5),
(1335,  3,  13.23,  5),
(1336,  3,  8.6,    5),
(1337,  4,  77, 4),
(1338,  4,  40.85,  4),
(1339,  5,  19.45,  5),
(1340,  5,  12.64,  5),
(1341,  6,  55.68,  4)
(1342,  6,  30.19,  4),
(1343,  7,  70, 4),
(1344,  8,  13.23,  6),
(1345,  8,  236.7,  3),
(1346,  9,  19.55,  5),
(1347,  9,  12.7,   5),
(1348,  10, 19.55,  5),
(1349,  11, 19.55,  5),
(1350,  12, 17.59,  6),
(1351,  12, 304.5,  3),
(1354,  1,  2040,   1),
(1355,  1,  2038,   1),
(1356,  1,  1020,   2),
(1357,  1,  1020,   2),
(1358,  1,  2040,   1),
(1359,  1,  2040,   1),
(1360,  2,  13.23,  5),
(1361,  2,  8.6,    5),
(1362,  3,  13.23,  5),
(1363,  3,  8.6,    5),
(1364,  4,  77, 4),
(1365,  4,  40.85,  4),
(1366,  5,  19.45,  5),
(1367,  5,  12.64,  5),
(1368,  6,  55.68,  4),
(1369,  6,  30.19,  4),
(1370,  7,  70, 4),
(1371,  8,  17.3,   6),
(1372,  8,  309.42, 3),
(1373,  9,  19.55,  5),
(1374,  9,  12.7,   5),
(1375,  10, 19.55,  5),
(1376,  11, 19.55,  5),
(1377,  12, 23.94,  6),
(1378,  12, 414.48, 3)

これは私がこれまでに持っているものです。試してみましたが、上記の出力を取得する方法がわかりません。

予算

SELECT 
  ChildID,
  WAIVER_SERVICES,
  START_DT,
  END_DT,
  RATE_PER_UNIT_OF_SERVICE,
  PROJECTED_COST_PER_MONTH
FROM [ECMS_BACKUP].[dbo].[B2H_DSP]
where WAIVER_PROGRAM=2

予算は年に 1 回更新できるため、Start_Dt と End_dt は常に 1 年です。これにより、予算額を月ごとに分類するのが難しくなります。

提供するサービス

select 
  a.CLT_NBR,
  b.WAIVER_SERVICES,
  month(a.DOSStart) as Month, 
  YEAR(a.DOSStart) as Year,
  sum(b.RATE_AMOUNT)as total
from 
    [ECMS_BACKUP].[dbo].[B2H_SummaryForms]a
left JOIN ECMS_BACKUP.dbo.B2H_RATE b ON a.RateCode=b.RATE_CODE
where DOSStart>='2013-01-01' AND DOSStart<'2013-06-30' /*I selected a 6th month time frame for   services provided */
group by ChildID, month(a.DOSStart), YEAR(a.DOSStart),WAIVER_SERVICES
order by childid,  month(a.DOSStart), YEAR(a.DOSStart),WAIVER_SERVICES
4

0 に答える 0