Challenge #154: Permute the Data
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Last week's solution can be found here.
This week's solution is working to permute some data! This challenge is derived from an question asked by @iellingsonbg, and was solved by the illustrious @MarqueeCrew. @MarqueeCrew then messaged us letting us know a great challenge was available that we should tackle! If you ever have a great challenge of your own or see another problem around the Community worth tackling, let us know!
As for the challenge itself, we are presented the options (tools). What we would like to do is determine all the combinations these tools can exist in an 'on/off' state. For three options we can see the following combinations. Note that the end result data is not formatted this way, but simple formatted here for ease of understanding.
Browse | Input | Output |
Off | Off | Off |
Off | Off | On |
Off | On | Off |
Off | On | On |
On | Off | Off |
On | Off | On |
On | On | Off |
On | On | On |
If you want to take a more difficult route, try to setup your workflow where it would be dynamic to handle more than three tool options and more toggle options than on/off!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Illustrious is very kind of you. I'll defer posting a solution until the real challenge guru's come up with some interesting alternatives.
Cheers,
Mark
Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I had a little bit of a headstart as I tried to solve @iellingsonbg's original problem. Thanks @MarqueeCrew for putting this as a weekly challenge!
Browse | Input | Output |
0 | 0 | 0 |
0 | 0 | 1 |
0 | 1 | 0 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 0 | 1 |
1 | 1 | 0 |
1 | 1 | 1 |
So there's 8 rows of data since 2 toggles (ON/OFF) to the power of 3 items (Browse/Input/Output) = 8. Then I realized that if I combined all the columns into 1 column, this is basically counting up in binary (base 2) with extra zeros padded to the left. Row 1 = 000(binary)= 0(decimal), Row 2 = 001(binary)=1(decimal), Row 3 =010(binary)=2(decimal). So now my table looks like this:
Browse | Input | Output | Binary | Decimal |
0 | 0 | 0 | 000 | 0 |
0 | 0 | 1 | 001 | 1 |
0 | 1 | 0 | 010 | 2 |
0 | 1 | 1 | 011 | 3 |
1 | 0 | 0 | 100 | 4 |
1 | 0 | 1 | 101 | 5 |
1 | 1 | 0 | 110 | 6 |
1 | 1 | 1 | 111 | 7 |
So to solve the problem, I generated my 8 rows of data with a simple recordID. Then I converted the recordID from Decimal to Binary. I created an iterative macro to do the conversion.
Note that my macro will scale to any number of tools and toggles. You basically just need to convert the recordID from Decimal (base 10) to base x (where x= number of toggles) which is what it's doing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
How horizontal of you! Have you switched axis? I haven't noticed before.
Cheers,
Mark
Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
@MarqueeCrew I've finally given in on the weekly challenges. In my younger days I would change the weekly challenge to vertical before starting. I get along with @JoeM on most things but canvas layout direction is one we don't agree on. #Vertical.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
@patrick_digan next I'll be seeing you sitting next to me on an airplane!
Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
High School Math to the Rescue!
Thanks for the challenge @MarqueeCrew
Edit: @patrick_digan IntToBin() does most of the heavy lifting. But then again you have the Base-N macro that I still have to work on! DOH!

Dan