エクセル2016でパワークエリやってみる備忘録18分からないところのメモ(DAXの使い分け・イテレータ関数・CALCULATE関数)

こちらは素人です。

エクセル2016でパワークエリ、ピボットテーブルを使います。
office2016スタンダードなので、パワーピボットタブ出ません。
(「開発」タブのCOMアドインにパワーピボットがない)


素人なので、分からないところのメモ
(本当にバカです)そのうちはっきり分かりたい項目

(この記事は本当のメモです。読む意味なし。)


DAXの使い分け(分かっていない)
単純な場合:
・RANKX関数で順位を出す時等に、スライサーを使う場合→ALLSELECTEDでOKらしい

 

・ビジュアルで「年」「年月」「年月日」などで集計を変える場合はif文使えるらしい

 

・スライサーで、集計の種類(全然別の)を変えたりしたい場合、switchでできるらしい

 

****************************
イテレータ関数について
「sumx」の使い方

①sumif的にも使える(条件を盛り込めば)
②数式の中で掛け算等もできる(列を追加せず*0.1)など

 

参考:なお、①と同じ使い方をCalclateでもできるみたい。
CALCULATE(SUM(TableName[時間]), TableName[氏名] = "山田")
SUMX(FILTER(TableName, TableName[氏名] = "山田"), TableName[時間])

 

********************
CALCULATE関数・・・DEVIDE(割合計算)とする場合など、ALL関数だとフィルターをかけたのに分母が変わらず、の場合に使用。
(フィルターかけた項目で割合を計算したいのに、分母が変わらないなど)

 

(下記はQiita @zaboom様が2019年10月15日に作成されたCalculateの使い方(PowerBI/PowerPivot/DAX)の数式)
(承認の取り方相変わらず不明。@zaboom様すみません。数式だけ貸して下さい。)

 

<フィルターに合わない計算>
売上割合 =
DIVIDE(
SUM(売上明細 [売上])、
SUMX(ALL(売上明細)、売上明細[売上])
 )

 

<フィルターに合う計算>
=DIVIDE(
 SUM('売上明細'[売上]),
CALCULATE(
 SUM('売上明細'[売上]),
ALL('商品'[商品カテゴリー])
 )
 )

 

DAXの本ないかな・・・。近所の本屋には無かった。