Advertisement
Guest User

Untitled

a guest
Aug 30th, 2018
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.89 KB | None | 0 0
  1. SELECT        --be.id,
  2.                 cog.clientorganizationid,
  3.                 be.clientid,
  4.                 be.providerid,
  5.                 DATEPART(MONTH,be.timeworkedfrom) AS MonthWorked,
  6.                 DATEPART(YEAR,be.timeworkedfrom) AS YearWorked,
  7.                 --be.timeworkedto,
  8.                 SUM(DATEDIFF(MINUTE, be.timeworkedfrom,be.timeworkedto)) AS MinutesWorked,
  9.                 be.procedurecodestring,
  10.                 cc.fullname AS ClientName,
  11.                 cc2.fullname AS CSL,
  12.                 CASE
  13.                 WHEN MAX(metrics.Employees) >= 501 THEN 'CS: 500+ Enterprise'
  14.                 WHEN MAX(metrics.Employees) >= 251 THEN 'CS: 250-500'
  15.                 WHEN MAX(metrics.Employees) >= 51 THEN 'CS: 51-250'
  16.                 WHEN MAX(metrics.Employees) >= 16 THEN 'CS: 16-50'
  17.                 WHEN MAX(metrics.Employees) >= 2 THEN 'CS: 2-15'
  18.                 WHEN MAX(metrics.Employees) = 1 THEN 'Single User'
  19.                 ELSE 'N/A'
  20.                 END AS CustomerSegment,
  21.                 MAX(metrics.Employees) AS ActiveEmployees,
  22.                 labelData.Industry
  23.  
  24. FROM            billing_entries be
  25.  
  26. INNER JOIN       (
  27.                 SELECT        bcc.*
  28.                 FROM            billing_codes_custom bcc
  29.  
  30.                 LEFT JOIN       label_entities bcctv
  31.                 ON              bcctv.entityid = bcc.id
  32.  
  33.                 WHERE           bcc.providerid = 65277
  34.                                 AND bcctv.entityId = 7149
  35.                                 AND bcc.deleteddate IS NULL
  36.                                 AND bcctv.entity = 'servicecode'
  37.                 )a
  38. ON      a.Id = be.procedurecodeid
  39.  
  40. LEFT JOIN       contacts cc
  41. ON              cc.id = be.clientid
  42.  
  43. LEFT JOIN       contacts cc2
  44. ON              cc2.id = be.providerid
  45.  
  46. LEFT JOIN
  47.         (
  48.         SELECT  md.contactid,
  49.                 MAX(CASE WHEN md.fieldid = 38 THEN VALUE END) AS Seats
  50.         FROM    dbo.contact_meta md WITH(NOLOCK)
  51.         WHERE   md.fieldid IN (38)
  52.         GROUP BY
  53.                 md.contactid
  54.         ) metaData
  55. ON      be.clientid = metaData.contactid
  56.  
  57. LEFT JOIN       dbo.contacts_client_organization cog WITH(NOLOCK)
  58. ON              cog.clientid = be.clientid
  59.  
  60. LEFT JOIN       (
  61.         SELECT  mu.organizationid,
  62.                 DATEPART(MONTH, mu.dy) AS [MONTH],
  63.                 DATEPART(YEAR, mu.dy) AS [YEAR],
  64.                 MAX(CASE me.metrickey WHEN 'contacts-client_active_count_day_org' THEN mu.VALUE ELSE 0 END) AS Clients,
  65.                 MAX(CASE me.metrickey WHEN 'contacts-employee_active_count_day_org' THEN mu.VALUE ELSE 0 END) AS Employees,
  66.                 SUM(CASE me.metrickey WHEN 'contacts-forms_submission_client_count_day_org' THEN mu.VALUE ELSE 0 END) AS ContactFormsClient,
  67.                 SUM(CASE me.metrickey WHEN 'contacts-forms_submission_employee_count_day_org' THEN mu.VALUE ELSE 0 END) AS ContactFormsEmployee,
  68.                 MAX(CASE me.metrickey WHEN 'contacts-employee_login_percent_day_org' THEN mu.VALUE ELSE 0 END) AS PercentEmployeeLogin,
  69.                 MAX(CASE me.metrickey WHEN 'contacts-forms_active_count_day_org' THEN mu.VALUE ELSE 0 END) AS ContactForms,
  70.                 SUM(CASE me.metrickey WHEN 'claims-claim_created_count_day_org' THEN mu.VALUE ELSE 0 END) AS Claims,
  71.                 SUM(CASE me.metrickey WHEN 'claims-claim_sent_count_day_org' THEN mu.VALUE ELSE 0 END) AS ClaimsSent,
  72.                 SUM(CASE me.metrickey WHEN 'claims-claim_payment_count_day_org' THEN mu.VALUE ELSE 0 END) AS ClaimPayments,
  73.                 SUM(CASE me.metrickey WHEN 'scheduling-event_count_day_org' THEN mu.VALUE ELSE 0 END) AS Appointments
  74.  
  75.                 FROM    crarchive.dbo.module_utilization mu WITH(NOLOCK)
  76.         JOIN    (
  77.                 SELECT  me.id,
  78.                         me.channelid + '-' + me.metrickey AS MetricKey
  79.                 FROM    crarchive.dbo.module_metric me WITH(NOLOCK)
  80.                 ) AS me
  81.         ON      me.id = mu.metricid
  82.         WHERE   mu.dy >= '1/1/2017'
  83.                 --AND mu.dy <= <Parameters.enddate>
  84.                 AND me.metrickey IN
  85.                        (
  86.                         'contacts-client_active_count_day_org',
  87.                         'contacts-employee_active_count_day_org',
  88.                         'contacts-forms_submission_client_count_day_org',
  89.                         'contacts-forms_submission_employee_count_day_org',
  90.                         'contacts-employee_login_percent_day_org',
  91.                         'contacts-forms_active_count_day_org',
  92.                         'claims-claim_created_count_day_org',
  93.                         'claims-claim_sent_count_day_org',
  94.                         'claims-claim_payment_count_day_org',
  95.                         'scheduling-event_count_day_org'
  96.                         )
  97.         GROUP BY
  98.                mu.organizationid,
  99.                DATEPART(MONTH, mu.dy),
  100.                DATEPART(YEAR, mu.dy)
  101.                )metrics
  102. ON      metrics.organizationid  = cog.clientorganizationid
  103.         AND metrics.MONTH = DATEPART(MONTH,be.timeworkedfrom)
  104.         AND metrics.YEAR = DATEPART(YEAR,be.timeworkedfrom)
  105.  
  106. LEFT JOIN
  107.         (
  108.         SELECT  cl.ContactId,
  109.                 MAX(CASE WHEN clo.parentid = 993 THEN clo.name END) AS industry
  110.         FROM    dbo.label_entities cl WITH(NOLOCK)
  111.         JOIN    dbo.label_history clo WITH(NOEXPAND NOLOCK)
  112.         ON      clo.id = cl.labelid
  113.         WHERE   clo.parentid IN (993)
  114.         GROUP BY
  115.                 cl.id
  116.         ) labelData
  117. ON      be.clientid = labelData.id
  118.  
  119. WHERE           be.timeworkedfrom >= '1/1/2017'
  120.  
  121. GROUP BY        cog.clientorganizationid,
  122.                 be.clientid,
  123.                 be.providerid,
  124.                 DATEPART(YEAR,be.timeworkedfrom),
  125.                 DATEPART(MONTH,be.timeworkedfrom),
  126.                 be.procedurecodestring,
  127.                 cc.fullname,
  128.                 cc2.fullname,
  129.                 labelData.Industry
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement