※2010/5/26 BLOG環境の移行により消えてしまった記事を再投稿しました
こんにちは。PowerPivot 生活をエンジョイしていますか?
PowerPivot には「計算列」という独自の列を追加することができることはご存知の通りです。
例えば、読み込んだテーブルに「単価」と「受注数量」しかない場合には、新たな列「受注金額」に [単価]*[受注数量] を埋め込むことができます。一度定義すれば、すべての行に自動的に定義されるため、とても便利な機能です。
この計算列で使用できる数式言語は 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形式のデータが格納されている列の名前です。以下に例を示します。
使用可能な関数は PowerPivot ウィンドウから呼び出せるヘルプファイルに記載されているので参考にしてください。
.png)





















