しばらく山とランは遠のいています

仕事、そしてコロナの関係でしばらく山やランからは遠ざかっています。来年の春から復帰できるようそろそろ運動再開していきたいと思います。ちなみに今、BIツールのPower BIが半分趣味になって、完全な運動不足になっています。20201020

2020年8月3日月曜日

【Power BI】グルーピング SUMMARIZECOLUMNSが強力

Power BIを扱っていてグルーピングを行うことがよくあります。

Power Queryでグルーピングする場合は、Table.Groupを使いますが、この関数は集計するときにList形式やTable形式を使えるのが強い味方です。ほぼどんなことでもできますが、結構処理時間がかかるのが難点。
Table.Group(table as table, key as any, aggregatedColumns as list, optional groupKind as nullable number, optional comparer as nullable function) as table
https://docs.microsoft.com/ja-jp/powerquery-m/table-group

最近DAXでグルーピングをすることが多いです。
DAXでは、グルーピングにGROUPBYを使っていました。この関数の機能の少なさにほとんど使えないなあと思っていました。でも最近他に二つあることを知りました。全部で3つあるんですね。

1)GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>]… )
2)SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
3)SUMMARIZECOLUMNS( <groupBy_columnName> [, < groupBy_columnName >]…, [<filterTable>]…[, <name>, <expression>]…)
https://docs.microsoft.com/ja-jp/dax/summarizecolumns-function-dax

DAXでのグルーピングはSUMMARIZECOLUMNSが強力で、万能ですね。これすっかり気に入ってしまいました。メモリにさえ余裕があったらPowerQueryより圧倒的に処理速度の速いDAXのSUMMARIZECOLUMNSを使うのがいいです。
DAXで処理するので、グルーピングの単位やパラメータを変えることができます。


0 件のコメント: