# mes.fnGetOEEMetrics

## Description
Returns calculated OEE metrics from raw counts and durations.

## Syntax
  <b>mes.fnGetOEEMetrics(@assetId, @startDate, @endDate, @durationSecs, @runtimeSecs, @unplannedDowntimeSecs, @plannedDowntimeSecs, @infeedCount, @outfeedCount, @wasteCount, @packageCount, @standardRate, @period)</b>  
  <br /><br />
  <b>Parameters:</b><br />
  <li>@assetId (int): Asset Id</li>
  <li>@startDate (datetime): Start of the time range</li>
  <li>@endDate (datetime): End of the time range</li>
  <li>@durationSecs (int): Total duration in seconds</li>
  <li>@runtimeSecs (int): Runtime seconds</li>
  <li>@unplannedDowntimeSecs (int): Unplanned downtime seconds</li>
  <li>@plannedDowntimeSecs (int): Planned downtime seconds</li>
  <li>@infeedCount (float): Infeed count</li>
  <li>@outfeedCount (float): Outfeed count</li>
  <li>@wasteCount (float): Waste count</li>
  <li>@packageCount (float): Packaging factor</li>
  <li>@standardRate (float): Standard rate</li>
  <li>@period (varchar(50)): Period ('Hour' or 'Minute')</li>
  <br />
  <b>Returns:</b><br />
  Returns a table. Columns include OEE metrics like availability, performance, quality, and infeed rate.

### Code Example
```sql
-- Get calculated OEE metrics for asset and input parameters
SELECT *
FROM mes.fnGetOEEMetrics(
  2076,                        -- assetId
  '2025-07-01T00:00:00',       -- startDate
  '2025-07-30T23:59:59',       -- endDate
  86400,                       -- durationSecs
  72000,                       -- runtimeSecs
  7200,                        -- unplannedDowntimeSecs
  1800,                        -- plannedDowntimeSecs
  10000,                       -- infeedCount
  9800,                        -- outfeedCount
  200,                         -- wasteCount
  1,                           -- packageCount
  15,                          -- standardRate
  'Hour'                       -- period
);
