Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Hello All:
I have a dataset with 3 values each for each array index number ( 0-20 ). Would like to join all three records into one rowset by "_time" then by "index number" ( example: _field._embedded_state.0..20 ). Any help is greatly appreciated.
Thanks
Jeff
_time _value _field
|
Solved! Go to Solution.
Here is one possible implementation
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("1VhdT+M6EP0rFs+p67FjO/Hb8vUCu6ygq31AVRUaL+RumlRtCnfvr7/jVLBQ7KbpskgIqU1LzvE5k/HMuNfXB8CHyZAzDgRiw8RBdADA4vZiYmc3Ns9tTifLJmssBTqtc3swjnrC+J64eE+c2hOX7IcTXTDuhXWuxlOvSrYdBxK8y3UEBSSXPpjuhCU+WMejQ5jXXKe3QEw6MjOI63h0QZzcE9cdTT8u3Q/XsfFCsM7VBPfBtgbFfRgAHzAgI8LBADfcy8JogxezeRcPRx4GRmjDwF+s+vEkRnr3De/Jkwb0iH48sQjEJ+7Dww1gfLw7VPbkSQ0of13pxSOQyqtH9+HRGBwTe+OT9ORRRjD/JujFE4fiDL0SWhuJOeRvT7tmtHBEsVPE40A/7kUklWF+ol1z2hGBRBbcZoFO349IYz4GCnMPIkxpZqS37cGuaf1IJI3wE+2a19oRgZHMBHrAron9SCQN+AtjR2Yf2mxG7rIlmdX3Nif1gkyzsrhZZE1RV2R6l1W3SDaq69KQq7OrUbb8achocnlxGKhXuV1OA2td2WY1J9N6Ni9tY8mPemG8xF/sA3moFz9JffOPnTaGXF9LlVKmI1BKU64irRiNNa7CqIaI4d8Ar8ZjhxwdfXWIlFMmI0ZTiESqKYvbu1OOXzGEUJE6DJPj8efs34h8tllFju190Ro3BP/FovbVX7622HxmBYaXMDm9uDyenH35dnR2fjK5+ApMTj59Px5+Z8Amp9Bef1pMz4cAMb6T4rYq2uAvV3O7uC+W7TV+m5WkqhuytA3J8K3JFg2pf5AHW+ZFdUsDW+2DCE12FMqHlzwslKUbQtM3F/pRdPIPIlT8BZ0nVT4Eoa5cbauymTXk2R2T0/NzOipmWIAW9azVtlaKm94wfzDZm4hUr0Wm8s0fvHoTrRo2tXIAp9Uj8cFWDSnrB5KvFijrSd6L+D8RBmMPOM35Z7xthu6sq/iumRDXTCLXTKK2o91YW5HVPEeOnNz8Iocn39oP7jb6vPY96xqJwr4SDVCKxLaRUi3XbUO4JkOFbrvHeHzU9kXXJUDLWIiTMpsvcRVnzRBIBJVJ6Gz3vmZSZyZNWjOJ6jATcxa/tCI11cp7EsDh612drI2ItRHdZQRAgNywghyJdyDdvrv/3Al/MZZEQBlvZ5IYgjPJbyucK55sJJhSlLPQbyPv6WU9YiXrEUuER6zfdgQo5nETe4fXv71ZNsyAM6N3fzRCSgb6lZmY+TfM9k735m44PLnhYgc3kCQqla/cCBn6cesd3UiaRAOMrNv+iiZ8w0686SbBUibTjVrmjg5p4JezDi+Nx0Phejaelf7DBYqKNHjb4aoslye/LEFDGR50yhKPL9goadexaXvPfimgWD7NBKt5J/NjlR7/Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [_time = _t, _value = _t, _field = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "_field", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"_field.1", "_field.2", "_field.3", "_field.4"}),
#"Removed Other Columns" = Table.SelectColumns(#"Split Column by Delimiter",{"_time", "_value", "_field.3", "_field.4"}),
#"Grouped Rows" = Table.Group(#"Removed Other Columns", {"_field.3"}, {{"Group", each _, type table [_time=nullable text, _value=nullable text, _field.3=nullable text, _field.4=nullable text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Pivot", each Table.Pivot([Group], List.Distinct([Group][_field.4]), "_field.4", "_value")),
#"Expanded Pivot" = Table.ExpandTableColumn(#"Added Custom", "Pivot", {"_time", "code", "tstamp", "desc"}, {"_time", "code", "tstamp", "desc"}),
#"Removed Other Columns1" = Table.SelectColumns(#"Expanded Pivot",{"_field.3", "_time", "code", "tstamp", "desc"})
in
#"Removed Other Columns1"
Thank you very much for the link. Looks like a great resource. I will get studying straight away. Also thank you again for the query help.
Best Regards
Jeff
Thank you very much for the feedback. My M code skills are not yet very strong. I also find the documentation and examples to be very brief. Have you any recommendations for M code learning? Thank you again for your feedback. I will give it a try.
Best Regards
Jeff
My recommendation for learning M would be to internalize Ben Gribaudo's primer.
In my opinion that is all you will ever need.
Here is one possible implementation
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("1VhdT+M6EP0rFs+p67FjO/Hb8vUCu6ygq31AVRUaL+RumlRtCnfvr7/jVLBQ7KbpskgIqU1LzvE5k/HMuNfXB8CHyZAzDgRiw8RBdADA4vZiYmc3Ns9tTifLJmssBTqtc3swjnrC+J64eE+c2hOX7IcTXTDuhXWuxlOvSrYdBxK8y3UEBSSXPpjuhCU+WMejQ5jXXKe3QEw6MjOI63h0QZzcE9cdTT8u3Q/XsfFCsM7VBPfBtgbFfRgAHzAgI8LBADfcy8JogxezeRcPRx4GRmjDwF+s+vEkRnr3De/Jkwb0iH48sQjEJ+7Dww1gfLw7VPbkSQ0of13pxSOQyqtH9+HRGBwTe+OT9ORRRjD/JujFE4fiDL0SWhuJOeRvT7tmtHBEsVPE40A/7kUklWF+ol1z2hGBRBbcZoFO349IYz4GCnMPIkxpZqS37cGuaf1IJI3wE+2a19oRgZHMBHrAron9SCQN+AtjR2Yf2mxG7rIlmdX3Nif1gkyzsrhZZE1RV2R6l1W3SDaq69KQq7OrUbb8achocnlxGKhXuV1OA2td2WY1J9N6Ni9tY8mPemG8xF/sA3moFz9JffOPnTaGXF9LlVKmI1BKU64irRiNNa7CqIaI4d8Ar8ZjhxwdfXWIlFMmI0ZTiESqKYvbu1OOXzGEUJE6DJPj8efs34h8tllFju190Ro3BP/FovbVX7622HxmBYaXMDm9uDyenH35dnR2fjK5+ApMTj59Px5+Z8Amp9Bef1pMz4cAMb6T4rYq2uAvV3O7uC+W7TV+m5WkqhuytA3J8K3JFg2pf5AHW+ZFdUsDW+2DCE12FMqHlzwslKUbQtM3F/pRdPIPIlT8BZ0nVT4Eoa5cbauymTXk2R2T0/NzOipmWIAW9azVtlaKm94wfzDZm4hUr0Wm8s0fvHoTrRo2tXIAp9Uj8cFWDSnrB5KvFijrSd6L+D8RBmMPOM35Z7xthu6sq/iumRDXTCLXTKK2o91YW5HVPEeOnNz8Iocn39oP7jb6vPY96xqJwr4SDVCKxLaRUi3XbUO4JkOFbrvHeHzU9kXXJUDLWIiTMpsvcRVnzRBIBJVJ6Gz3vmZSZyZNWjOJ6jATcxa/tCI11cp7EsDh612drI2ItRHdZQRAgNywghyJdyDdvrv/3Al/MZZEQBlvZ5IYgjPJbyucK55sJJhSlLPQbyPv6WU9YiXrEUuER6zfdgQo5nETe4fXv71ZNsyAM6N3fzRCSgb6lZmY+TfM9k735m44PLnhYgc3kCQqla/cCBn6cesd3UiaRAOMrNv+iiZ8w0686SbBUibTjVrmjg5p4JezDi+Nx0Phejaelf7DBYqKNHjb4aoslye/LEFDGR50yhKPL9goadexaXvPfimgWD7NBKt5J/NjlR7/Dw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [_time = _t, _value = _t, _field = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "_field", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"_field.1", "_field.2", "_field.3", "_field.4"}),
#"Removed Other Columns" = Table.SelectColumns(#"Split Column by Delimiter",{"_time", "_value", "_field.3", "_field.4"}),
#"Grouped Rows" = Table.Group(#"Removed Other Columns", {"_field.3"}, {{"Group", each _, type table [_time=nullable text, _value=nullable text, _field.3=nullable text, _field.4=nullable text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Pivot", each Table.Pivot([Group], List.Distinct([Group][_field.4]), "_field.4", "_value")),
#"Expanded Pivot" = Table.ExpandTableColumn(#"Added Custom", "Pivot", {"_time", "code", "tstamp", "desc"}, {"_time", "code", "tstamp", "desc"}),
#"Removed Other Columns1" = Table.SelectColumns(#"Expanded Pivot",{"_field.3", "_time", "code", "tstamp", "desc"})
in
#"Removed Other Columns1"
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.