Field Data Gathering

Straight Line Interpolation for a daily reading

Lease Operators wanted to have a the capability which could automatically interpolate and fill readings across multiple dates. We listened to their concerns and built the capability where, the Admin could setup a reading attribute to be filled in through interpolation, without having to fill in each of the missing readings in the days prior. This greatly reduces the LOs effort in having to manually interpolate and change readings for the previous days.

Interpolation setting for an attribute

Move readings across objects and change reading-dates for readings

Production Accountants needed a capability to move infrequent readings from one object to other when they are wrongly entered by the LO. We developed the capability for the admins to easily move an infrequent or as-required reading across reading-dates or across objects if they deem this to have been wrongly entered by the LO, from the field. This helps the Production Accountants save significant time while trying to move readings.


Energy Allocations along with Volume allocations for Gas dispositions

Production Accountants needed a way to allocated energies along with volumes for both monthly and daily allocations. We listened to this requirement of theirs and built the capability where a PA can configure the allocations for networks in such a way that every time Disposition volumes are allocated, their corresponding energies can also be allocated back to the wells. This helps the PAs complete significant portions of the Revenue Accounting alongside Production Accounting.

Configurable accounting month start date

Production Accountants needed the capability to configure the start-date for an accounting month, different from the 1st of a month. We listened to this concern of theirs and developed the capability where the production allocation module can be configured to use any date in the month as the start date for an accounting month. This helps the PAs align their monthly allocations, purchaser statements and revenue accounts to the accounting dates and not the reading dates.


NDAYAVERAGE() – with capability to include Start day and End day

To create a calculated measure that gives an average of N days starting from any day based on the inputs given on the function.

Analytics users always mentioned the need of more flexible NdayAverage(). Earlier NdayAverage function can be created only by providing the ‘End day’ and Start day was always considered as Yesterday.
Now we allow users to decide on both Start day and End day and Ndayaverage calculated measure can be created for any no of days starting from any day

Syntax: N_AVG(, , ) Where Start day and End day accepts numeric values like 0,1,2 etc

0 -Today, 1- Yesterday, 2- Day before Yesterday and so on.


Get 7 days average starting from last day :

N_AVG( $(vfact_dailyallocationvolumeresults.vfact_dailyallocationvolumeresults_oil_production) ,7,1)

Get 7 days average starting from today :

N_AVG( $(vfact_dailyallocationvolumeresults.vfact_dailyallocationvolumeresults_oil_production) ,6,0)

Get Previous Week’s average:

N_AVG( $(vfact_dailyallocationvolumeresults.vfact_dailyallocationvolumeresults_oil_production) ,13,7)


Nday Average gives expected result when date is present in the grid or chart.

NDay Average measures cannot be grouped with other function/calculation measures. Measure group should only contain Nday average measures.

NDayAverage() with End Day and Start Day parameters

Effective date based reporting on core attributes

Production accountants wanted a way to create reports in analytics which can render data based on Effective dates added from source on master data attributes. In response, Analytics offers a new Dimension “Vdim_Effective_Attributes“ which contains all master data attributes where effective date is enabled from source. Production accountants can use attributes from this new dimension instead of Vdim_property attributes for effective date-based reporting.

Effective date enabled attributes:

Currently Effective Dates are enabled only on Core attributes ( Attributes that are available while tenant provisioning)

  1. Producing Method
  2. Producing Status
  3. Product Type
  4. Product Sub Type
  5. Tank Type
  6. Well Type
  7. Equipment Type
  8. Meter Type
  9. Is Active


We have taken certain assumption in building this feature which are being listed down here

  1. FDG has 1990-01-01 as the beginning date for all effective dates. Since we store data for every date in Analytics, the longer the time duration, the more the data to be queried. So, we are starting populating data from 2010-01-01
  2. Effective End Date is open ended value. But on Analytics, we materialize data, and we must assume an end date. We have assumed 2-year timeframe for which we will populate data for future. Every time, a change happens on effective dates of any asset on that well, Data gets refreshed for next 2 years

Effective date enabled attributes

Edit capability on Agent Info/Additional inputs details on Regulatory Reports

Earlier we did not have a capability to update the Agent details or Additional Inputs while downloading the regulatory reports. From our users we identified that these details may change frequently and so they need to update them with latest details and download the report. With this we provided edit and save capability in these fields of each regulatory report wherever applicable.

Before downloading the report, user can edit and save additional inputs and download the report. Updated information will be saved in the tenant and can be used in next download too.

‘Save Additional Inputs’ to update the agent info and other details before downloading the report.

Automated Pump by Exception

Addition of AllValues() function for building the expression

Operations Admins needed the capability to fetch the the attribute’s value over a range of dates. We listened to their concerns and developed the capability where the values of a particular attribute is fetched by the function for a range of dates which can be compared with a constant, an expression, a picklist and so on in exception condition. This helps in building complex exception conditions quite easily.

Value of Downtime for the last 5 days being compared with 0

Addition of Yesterday() function for building the expression

Operations Admins needed the capability to fetch the the attribute’s value from the yesterday’s reading. We listened to their concerns and developed the capability where Yesterday’s value is fetched by the function which can be used in exception condition. This helps in building complex exception conditions quite easily.

Yesterday’s value of Tubing Pressure compared with Previous Day’s Tubing Pressure

Capability to choose timezone of choice for functions at an alert config level

Operations Admins faced a problem when the assets were is different time zone other than PST since the functions in Alert Configuration used PST date and Time. We listened to their concerns and developed the capability where the admin can decide the timezone of choice for functions to match it with the readings’ timezone for the assets. This helps in easily managing the alerts for fields in different timezones.

Timezone dropdown in Alert Configuration

DataInputMethodID and AuthorityLevelID are now available as a picklist in Variables Section

Operations Admins needed a capability where DataInputMethodID and AuthorityLevelID are available as a picklist. We listened to their concerns and converted these integer attributes to picklist in the variables sections to be used in exception condition. This helps in saving the hassle to remember the IDs for different options which in turn helps in building complicated exception conditions easily.