Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
smaruyam
Partner - Contributor II
Partner - Contributor II

【QlikSense】スクリプト内で日付形式を変更したい。

ロード日より1年間分の年月日のテーブルを取り込みデータ無しで作成するために、
以下のようなスクリプトを考えました。

smaruyam_0-1698887212406.png

上記スクリプトを実行した際に、項目[年月日]をシートで表示したところ、

smaruyam_1-1698887321941.png

上画像の様に全てシリアル値で表示されてしまいました。
(ロードスクリプトに日付書式を決定する[SET DateFormat='YYYY/MM/DD';]は記載しています。)

ロードスクリプト内でYYYY/MM/DDの日付形式でデータを加工することは可能なのでしょうか?
(シート上で数式にDate(年月日),'YYYY/MM/DD')と記載するとその表記で表示されることは知っていますが、
シート上ではなくロードスクリプト内でYYYY/MM/DDの状態にしておきたいです。
また、ロードスクリプト内でtext関数を使用すれば文字列としてYYYY/MM/DDで表示することは可能ですが、
今度は日付形式として持たれておらず、八方塞がりの状況です...)

サンプルアプリを添付いたしますので、ご確認お願いします。

1 Solution

Accepted Solutions
ajaykakkar93
Specialist III
Specialist III

Hi,

Here is my date cal hope this helps

これが私の日付計算です。これがお役に立てば幸いです

 

 

SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='₹ #,##0.00;-₹ #,##0.00';
SET TimeFormat='h:mm:ss TT';
SET DateFormat='YYYY/MM/DD';
SET TimestampFormat='YYYY/MM/DD h:mm:ss[.fff] TT';
SET FirstWeekDay=6;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='en-IN';
SET CreateSearchIndexOnReload=0;
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
SET LongMonthNames='January;February;March;April;May;June;July;August;September;October;November;December';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y';


let today = num(today());
let back1year = num(AddYears(today(),-1));

Cal:
NoConcatenate
LOAD
	DateNumber,
	TempDate,
    month(TempDate) as Month,
    Year(TempDate) as Year,
    MonthName(TempDate) as MonthName;
LOAD
	$(back1year) + rowno() - 1 AS DateNumber,
	date ($(back1year) + rowno() - 1) AS TempDate
AUTOGENERATE ($(today) - $(back1year)) + 1;


exit Script;

 

 

ajaykakkar93_1-1698898650520.png

 

 

 

 

Please mark the correct replies as Solution. Regards, ARK
Profile| GitHub|YouTube|Extension|Mashup|Qlik API|Qlik NPrinting

View solution in original post

5 Replies
ajaykakkar93
Specialist III
Specialist III

Hi,

Yes you can set YYYY/MM/DD as the default, just go to Main section and edit the two variables 

SET DateFormat='YYYY/MM/DD';
SET TimestampFormat='YYYY/MM/DD h:mm:ss[.fff] TT';

はい、YYYY/MM/DD をデフォルトとして設定できます。メインセクションに移動して 2 つの変数を編集するだけです。

SET DateFormat='YYYY/MM/DD';
SET TimestampFormat='YYYY/MM/DD h:mm:ss[.fff] TT';




ajaykakkar93_0-1698894662012.png

 

 

Please mark the correct replies as Solution. Regards, ARK
Profile| GitHub|YouTube|Extension|Mashup|Qlik API|Qlik NPrinting

smaruyam
Partner - Contributor II
Partner - Contributor II
Author

回答ありがとうございます。
回答の数式はMainセクションで実施済みですが、
テーブルでシリアル値の表示のままになっています。

smaruyam_0-1698897134787.png

大変恐縮ですが、別の回答をお待ちしております。

ajaykakkar93
Specialist III
Specialist III

Hi,

Here is my date cal hope this helps

これが私の日付計算です。これがお役に立てば幸いです

 

 

SET ThousandSep=',';
SET DecimalSep='.';
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='₹ #,##0.00;-₹ #,##0.00';
SET TimeFormat='h:mm:ss TT';
SET DateFormat='YYYY/MM/DD';
SET TimestampFormat='YYYY/MM/DD h:mm:ss[.fff] TT';
SET FirstWeekDay=6;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET FirstMonthOfYear=1;
SET CollationLocale='en-IN';
SET CreateSearchIndexOnReload=0;
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
SET LongMonthNames='January;February;March;April;May;June;July;August;September;October;November;December';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET NumericalAbbreviation='3:k;6:M;9:G;12:T;15:P;18:E;21:Z;24:Y;-3:m;-6:μ;-9:n;-12:p;-15:f;-18:a;-21:z;-24:y';


let today = num(today());
let back1year = num(AddYears(today(),-1));

Cal:
NoConcatenate
LOAD
	DateNumber,
	TempDate,
    month(TempDate) as Month,
    Year(TempDate) as Year,
    MonthName(TempDate) as MonthName;
LOAD
	$(back1year) + rowno() - 1 AS DateNumber,
	date ($(back1year) + rowno() - 1) AS TempDate
AUTOGENERATE ($(today) - $(back1year)) + 1;


exit Script;

 

 

ajaykakkar93_1-1698898650520.png

 

 

 

 

Please mark the correct replies as Solution. Regards, ARK
Profile| GitHub|YouTube|Extension|Mashup|Qlik API|Qlik NPrinting

smaruyam
Partner - Contributor II
Partner - Contributor II
Author

親愛なる  Ajaykakkar93 
回答いただきありがとうございます。

ajaykakkar93
Specialist III
Specialist III

ありがとうございます。これからも共有して学び続けてください。

thank you very much, keep sharing & learning. 

Please mark the correct replies as Solution. Regards, ARK
Profile| GitHub|YouTube|Extension|Mashup|Qlik API|Qlik NPrinting