1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ASTRIA Div1000関数

Last updated at Posted at 2017-10-23

会計では,単位調整のため1000で割ることが何度もあります.
関数を作ったのですが、非常に苦労したのと非常に有用なのでUPしてみました。

以前にも、単純な関数を作ったことはあります。
ASTERIAで日付同士の差引きを求めるには?

会計ではDecimal型を使うことが基本です.

Decimal型のデメリット
計算速度が遅い

Decimal型のメリット(Integer型の欠点の裏返し)
計算が正確(IntegerならBanker Roundとかありえる)
扱える範囲が大きい(Integer型は21億ぐらいで限界です。好調な中小企業でも、売上高21億ぐらいはあるのでしょう)

特に扱う範囲が大きい会計系や勘定系では,Integer型を使わないのが通例です.

単純な1000で割る関数を作ってみた.

ETL-2017-10-23-2.png

てんとう虫絵柄のシミュレーションを使うと,ダミーデータをわざわざ作らなくて済むので便利です.

15000 ÷ 1000 = 1.50000000 
0 ÷ 1000 = 0.00000000
(空文字) ÷ 1000 = 0.00000000    ★
-15000 ÷ 1000 = -1.50000000 

空文字を1000で割ると0になってしまう。
0とNULLを明確に分ける会計の世界では, 非常に不都合.

★の結果が
(空文字) ÷ 1000 = (空文字)
になるように作り直してみた。

新しく作った関数

ETL-2017-10-23-4.png

関数内では, Branch系Switch系のコンポーネントが使えないらしい.

条件分岐は、Ifコンポーネントで,
その結果をChoiceコンポーネントで受けてあげるといいようだ.

ただこれらのヘルプを読んでも正直よくわからない...
Ifコンポーネントのヘルプ
Choiceコンポーネントのヘルプ

空文字かどうかの判定

RegexpMatchコンポーネントの
正規表現の値を ^$ とすればよい。

== の絵柄のEqualコンポーネントを
"" や(空文字) でしても,空文字に反応しなかったので注意が必要である.

個人的にはめちゃくちゃ良く使う関数になりました.

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?