community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcement | Get certified today - take the Alteryx Designer Core and Advanced exams on-demand now!
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Weekly Challenge
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Unable to display your progress at this time. Please try again a little later, or contact an administrator if you continue to see this error.

Challenge #47: Vehicle Identification Number Test

Alteryx Certified Partner

Update: Here's a completely ridiculous (but functional) solution with the check digit calculation in one formula tool, just to illustrate that fewer tools is not always better.

 

Spoiler
Untitled.png

IF Mod(((ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),0,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),1,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),2,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),3,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),4,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),5,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),6,1))*2)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),7,1))*10)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),8,1))*0)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),9,1))*9)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),10,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),11,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),12,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),13,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),14,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),15,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),16,1))*2)), 11)=10 THEN 'X' ELSE Mod(((ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),0,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),1,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),2,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),3,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),4,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),5,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),6,1))*2)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),7,1))*10)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),8,1))*0)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),9,1))*9)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),10,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),11,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),12,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),13,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),14,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),15,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),16,1))*2)), 11) ENDIF
 

Fun Challenge.

Spoiler
Capture.PNG
Alteryx Certified Partner

Solution Attached

Alteryx Certified Partner

Enjoyed this one

Spoiler
Screen Shot 2017-10-29 at 23.18.19.png
Meteor

I just stumbled upon this because I had just built a VIN validation macro (attached)! It adds a boolean column indicating whether the VIN checks or not.

 

I used the same logic for the challenge solution. I disagree that you need to build lookup tables or do any joins :P

 

Spoiler
Lamm_20171121.PNG
Meteor

macro

Fireball

Fun Little Challenge!

Bolide
Bolide

Halfway thru setting it up I realized this would be easier with a macro.

Alteryx Certified Partner

This was very enjoyable. I love the real-world application problems. Solution attached.

 

Spoiler
challenge_47 - Snip.PNG
Asteroid

Solution attached.