【问题标题】:Qlik Sense: how to specify path in Google Drive?Qlik Sense:如何在 Google Drive 中指定路径?
【发布时间】:2019-04-08 13:52:54
【问题描述】:

我有一个 Google 云端硬盘帐户,分为一些文件夹(例如 Folder1、Folder2 等),其中包含一些子文件夹。
我成功地将我的 Qlik Sense 应用程序连接到它。
我需要让它只在给定的子文件夹中查找文件。

目前,我阅读如下([...] 是位置)

(URL IS [[...]connectorID=GoogleDriveConnector&table=ListSpreadsheets&appID=], qvx);

它工作并成功重新加载,但我需要它来正确过滤电子表格。
我怎样才能得到我需要的东西?

【问题讨论】:

  • 嗨,我的回答解决了问题吗?
  • 实际上,不,因为那是我已经拥有的。关键是获得我需要的以下步骤。
  • “正确过滤电子表格” - 例如,究竟是什么意思。当您制作 ListSpreadsheets 时,它会使用电子表格创建表,然后可以使用表操作(WHERE、JOINS、EXIST 等)对其进行过滤

标签: qlikview qliksense


【解决方案1】:

实际上,要连接到 Google 云端硬盘,您需要使用网络连接器。安装 Web 连接器后,可以将其初始化为服务或从其文件夹手动初始化。

一旦我安装了它(可以从https://qliksupport.force.com/apex/QS_Home_Page 下载最新版本,但似乎你已经拥有它,因为 Google Drive 是其中的一部分)在那里配置与在线驱动器的连接要好得多。

您只需转到http://localhost:5555/web 并生成准备好的代码。

在我的实现中,我逐步使用以下选项来获取我想要的数据:

1) CanAuthenticate 生成永久令牌 2)列表电子表格 3) 列表工作表 4) 获取工作表

【讨论】:

    【解决方案2】:

    您不能只指定路径。但是可以从 QWC 服务中检索路径。请使用这样的算法:

    1. 使用像 ListFiles/ListWorksheets 这样的表格

    2. 用'for'循环遍历每一行:

      FOR i=0 到 (NoOfRows('Google_ListWorksheets')-1);

         Let vWorksheetKey = Peek('worksheetKey', $(i), 'Google_ListWorksheets');
         Let vTitle = left(Peek('title', $(i), 'Google_ListWorksheets'),3);
      
    3. 使用 'if' 语句通过名称(存储在 vTitle 变量中)找到所需的文件夹 ID/工作表键并使用它:

      加载 * FROM [$(vQwcConnectionName)] (网址为 [http://localhost:5555/data?connectorID=GoogleDriveConnector&table=GetWorksheet&worksheetKey=$(vWorksheetKey)&appID=], qvx);

    最后,您将按位置获取文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 2021-07-07
      • 2016-08-18
      相关资源
      最近更新 更多