Convert numerical response to piped time variable and operate on it | XM Community
Skip to main content
Question

Convert numerical response to piped time variable and operate on it

  • November 25, 2019
  • 1 reply
  • 33 views

Hi everyone, I am carrying a survey that asks respondents for a certain time, and then get responses based on that time. How can I do this? My intuition is that I could do that by converting numerical variables into a "date" kind of variable, but I'm not sure how to do this. Let's assume, as an example, the following two questions: Q1: At what time do you have to be at work? [Hypothetical response: 11:50 AM] (I am planning on using a Drill Down question for this) Q2: Would you take the following trip? Leave: Q1_time + delay - traveltime Arrive: Q1_time + delay Cost: $5 (Assume Q1_time, delay and traveltime are predefined variables.) Displayed text: Leave: 11:43 AM Arrive: 12:05 PM Cost: $5 I cannot simply use $e{MINUTES + 15} because that would return 11:65 AM. I know it is possible to operate on "date" variables (see "Piping Date / Time" here), but I'm not sure how I can convert my numerical variables to a certain time. Thanks!

1 reply

Akdashboard
Level 4 ●●●●
Forum|alt.badge.img+6
  • Level 4 ●●●●
  • 488 replies
  • November 25, 2019
You need separate math operations (branching logic) if MINUTES is equal to or greater than 60. In which case HOURS + 1 and MINUTES - 60, combine in time format. Example o 11:65 11 + 1 (12) | 65-60 (5), 12:05 Note, you will need additional branching logic so that you pipe "05" and not just "5" (12:5). Example: If MINUTES is less than 10, create embedded data zero=0. Then your MINUTES statement looks like $e{field://zero}$e{MINUTES logic from earlier}. This way you always get 01,02,03, etc. until 10, where "zero" doesn't get created, so the "zero" variable won't show up.