TECH BLOG

MENU

オンプレクラウド

MotionBoard

MotionBoard

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

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

 

よくあるエラー

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

 

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

特にデータソースを切り替えたときに発生しやすいです。項目は同じなのに、怒涛のエラーが‥というのはあるあるです。参照元のデータソースに依存するので仕方ないとはいえ、つまづきやすいポイントです。

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

 

カスタム項目の書き方

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

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
ウイングアーク 'ウイングアーク' 'ウイングアーク'


 

文字列の連結

支店コードと支店名は基本項目とします。

作成例:100-六本木店

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
[支店コード]-[支店名] 支店コード||'-'||支店名 支店コード||'-'||支店名




 

部分文字列取得 SUBSTRING

年月日は基本項目とします。

作成例:2020/01/23→01

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
SUBSTRING([年月日],"5","7") SUBSTRING(年月日,'6','2') SUBSTRING(年月日,'6','2')


 

単体の文字列置換 REPLACE

製品は基本項目とします。

作成例:MB→MotionBoard

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
REPLACE([製品],"MB","MotionBoard") REPLACE(製品,'MB','MotionBoard') REPLACE(製品,'MB','MotionBoard')


 

複数の文字列置換

性別は基本項目とします。

作成例:1なら男、2なら女

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
REPLACE([性別],"1|2","男|女") DECODE(性別,'1','男','2','女') CASE 性別 WHEN '1' THEN '男' WHEN '2' THEN '女' END


 

If文、条件分岐

点数は基本項目とします。

作成例:点数が80以上なら◎、60以上なら〇、それ以外なら×

CSV/Excel データストレージ(Dr.Sum) MotionBoard View
対応していません
回避策:MotionBoard ViewにしてCASEで対応*1
CASE WHEN 点数 > 80 THEN '◎' WHEN 点数 > 60 THEN '○' ELSE '×' END CASE WHEN 点数 > 80 THEN '◎' WHEN 点数 > 60 THEN '○' ELSE '×' END

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

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

条件分岐をしたいときはCASEが基本です。データストレージの場合はDECODEも使えます。

 

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

年月日は日付型(YYYY/MM/DD形式)の基本項目とします。

作成例:2020/01/23の1年後を取得する

CSV/Excel データストレージ(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/Excel データストレージ(Dr.Sum) MotionBoard View
(GETTIME([受注日])-GETTIME([案件登録日]))/1000/60/60/24
DATEDIFF('DAY', 案件登録日,受注日)
または
TO_NUMERIC(TO_CHAR(受注日-案件登録日, 'DD'))
DATEDIFF('DAY', 案件登録日,受注日)

 

NULL変換

対象項目は基本項目とします。

作成例:NULLを0に変換する

CSV/Excel データストレージ(Dr.Sum) MotionBoard View

対応していません
回避策:REPLACEで対応

NVL(対象項目,0) COALESCE(対象項目,0)

 

型置換

対象項目は基本項目とします。

作成例:文字型を数値型にする

CSV/Excel データストレージ(Dr.Sum) MotionBoard View

対応していません
回避策:MotionBoard ViewにしてCASTで対応*1

TO_NUMERIC(対象項目) CAST(対象項目 AS DOUBLE)

 

  *1 CSV/ExcelをMotionBoard Viewに置き換える方法

UNION結合のMotionBoard View定義を作成する

手順1~5、7~10を行います。(手順6のサブテーブルを選択は不要です)

 

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

カスタム項目の書き方に関わるナレッジは、以下のURLからご確認いただけます。

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

 

以下のURLでは、データストレージ(Dr.Sum)、Oracle、SQL Server、PostgreSQL、MySQLでの書き方をご確認いただけます。

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

 

その他の関数はマニュアルにてご確認ください。

CSV/Excelで使える関数
データストレージ(Dr.Sum)で使える関数
MotionBoard Viewで使える関数

 

まとめ

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

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

(2024.03.25追記)テキストエディタにコピペしやすくするため、テキストをコード仕様に修正しました。テーブル内のフォントが変更されていますが何卒ご了承くださいませ。

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

  • 分かりやすい (22)
  • 問題が解決した (5)
評価ありがとうございます!励みになります!
プロフィールへ

岩瀬 優希

2021年1月入社でMotionBoardのカスタマーサクセス(導入・活用支援)を担当しています。ユーザー目線で親しみをもってもらえるような記事を発信していきたいです!

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

【まとめ】SVFCloud帳票をinvoiceAgentに連携する方法

  • #帳票作成・出力
  • #システム連携
  • #電帳法
  • #文書定義
  • #処理定義

2024.04.18

SVF

Dr.Sum Copilotをインストールしてみた【OpenAI】

  • #Copilot

2024.04.05

Dr.Sum

特定の文字列で分割して階層構造をつくりたい!~DS Scriptで分割する~1

  • #データ加工
  • #DS Script

2023.07.17

Dr.Sum

Ranking

Rankingランキング

1

棒グラフを大きい順番に並び替えたい!(ソートしたい)

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

2019.06.15

MotionBoard

2

カスタム項目の書き方 よく使う関数からIfまで

  • #データ加工

2023.07.28

MotionBoard

3

経過時間を時:分:秒で時刻表示したい!【320秒→05:20】

  • #グラフ

2022.08.02

MotionBoard

Info

Information

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