No unfortunately this macro was meant to simplify the creation and population of them.
It's all good though don't try too hard. I solved it with 4 different macros as there was some commonality with some of the groupings.
I did a very similar method to your examples. Great minds think alike. Two examples below.
MacroSimple(fieldName,bitField)
eval bankA_$fieldName$=if(floor($bitField$)%2>0,1,0)
| eval bankB_$fieldName$=if(floor($bitField$/2)%2>0,1,0)
| eval bankC_$fieldName$=if(floor($bitField$/4)%2>0,1,0)
| eval bankD_$fieldName$=if(floor($bitField$/8)%2>0,1,0)
| eval bankE_$fieldName$=if(floor($bitField$/16)%2>0,1,0)
| eval bankF_$fieldName$=if(floor($bitField$/32)%2>0,1,0)
The most complicated one which actually spanned 3 integers and instead of making many fields populated a single field with a multivalue set of results based on which bit was set.
bitFieldGensetDecoding(fieldName,bitFieldA,bitFieldB,bitFieldC)
eval gen$fieldName$=if(floor($bitFieldA$)%2>0,"Gen01$fieldName$","")
| eval gen$fieldName$=if(floor($bitFieldA$/2)%2>0,mvappend(gen$fieldName$,"Gen02$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/4)%2>0,mvappend(gen$fieldName$,"Gen03$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/8)%2>0,mvappend(gen$fieldName$,"Gen04$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/16)%2>0,mvappend(gen$fieldName$,"Gen05$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/32)%2>0,mvappend(gen$fieldName$,"Gen06$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/64)%2>0,mvappend(gen$fieldName$,"Gen07$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/128)%2>0,mvappend(gen$fieldName$,"Gen08$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/256)%2>0,mvappend(gen$fieldName$,"Gen09$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/512)%2>0,mvappend(gen$fieldName$,"Gen10$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/1024)%2>0,mvappend(gen$fieldName$,"Gen11$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/2048)%2>0,mvappend(gen$fieldName$,"Gen12$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/4096)%2>0,mvappend(gen$fieldName$,"Gen13$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/8192)%2>0,mvappend(gen$fieldName$,"Gen14$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/16384)%2>0,mvappend(gen$fieldName$,"Gen15$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldA$/32768)%2>0,mvappend(gen$fieldName$,"Gen16$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$)%2>0,mvappend(gen$fieldName$,"Gen17$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/2)%2>0,mvappend(gen$fieldName$,"Gen18$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/4)%2>0,mvappend(gen$fieldName$,"Gen19$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/8)%2>0,mvappend(gen$fieldName$,"Gen20$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/16)%2>0,mvappend(gen$fieldName$,"Gen21$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/32)%2>0,mvappend(gen$fieldName$,"Gen22$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/64)%2>0,mvappend(gen$fieldName$,"Gen23$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/128)%2>0,mvappend(gen$fieldName$,"Gen24$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/256)%2>0,mvappend(gen$fieldName$,"Gen25$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/512)%2>0,mvappend(gen$fieldName$,"Gen26$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/1024)%2>0,mvappend(gen$fieldName$,"Gen27$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/2048)%2>0,mvappend(gen$fieldName$,"Gen28$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/4096)%2>0,mvappend(gen$fieldName$,"Gen29$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/8192)%2>0,mvappend(gen$fieldName$,"Gen30$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/16384)%2>0,mvappend(gen$fieldName$,"Gen31$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldB$/32768)%2>0,mvappend(gen$fieldName$,"Gen32$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldC$)%2>0,mvappend(gen$fieldName$,"Gen33$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldC$/2)%2>0,mvappend(gen$fieldName$,"Gen34$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldC$/4)%2>0,mvappend(gen$fieldName$,"Gen35$fieldName$"),gen$fieldName$)
| eval gen$fieldName$=if(floor($bitFieldC$/8)%2>0,mvappend(gen$fieldName$,"Gen36$fieldName$"),gen$fieldName$)
Good times 🙂
... View more