In reply to vnaraghi:
Because SystemVerilog has arrays of arrays - not really multi-dimensional arrays. All the unpacked array methods work on one dimension at a time.
You could create an array with one dimension of 12 elements; shuffle that array; and then fill my_array with that.