お問い合わせ
2 分で読むことができます。

【Qlik Sense】フォルダ内の最新年度のファイルを取得する方法

2025年9月26日

はじめに

QlikSenseで複数データファイルのあるフォルダ内の最新年度のファイルを取得するスクリプトを紹介します。

前提条件

任意のフォルダに「売上_20*.xlsx」の命名規則でデータファイルが複数配置されているとする。

ロードスクリプト

SET vRoot = 'lib://DataFiles';

//ファイルリストを保持するテーブルを作成
For Each File in filelist ('$(vRoot)/売上_20*.xlsx')
FileList:
Load
'$(File)' as FileName
AutoGenerate 1;
Next File

LatestFile:
Load
MaxString(FileName) as LatestFileName
Resident FileList;

LET vPath = Peek('LatestFileName', 0, 'LatestFile');

//以下の記載でも同様に最新ファイルを抽出可能
//LET vPath = FieldValue('LatestFileName', 1);
Drop Tables FileList, LatestFile;

// 最新年度のファイルをロード
LatestSales:
LOAD
    *
FROM [$(vPath)](ooxml, embedded labels, table is Sheet1);

 

スクリプト詳細

最新のデータファイルの取得

  • filelist() で ファイル名が「売上_20*.xlsx」 のリストを取得する。
  • AutoGenerate 1 で1行のデータ (FileName) を持つレコードを FileList テーブルに保存する。
  • MaxString(FileName) で文字列の 辞書順(アルファベット順)で最も新しいファイルを取得し、LatestFile テーブルに保存する。
  • vPath に最新ファイル名がセットされる。
     →以下の記載でも最新ファイル名が抽出可能
    LET vPath = FieldValue('LatestFileName', 1);

'lib://DataFiles' 及び売上_20*.xlsxの部分は配置するデータファイル名に応じて適宜変更してください。

中間テーブルの詳細

LatestFile時点で最新年度のデータファイルが抽出できていることが確認できます。

最新のデータファイルをロード

  • FROM [$(vPath)] で、変数 vPath に格納されたファイルをロードする。

ooxml, embedded labels, table is Sheet1 の部分はデータファイルの形式やシート名に応じて適宜変更してください。

おわりに

今回フォルダ内の最新年度のファイルを取得するスクリプトを紹介しました。
このスクリプトを応用してファイル名が「売上_YYYYMM.xlsx」や「売上_YYYYMMDD.xlsx」の場合も対応できると思いますので参考にしていただければ幸いです。

 

 

Jiro

Written by Jiro

Qlik_No1_2022
QSナレッジ事例バナー
DXバナー
Qlikseminar
qs_trial
Qllikseminar
Vizlibナレッジ
Vizlibセミナー
qv_knowledge
book_kawaii
Snowflake_バナー

新着記事

タグ別の記事

全て表示