お問い合わせ

目次

今回は、Qlik Sense Saasにおいて発生した以下の事象の解決策についてご紹介したいと思います。

<発生事象>
Qlik Sense SaasでGoogle Driveからファイルをロードする際にファイルパスを指定
したところ、フォルダ名にワイルドカード(*)が使用できない。

 

事象解決方法

 

前提条件

Qlik Sense Saas環境のアプリへ、Googleドライブにある[フォルダA]内のサブフォルダのうち、
以下の2つの条件を満たすファイルをロードします。(階層は以下画像参照)

①フォルダ名が[list]から始まるフォルダ内のファイル
 ( [list]がつくフォルダの数は流動的です)
②ファイル名の先頭に「プレフィックス」が付き、かつ、拡張子が「.xlsx」のファイル

Untitled-Feb-07-2024-08-03-07-6017-AM

Google Driveからファイルをロードする

Qlik Sense Saas環境でGoogle Driveからファイルをロードする際のパスの指定方法として、
以下の2つがあります。

①フォルダIDを記入して該当フォルダのファイルをすべて取り込む
 ・From [lib://スペース名:接続名/フォルダID(or root)]

②フォルダIDとファイル名までを指定して特定のファイルのみを取り込む
 ・From [lib://スペース名:接続名/フォルダID(or root)/ファイル名]

Google Driveからファイルをロードする場合はフォルダ名が使用できないため、フォルダIDを
記入する必要があります。
また、対象のフォルダIDは「ファイルが配置されているフォルダのID」を使用しなければ
なりません。(フォルダの階層構造の表現ができないため)

 

Google Drive & スプレッドシートコネクタの利用について

Google Driveとスプレッドシートコネクタを利用して、Google Driveのメタデータを取得することができます。
また、接続を作成すると下図のようにテーブルのデータを利用することも可能となります。

             Untitled2-1

[ListFiles]テーブルには、ドライブのフォルダおよびファイルの各種データが入っています。
この中には、フォルダ/ファイル名(title)親フォルダのid(parents_id)データ形式(mimeType)
などの情報があり、これらを使用してフォルダやファイル名からidを特定することができます。

Untitled3

[ListFiles]テーブルより、以下の条件を満たすフォルダのIDを後述するコードを記載することで
取得が可能となります。

①id が「1WC*******」のフォルダ内のサブフォルダ
 (セキュリティ保護の観点から一部マスクを行っています)
②名前が [list] から始まるフォルダ

 


LIB CONNECT TO 'Google_Drive';

Meta:
LOAD
title as [ListFiles.title],
id as [ListFiles.id]
where title like 'list*';
SELECT title,
id
FROM ListFiles
WITH PROPERTIES (
driveId='',
query='mimeType = "application/vnd.google-apps.folder" and parents in "1WC*******"'
);

※条件については [WITH PROPERTIES]内の [query= ] 部分で記載しています。

◆補足:各コードについて
・where title like 'list*':フォルダ名が[list]から始まるフォルダのデータを取得します。
・'mimeType = "application/vnd.google-apps.folder":フォルダのデータを取得します。
・parents in "フォルダID":指定フォルダ内のフォルダ/ファイルのデータを取得します。


上記コードを実行することでフォルダIDが取得できるため、各フォルダ内を検索してファイル名が
「プレフィックス」から始まる[.xlsx]ファイルを取得することで、最初に記載した前提条件を実現
することができるようになります。

まとめ

今回ご紹介した id や title の他にも、所有者/ファイルサイズなど色々なデータが利用できるため、
ご自身のGoogle Drive利用状況をQlik Senseで可視化し、管理/活用することも可能ですので
試してみてはいかがでしょうか。

<参考リンク>
ワイルドカード「*」が使えない!?Qlik Sense SaaSでデータを
 まとめて取り込む方法(アシストより)

Google Drive & Spreadsheets(Qlik Helpより)

Qlik Senseを体験してみませんか?

INSIGHT LABではQlik紹介セミナーを定期開催しています。Qlik SenseとQlikViewの簡単な製品概要から、Qlikの特性である「連想技術」のご紹介、デモを通してQlik SenseとQlikViewの操作感や美しいインターフェースをご覧いただきます。企業の大切な資産である膨大なデータからビジネスを発見する 「Business Discovery」を是非ご体験ください。

詳細はこちら

donut

執筆者 donut

生まれも育ちも新潟県新潟市。ビッグデータを基盤としたINSIGHT LABのビジョンや新潟の活性化事業に惹かれ、入社。趣味はカフェ巡りとゲーム、水族館にも行きたいです。