There a DataFrames.jl function added in the past year called allcombinations. See here
allcombinations