1. ユースケース
データ準備は、YiDA ローコードプラットフォームの主要機能の 1 つです。企業ユーザーがデータ分析やアプリ構築を行う前に、生データをクレンジング、統合、変換するのに役立ちます。データ準備は、ゼロコードの ETL(Extraction Transformation Loading)方式を採用し、YiDA アプリ、社外の企業データベース、ファイルベースのデータ、DingTalk 公式データソース(社員名簿、OA、Smart HR、勤怠を含む)のデータを処理します。データ処理パイプラインを構築することで、分散したデータを統合し、ビジュアル分析やデータドリブンな意思決定を支える標準化されたデータセットにまとめます。3. 数式設定のエントリ
パス:アプリ設定 > データファクトリ > データ準備 > データ準備の作成 > データセットを選択。数式は関連、集計、クレンジングの各ノードで設定できます。 設定手順は、以下の動画をご覧ください。4. 論理処理
CASEWHEN
使い方 1:CASEWHEN(<condition>,<value>,<condition>,<value>…)。SQL の CASE WHEN 構文と同等です。 例:CASEWHEN(<性別フィールド>=“Male”,“male”,<性別フィールド>=“Female”,“female”)。“Male” の値は “male” に、“Female” の値は “female” に置換されます。 使い方 2:CASEWHEN(<condition>,<value>,<condition>,<value>…<value>)。SQL の CASE WHEN 構文と同等です。 例:CASEWHEN(<性別フィールド>=“Male”,“male”,“female”)。“Male” の値は “male” に置換され、それ以外の値はすべて “female” に置換されます。5. テキスト処理
LEN
使い方:LEN([string field])。文字列の長さを返します。 例:LEN(“test”) は 4 を返します。LEN(“测试”) は 2 を返します。漢字 1 文字は英字 1 文字としてカウントされます。LEFT
使い方:LEFT(<measure field>,< n >)。<field> の値の左端から数えて n 文字分の文字列を返します。 例:Field1 の値が “ABCDEF” の場合、LEFT(Field1,3) は “ABC” を返します。RIGHT
使い方: RIGHT(<measure field>,< n >)。<field> の値の右端から数えて n 文字分の文字列を返します。 例:Field1 の値が “ABCDEF” の場合、RIGHT(Field1,3) は “DEF” を返します。MID
使い方:MID(<measure field>, < start >, < n >)。<field> の値の左端から start 番目の文字から始まる、長さ n の文字列を返します。 例:Field1 の値が “ABCDEF” の場合、MID(Field1, 3, 3) は “CDE” を返します。POS
使い方:POS(<measure field>,<substring>)。<text> における <substring> の位置を返します。一致しない場合は 0 を返します。 例:Field1 の値が “ABCDEF” の場合、POS(Field1,“DE”) は 4 を返します。UPPER
使い方:UPPER(<measure field>)。<field> の値を大文字に変換します。 例:Field1 の値が “AbcdeF” の場合、UPPER(Field1) は “ABCDEF” を返します。LOWER
使い方:LOWER(<measure field>)。<field> の値を小文字に変換します。 例:Field1 の値が “AbcdeF” の場合、LOWER(Field1) は “abcdef” を返します。VAL
使い方:VAL(<measure field>)。テキスト型の <field> の値を数値型に変換します。 例:Field1 の値が “123” の場合、VAL(Field1) は 123 を返します。LEFTTRIM
使い方:LEFTTRIM(<measure field>)。<field> の値の先頭にある空白を削除します。 例:Field1 の値が ” ABC” の場合、LEFTTRIM(Field1) は “ABC” を返します。RIGHTTRIM
使い方:RIGHTTRIM(<measure field>)。<field> の値の末尾にある空白を削除します。 例:Field1 の値が “ABC ” の場合、RIGHTTRIM(Field1) は “ABC” を返します。NUMBERTOSTRING
使い方:NUMBERTOSTRING(<number>)。数値データを文字列に変換します。 例:Field1 の値が “12345 ” の場合、NUMBERTOSTRING(Field1) は “12345” を返します。SPLITPART
使い方:SPLITPART(<string field>, delimiter, substring position)。区切り文字で文字列を N 個の部分文字列に分割します(N は区切り文字の数 + 1)。部分文字列の位置は、1 から(左から右へ)、または -1 から(右から左へ)カウントされます。 例:Field1 の値が “ABCDABHABC” の場合、SPLITPART(<Field1>,A,2) は “BCD” を返します。部分文字列の位置を -5 に設定した場合も “BCD” が返されます。CONCAT
使い方:CONCAT(<field>,<field>,…)。複数のフィールドを 1 つの文字列に連結します。入力パラメータは文字列型のフィールドである必要があります。 例:Field1 の値が “A”、Field2 の値が “BCD” の場合、CONCAT(<Field1>,<Field2>) は “ABCD” を返します。REPLACE
使い方:REPLACE([string], [search string], [replacement string])。置換後の文字列を返します。 例:Field1 が “abcdefg”、Field2 が “bcd”、Field3 が “12345” の場合、REPLACE([Field1], [Field2], [Field3]) は “a12345efg” を返します。6. 時間処理
NOW
使い方:NOW()。現在時刻を秒単位で返します。 例:なしDATEFORMAT
使い方:DATEFORMAT(<日付フィルター>,<time format>)。日付を文字列としてフォーマットします。 両方の関数のフォーマットは Java の日付フォーマット規則に準拠します。対応するフォーマットタイプは以下のとおりです。- yyyy:年
- MM:月
- dd:日
- hh:12 時間制(1〜12)
- HH:24 時間制(0〜23)
- mm:分
- ss:秒
DATEADD
使い方:DATEADD(<Time field>,<offset>,<time granularity>)。<Time field> に指定した <time granularity> の <offset> を加算します。
- 時間の粒度の値:
- オフセットは、加算または減算する具体的な数値です。正の値は加算、負の値は減算を意味します。
DATEADD(Date component,10,"DAY") = 20200911 となります。
例 2:
Date コンポーネントの値が “20200901” の場合、DATEADD(Date component,-1,"DAY") = 20200831 となります。
デフォルトの日付表示形式は
yyyyMMdd です。表示形式を変更するには、DATEFORMAT 関数の例を参照してください。DATEDIFF
使い方:DATEDIFF(<Time field 1>,<Time field 2>,<time granularity>)。指定した時間の粒度で、Time field 1 と Time field 2 の差を返します。 時間の粒度のオプション:- YEAR 年
- MONTH 月
- DAY 日
- HOUR 時
- MINUTE 分
- SECOND 秒
FROMUNIXTIME
使い方:数値の Unix タイム値を日付値に変換します。 関数宣言:- unixtime:Bigint 型。Unix 日時形式の秒数。string、double、または decimal 型の値は、演算前に暗黙的に bigint に変換されます。
- 戻り値:Datetime 型。unixtime が NULL の場合、NULL を返します。