クラウド

MotionBoard re:Act

MotionBoard re:Act

データを加工したり補ったり、カスタム項目はとても便利ですよね。とはいえデータソースの種類によって書き方が変わるため、最初はとっつきにくいと感じることもあるかと思います。

本記事ではよく使うデータソース別にカスタム項目の書き方をまとめました。CSV/Excel、DataStorage(データストレージ/Dr.Sum)、MotionBoard Viewに分けています。
関数は基本的なものを記載しています。これらを使えるようになると幅が広がります!

カスタム項目を活用するとデータ加工の幅が広がるイメージ

よくあるエラー

このページに辿り着いた皆さんの中には、カスタム項目のエラーでお困りの方もいるのではないでしょうか?下記がよくあるエラーです。

カスタム項目で発生しやすいエラー例

カスタム項目を使っている場合、これらのエラーは書き方の誤りが原因のときが多々あります。

特にデータソースを切り替えたときに発生しやすいです。項目は同じなのに、エラーが怒涛のように続いてしまうことも少なくありません。参照元のデータソースに依存するため、つまづきやすいポイントです。

以下の書き方を参考にしてもエラーが解消できなかったり、複雑な計算式を作成したいときは、ぜひサポートへのお問い合わせをご利用ください。

 

カスタム項目の書き方

テキストエディタにコピペしやすくするため、テーブル内のコードのみ異なるフォントとしています。

直接入力で文字項目を作成

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
ウイングアーク'ウイングアーク''ウイングアーク'

 

文字列の連結

支店コードと支店名は基本項目とします。
作成例:100-六本木店

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
[支店コード]-[支店名]支店コード||'-'||支店名

支店コード||'-'||支店名

または

CAST(支店コード as int)||'-'||支店名*1

*1 支店コードが数値型の場合
支店コードが数値型の場合、「100.0-六本木店」のように小数点以下が表記されるケースがあります(MotionBoard Viewの標準仕様)。その場合は数値の部分をあらかじめ整数型へ変換してください。

 

部分文字列取得 SUBSTRING

年月日は基本項目とします。
作成例:2020/01/23→01

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
SUBSTRING([年月日],"5","7")SUBSTRING(年月日,6,2)SUBSTRING(年月日,6,2)

文字を取得する際の先頭位置の数え方は、CSV/Excelとそれ以外で文字位置の指定方法が異なるためご注意ください。今回の例(CSV/Excel)では先頭位置を「5」、終了位置を「7」と指定しています。DataStorageおよびMotionBoard Viewでは、先頭から6文字目の位置から2文字分を取得します。

 

単体の文字列置換 REPLACE

製品は基本項目とします。
作成例:MB→MotionBoard

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View

REPLACE([製品],"MB","MotionBoard")

注意事項:空文字を任意の文字列および値に変換する機能はございません。

REPLACE(製品,'MB','MotionBoard')REPLACE(製品,'MB','MotionBoard')

 

複数の文字列置換

性別は基本項目とします。
作成例:1なら男、2なら女

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
REPLACE([性別],"1|2","男|女")

CASE 性別 WHEN 1 THEN '男' WHEN 2 THEN '女' END
または
DECODE(性別,1,'男',2,'女')*2

CASE 性別 WHEN 1 THEN '男' WHEN 2 THEN '女' END

*2 DECODE関数について
性別が数値型の場合は DECODE(性別,1,'男',2,'女') のように数値で指定します。データ型が混在するとエラーになることがあります。詳細はこちらのURLをご参照ください。

MotionBoard ナレッジベース:カスタム項目でDECODEを使用するとエラーになる

 

If文、条件分岐

点数は基本項目とします。
作成例:点数が80以上なら◎、60以上なら〇、それ以外なら×

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
対応していません
回避策:MotionBoard ViewにしてCASEで対応*3
CASE WHEN 点数 > 80 THEN '◎' WHEN 点数 > 60 THEN '○' ELSE '×' ENDCASE WHEN 点数 > 80 THEN '◎' WHEN 点数 > 60 THEN '○' ELSE '×' END

CASEはいきなり一行で書くとごちゃっとするので、改行を付けて作成してから一行に戻すのもおすすめです。

CASE
WHEN 点数 > 80 THEN '◎'
WHEN 点数 > 60 THEN '○'
ELSE '×'
END

条件分岐をしたいときはCASEが基本です。DataStorage(Dr.Sum)ではDECODEも使用できますが、CASEの方が可読性が高くおすすめです。

CASEによる条件分岐のイメージ

日付項目の足し算・引き算

年月日は日付型(YYYY/MM/DD形式)の基本項目とします。
作成例: 年月日(例:2020/01/23)の1年後を取得する

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
FORMAT([年月日], "YYYY/MM/DD","M=+12")ADD_MONTHS(年月日,12)DATEADD('MONTH', 12, 年月日)

作成例は1年後ですが、1か月後や10日前など応用が利きます。詳細は本ページ下部にあるマニュアルにてご確認ください。関数部分(例:ADD_MONTHS)でマニュアル内を検索するのが早くて便利です。

 

日付項目同士の足し算・引き算

受注日、案件登録日は日付型(YYYY/MM/DD形式)の基本項目とします。
作成例:受注までの所要日数(受注日-案件登録日)を算出する

作成するカスタム項目のデータ型は数値型にしてください。

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
(GETTIME([受注日])-GETTIME([案件登録日]))/1000/60/60/24DATEDIFF('DAY', 案件登録日,受注日)
または
TO_NUMERIC(TO_CHAR(受注日-案件登録日, 'DD'))
DATEDIFF('DAY', 案件登録日,受注日)

 

日付項目のフォーマット変更

年月日は日付型(YYYY/MM/DD形式)の基本項目とします。
作成例:年月日(例:2020/01/23)をYYMMDD形式の200123に変更する

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
FORMAT([年月日], "YYMMDD")TO_CHAR(年月日,'YYMMDD')TO_CHAR(年月日,'YYMMDD')

 

NULL変換

対象項目は基本項目とします。
作成例:NULLを0に変換する

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
対応していません
回避策:REPLACEで対応
NVL(対象項目,0)COALESCE(対象項目,0)

 

型置換

対象項目は基本項目とします。
作成例:文字型を数値型にする

CSV/ExcelDataStorage(Dr.Sum)MotionBoard View
対応していません
回避策:MotionBoard ViewにしてCASTで対応*3
TO_NUMERIC(対象項目)CAST(対象項目 AS DOUBLE)

*3 CSV/ExcelをMotionBoard Viewに置き換える方法
UNION結合を使用してMotionBoard Viewを作成します。詳細な手順は以下のマニュアルをご参照ください。手順1~5、7~10を行います。(手順6のサブテーブルを選択は不要です)

MotionBoard Cloud マニュアル:UNION結合のMotionBoard View定義を作成する

 

カスタム項目の書き方 関連リンク

カスタム項目の書き方や考え方については、以下の記事・マニュアルもあわせてご確認ください。

TECH BLOG 関連記事

 

 

ナレッジベース(具体的な実装例)

日付と日付の日数差の算出方法(CSV/Excel、データストレージ)

以下のナレッジでは、DataStorage(Dr.Sum)をはじめ、Oracle、SQL Server、PostgreSQL、MySQLなど、各データベースごとの書き方をご確認いただけます。

文字列の一部を切り出した項目を作成する方法
文字列を連結(結合)した値を表示する方法
文字列の一部を置き換えた項目を作成する方法
条件式によって異なる値を表示する項目を作成する方法
日付型や日時型の項目から日付要素を取得する方法
日付型や日時型の項目に期間を加算/減算する方法
日付型項目同士の日数差・経過時間を算出する方法

 

公式マニュアル(関数一覧)

MotionBoard Cloud マニュアル:CSV/Excelで使える関数
MotionBoard Cloud マニュアル:DataStorage(Dr.Sum)で使える関数
MotionBoard Cloud マニュアル:MotionBoard Viewで使える関数

 

まとめ

本記事ではカスタム項目の書き方についてご紹介しました。やりたいことは同じでも、データソースによって結構書き方が違いますよね。

私自身カスタム項目を作るときはこういったメモを見ながら試行錯誤して作成しています。そのメモをもとに記事化してみました。本記事が皆さんのお役に立てたらとても嬉しいです!

本記事はMotionBoard Classic版記事をもとに、re:Act版に再構成したものです。

この記事にリアクションしてみませんか?

What do you think of this post?
  • 分かりやすい (0)
  • 問題が解決した (0)
フィードバックありがとうございます!褒められるとやる気爆増です!

Chiho Ogino

プロフィールへ >

2024年5月からMotionBoard、Dr.Sumに携わっているプリセールスです。 キャリアの大部分をExcelとPowerPointを使ったレポーティングに費やしてきたため、BIツールの便利さ、奥深さに日々感動しています。 「こんなことできたらいいのに」「どうやってやるの?」「なぜこうなっているの?」などの素朴な疑問を解決するお手伝いをできればと思います!

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

データポイント数が、しきい値をオーバーしました|原因と対処方法を解説

公開:2026.02.12
更新:2026.02.24

分かりやすい

0

解決した

0
  • データ加工

MotionBoard re:Act

【Connect】開発コスト・運用コストを抑えたスクリプトの構築方法

公開:2025.02.06
更新:2025.02.06

分かりやすい

1

解決した

0
  • データ取り込み
  • データ加工

Dr.Sum

invoiceAgent【「業務を変える動画たち」シリーズ】記事まとめ

公開:2025.01.16
更新:2026.02.26

分かりやすい

0

解決した

0
  • 業務を変えるシリーズ

invoiceAgent

Ranking

Rankingランキング

1

「目標達成まであとどれくらい?」をひと目で ― 基準線を使った目標の可視…

公開:2026.02.09
更新:2026.02.09

分かりやすい

0

解決した

0
  • グラフ
  • デザイン

MotionBoard re:Act

2

集計表のスタイルで重要な行を強調表示する方法 ― 損益計算書(P/L)を見や…

公開:2026.01.28
更新:2026.01.30

分かりやすい

1

解決した

0
  • 集計表
  • デザイン

MotionBoard re:Act

3

棒グラフを大きい順に並び替えたい!ソート設定方法

公開:2026.02.02
更新:2026.02.22

分かりやすい

0

解決した

0
  • グラフ
  • 集計表
  • デザイン

MotionBoard re:Act

Info

Information

ウイングアーク1stからのお知らせ