Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
お世話になっております。表題の件についてご教示ください。
▼質問
「SET DateFormat」に曜日を含む日付書式を指定することはできるでしょうか。
▼背景
Googleスプレッドシートコネクタで「4/1(水)」や「2026/4/1(水)」のような
曜日を含む書式のデータを日付型で取り込みたいです。
Googleスプレッドシートコネクタで「M/D(曜日)」形式のデータを取得すると、
テキスト型として取り込まれます。
QlikTechサポートに問い合わせたところ、以下の回答をいただきました。
- この動作はSpreadsheetコネクタの仕様上の制限である
- 日付型として取り込むには「SET DateFormatの書式」と
「スプレッドシートのデータの書式」を揃える必要がある
- 年情報がない形式(「M/D(曜日)」等)の指定方法については確認できなかった
▼試したこと
以下のパターンを試してみました。
どれもテキスト型で取り込まれてしまいます。
なお、「SET DayNames='月;火;水;木;金;土;日';」が設定されています。
・スプレッドシートのデータを「4/1(水)」にした場合
-------------------------------------------
SET DateFormat='M/D(WWW)';
-------------------------------------------
・スプレッドシートのデータを「2026/4/1(水)」にした場合
-------------------------------------------
SET DateFormat='YYYY/M/D(WWW)';
-------------------------------------------
▼参考資料
以下のDateFormatのヘルプでは曜日について記載がなかったため、記述方法がわかりませんでした。
・DateFormat
https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpre...
現状、SET Dateformatでは対応できないです。
回避策としてはテキストで認識しているので以下のように
スクリプト内で都度変換してもらう必要があります。
日付が"2026/4/3(金)"とした場合:
Date(SubField(日付,'(',1),'YYYY/M/D(WWW)') as [日付]
日付部分だけをSubFieldで抜き出して、Dateで'YYYY/M/D(WWW)'とすることで
自動的に曜日を割り当ててくれます。
現状、SET Dateformatでは対応できないです。
回避策としてはテキストで認識しているので以下のように
スクリプト内で都度変換してもらう必要があります。
日付が"2026/4/3(金)"とした場合:
Date(SubField(日付,'(',1),'YYYY/M/D(WWW)') as [日付]
日付部分だけをSubFieldで抜き出して、Dateで'YYYY/M/D(WWW)'とすることで
自動的に曜日を割り当ててくれます。