【BI】PowerPivot 計算列で使用できる Excel の関数

※2010/5/26 BLOG環境の移行により消えてしまった記事を再投稿しました

こんにちは。PowerPivot 生活をエンジョイしていますか?

PowerPivot には「計算列」という独自の列を追加することができることはご存知の通りです。

例えば、読み込んだテーブルに「単価」と「受注数量」しかない場合には、新たな列「受注金額」に [単価]*[受注数量] を埋め込むことができます。一度定義すれば、すべての行に自動的に定義されるため、とても便利な機能です。

image_thumb1

この計算列で使用できる数式言語は DAX(Data Analysis Expression)言語と呼ばれています。DAX言語を使用すると、複雑な計算が簡単に行え、独自の計算列を作成することができます。

DAX言語では Excelでサポートされている関数も使用可能です。ただし、すべての関数が使えるわけではなく、以下に示すものがサポートされています。

日付/時刻関連 論理演算 統計
DATE AND AVERAGE
DATEVALUE IF AVERAGEA
DAY IFERROR COUNT
EDATE NOT COUNTA
EOMONTH OR COUNTBLANK
HOUR FALSE MAX
MINUTE TRUE MAXA
MONTH   MIN
NOW 算術 MINA
SECOND ABS テキスト操作
TIME CEILING, ISO.CEILING CONCATENATE
TIMEVALUE EXP EXACT
TODAY FACT FIND
WEEKDAY FLOOR FIXED
WEEKNUM INT LEFT
YEAR LN LEN
YEARFRAC LOG LOWER
  LOG10 MID
判定系 MOD REPLACE
ISBLANK MROUND REPT
ISERROR PI RIGHT
ISLOGICAL POWER SEARCH
ISNONTEXT QUOTIENT SUBSTITUTE
ISNUMBER RAND TRIM
ISTEXT RANDBETWEEN UPPER
  ROUND VALUE
  ROUNDDOWN  
  ROUNDUP  
  SIGN  
  SQRT  
  SUM  
  SUMSQ  
  TRUNC  

Excelには便利なText関数がありますが、DAX言語では残念ながらサポートされていません。そのかわり、 Format 関数を使用することができます。例えば、DateTime形式の列を変換する場合には、以下のように記述できます。

=FORMAT([日時],"yyyy-mm-dd hh:nn")

[日時] はDateTime形式のデータが格納されている列の名前です。以下に例を示します。

image_thumb3 

使用可能な関数は PowerPivot ウィンドウから呼び出せるヘルプファイルに記載されているので参考にしてください。