
Tableau Desktopの計算フィールドでタイトルに記載した日付取得を行いたいです。
例)初期値:教えて!goo20230731
最終値:2023-07-31
以下はイメージです。
1.8桁の数字を文字列として取得(Aとする)
REGEXP_EXTRACT([文字フィールド],'\d{8}')
2.取得した文字列を日付型に変換可能なら日付型にし、それ以外は'NULL'とする
IF ISNULL(ISDATE([A])) THEN 'NULL'
ELSE
DATEPARSE('yyyyDDmm',[A])
END
ISDATEが非集計では使用できませんとエラーが出てしまい困っています。
8桁の数字が20230031のような場合、0月という日付がないため変換エラーになるので日付変換可能か判定するロジックが必要になります。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Tableau Desktopで、ISDATE関数を非集計フィールドで使用することはできませんが、代わりにDATEPARSE関数のエラーハンドリングを使用して、日付変換可能かどうかを判定することができます。
具体的な手順は以下の通りです。8桁の数字を文字列として取得 (Aとする)
scss
REGEXP_EXTRACT([文字フィールド], '\d{8}')
取得した文字列を日付型に変換可能かどうかを判定
java
IF ISNULL(DATEPARSE('yyyyMMdd', [A])) THEN 'NULL'
ELSE DATEPARSE('yyyyMMdd', [A])
END
上記の式では、DATEPARSE関数を使用して取得した文字列を日付型に変換しようとします。もし変換が成功した場合はその日付を返し、変換ができなかった場合は'NULL'を返します。
このように、ISDATE関数を使用せずにDATEPARSE関数のエラーハンドリングを活用することで、日付変換可能かどうかを判定することができます。なお、DATEPARSE関数では変換エラーが発生した場合にNULLが返るため、'NULL'を返す部分は不要です。ただし、上記の式で使用する日付のフォーマットは注意してください。例えば、'yyyyMMdd'のように、正確なフォーマットを指定する必要があります。ご希望に添えるか分かりませんがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付がインポートされない
-
word2007で日付挿入したら翌日...
-
日付のデータ型について
-
差し込み印刷で日付の曜日を表...
-
【Word】 今日の「年」「月」...
-
クエリで日付型のIIF関数の使用
-
メインサブフォームでメインの...
-
Wordで、ヘッダーに印刷日付を...
-
FileMaker Pro 10 で令和を表示
-
日付を差し込み印刷で表示した...
-
Accessでの支払日の計算方法
-
ACCESSの自動連番について
-
datetime型でのソート
-
VBAでエクセルシートを更新...
-
マクロボタンを押すと、ファイ...
-
エクセルで最高値、最低値の日...
-
差し込み印刷に当日の日付が入...
-
エクセルのチェックボックスを...
-
エクセルで数字から名前に変...
-
日付の大小の表現
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差し込み印刷で日付の曜日を表...
-
Wordで、ヘッダーに印刷日付を...
-
日付を差し込み印刷で表示した...
-
日付を昇順で並び替えし、空白...
-
【Tableau Desktop】文字列から...
-
日付型のテキストボックスに数...
-
クエリで日付型のIIF関数の使用
-
重複を除外したカウント方法を...
-
Accessで秒を時間で表示させる...
-
Word2010 フィールド内での和...
-
【Word】 今日の「年」「月」...
-
合計を求めるクエリーについて
-
ファイルメーカーのスクリプト...
-
ウィンドウィズ メモ帳で日付だ...
-
FileMaker Pro 10 で令和を表示
-
accessで残業時間計算
-
Wordの日付変換ってできますか?
-
ファイルメーカーで最終日を求...
-
datetime型でのソート
-
日付がインポートされない
おすすめ情報
ご回答ありがとうございます。
ISNULLを使用した場合も変換エラーは起きてしまいます。
例として「20210031」の場合はNULL判定ではないので、変換が行われ結果としてエラーが返ってしまいます。このような値を判定して除外したいのですが難しいですね、、、
ご丁寧なご説明ありがとうございます。