Skip to main content

Scenario

 

DeployLogic, a SaaS provider offering modular implementation and onboarding services, often sells tailored solution packages to enterprise clients. These packages include multiple components like:

  • Integration Setup
  • Data Migration
  • Training Programs
  • Custom Feature Development

Each of these services has its own start and end date, depending on resource availability, client readiness, and deployment sequencing.

 

The Requirements

When a DealHub proposal includes multiple services within a repeatable table, the client success team wants to:

  • Display a single, accurate project timeline summarizing all selected services.
  • Show the earliest start date and latest end date for the entire engagement.
  • Avoid manual errors or the need for reps to calculate summary dates outside the system.

This summary data is crucial for the prospect and for setting expectations internally for resource planning.

Overview:

Using the method in the document, DeployLogic configures DealHub to automatically surface:

  1. The First Start Date
  2. The Last End Date
  3. The total Duration in Months

This is done by dynamically calculating date differences within the repeatable table and summarizing them outside the table using DealHub’s formula functions.

 

Solution

 

WITHIN the Repeatable Table 

  • First create a Control date:
    • Create a date question type within the repeatable table for a control date, can be a hard set date or “parameter date” such as Proposal Date as long as neither start date or end date is sooner.

 

  • Calculate the number of days between that control date and the start date within the repeatable table
    • Create a calculated question type within the repeatable table and and use DAYS_DIFF 
      • DAYS_DIFF(;option.Control_date],ooption.startdate]) - 1

 

  • Calculate the number of days between that control date and the end date within the repeatable table
    • Create a calculated question type within the repeatable table and and use DAYS_DIFF 
      • DAYS_DIFF(0option.Control_date],.option.enddate]) - 1

AD_4nXdASIHLWrnYz9_3yBALmXRQh-1JWfbKT3NKgiG8y05mG5LOIeETNjmVc5c6LPwKd9JqoMc7w1fX2oxl-X2ogXRfhuteDV4G6mOeRAQ_rINOeocjIvgvhsDXvd7u11dE2M_K_PgwR1WfefODJpqmzTA?key=bUImThJLMVfR383QjmnAuQ

 

OUTSIDE the Repeatable Table

  • Pull out of the repeatable table the smallest number of days between the Control date and Start date
    • Create a calculated question type outside of the repeatable table and and use MIN_IN_GROUP function 
      • MIN_IN_GROUP(0general.diff_in_start_dates])

 

  • Pull out of the repeatable table the largest number of days between the Control date and End date
    • Create a calculated question type outside of the repeatable table and and use MAX_IN_GROUP function 
      • MAX_IN_GROUP(0general.diff_in_end_dates])

 

  • Calculate the First/Earliest Start Date 
    • Create a date question type (formula) outside of the repeatable table and and use the ADD_DAYS function to add the lowest number of days found to the control date
      • ADD_DAYS(roption.Control_date],oGeneral.min_days])

 

  • Calculate the Last/Latest End Date
    • Create a date question type (formula) outside of the repeatable table and and use the ADD_DAYS function to add the largest number of days found to the control date
      • ADD_DAYS(ooption.Control_date],[General.max_days])

 

  • Lastly, calculate Duration from your new Start Date and End Dates (in this case in months)
    • Create a calculated answer question type outside of the repeatable table and and use the MONTHS_DIFF
      • MONTHS_DIFF(:General.earliest_start_date],lGeneral.latest_end_date])

AD_4nXcuo65h8rlM5OeZTezzFlkuTKGckBLFr8sJpdk2ZsBcJ9bIzfbf0jy0ArU8vhazLh2ROdOf1aRFE7A61v5ZbEtgwB9aavyDSVXgxjeXdMosb8u3DKgIQ2YUb9kdJV9mlDk8rGP4YHqlMXQ96CUysg?key=bUImThJLMVfR383QjmnAuQ


 

Result

All three questions;  First Start Date, Last End Date and Duration will all auto populate from the data within the multiple option data in the repeatable table.

 

AD_4nXeZaMZuYee0lRVVksktzVqiePgiGM65cMU4Jp08Zh4j9o8M0u-lrgtjB6AGQW4zjXtZCx-Sa9NaTA5oDdM3J8D_fPwkTdH9guetO_qg7giKwz-Q2U7ZwyMTQ4Wzf6fegkK0vH0AjuA17Mg5yAznXA?key=bUImThJLMVfR383QjmnAuQ

 

Be the first to reply!

Reply