元々、Tableau prepを使っていて、最近prepのUpdateをしたので、古いバージョンで作成したフローを、新しいバージョンのprepで実行したいとします。その時出来上がったHyperの中身が、全く同じかどうかを確認したいとします。カラム数は数百あるとします。
この確認について私は、Tableauでは思い当たらないが、それ以外の方法ならいくつかありそうなので、挙げてみます。基本は、SQLでいうところのUNION ALLして、DISTINCTしたときにレコード数が、元のデータ1つ分になれば良さそうである。カラムが少なければ、すべてのカラムをキーにしてJOINする系の方針でもいいかもしれません。
CSVにして、Linuxまたはmacで確認する場合
cat file1.csv file2.csv | wc -l cat file1.csv file2.csv | sort | uniq | wc -l
この出力が同じになれば良さそうです。Windowsの場合、PowerShellでGet-Uniqueというコマンドがあるようなので、同様のことができるかもしれない。これだけのために、VBAマクロを書いたりはしたくないです…。
同じことをRだと
dplyr::union_all(df1, df2) %>% nrow() dplyr::union_all(df1, df2) %>% distinct() %>% nrow()
こうでしょうか。dplyrのdistinct関数は公式ドキュメントによれば、’If omitted, will use all variables.’とのことです。Pythonでもできると思います。
Tableauでやる、美しい方法を知っている人は是非教えて欲しいです。