Qlik Sense QVD 文件

QVD 文件

QVD (QlikView Data) 文件是包含从 Qlik Sense 或 QlikView 中所导出数据的表格的文件。QVD 是本地 Qlik 格式,只能由 Qlik Sense 或 QlikView 写入和读取。当从 Qlik Sense 脚本中读取数据时,该文件格式可提升速度,同时又非常紧凑。从 QVD 文件读取数据通常比从其他数据源读取快 10 到 100 倍。

QVD 文件可以用两种模式读取:标准(快速)和优化(超快)。所选模式由 Qlik Sense 脚本引擎自动确定。尽管字段可以重命名,但仅当全部加载字段在无任何转换的形式下读取(操作字段公式)时才可以使用优化模式。导致 Qlik Sense 解压记录的 Where 子句也将禁用优化加载。

QVD 文件正好包含一个数据表,由三个部分组成:

  • 在表格中描述字段的 XML 标题(UTF-8 字符集)、后续信息的布局以及一部分其他元数据。
  • 字节填充格式符号表。
  • 位填充格式实际表。

QVD 文件具有许多用途。可轻易识别四种主要的用途。在任何给定的情况下都可以应用不只一个:

从外部数据源提取的数据量也可大幅度降低。这可减少外部数据库的工作量和网络流量。而且,当几个 Qlik Sense 脚本共享相同的数据时,只需要将这些数据从源数据库加载到 QVD 文件一次即可。其他应用程序可以利用此 QVD 文件中相同的数据。

使用 Binary 脚本语句,可能只能从单个 Qlik Sense 应用程序将数据加载到另一个应用程序,但使用 QVD 文件,Qlik Sense 脚本可以合并任何数量的 Qlik Sense 应用程序数据。这使在一个应用程序中合并不同企业单位的相似数据等成为可能。

在许多常见情况下,QVD 功能可用于简化增量加载,通过独家从不断扩大的数据库中加载新记录。

  • 降低数据库服务器上的加载量
  • 合并多个 Qlik Sense 应用程序数据。
  • 增量加载

创建 QVD 文件

可以使用脚本中的 store 命令创建和命名 QVD 文件。在脚本中说明要将先前读取的表格或其部分导出到您选定位置上的一个明确命名文件。

Store

该脚本语句创建显式命名的 QVD、Parquet、CSV 或 TXT 文件。

语法:  

Store[ *fieldlist from] table into filename [ format-spec ];

该语句仅会从一个数据表格中导出字段。如果要从多个表格中导出字段,必须明确命名之前在脚本中生成的联接以创建应导出的数据表。

文本值将以 UTF-8 格式导出至 CSV 文件。可以指定一个分隔符,请参阅 LOAD。store 语句不支持将 BIFF 导出至 CSV 文件。

示例:

Store mytable into [lib://DataFiles/xyz.qvd]; 
Store * from mytable into [lib://DataFiles/xyz.qvd]; 
Store myfield from mytable into [lib://DataFiles/xyz.qvd]; 
Store myfield as renamedfield, myfield2 as renamedfield2 from mytable into [lib://DataFiles/xyz.qvd]; 
Store mytable into [lib://DataFiles/myfile1.txt]; 
Store mytable into [lib://DataFiles/myfile2.csv]; 

执行以下操作:

Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

您的脚本应如下所示:

CrossTable(Month, Sales)
LOADProduct,"Jan 2014","Feb 2014","Mar 2014","Apr 2014","May 2014"
FROM [lib://DataFiles/Product.xlsx] 
(ooxml, embedded labels, table is Product);Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);

Product.qvd 文件现在将会出现在文件列表中。

此数据文件是 Crosstable 脚本的结果且也是一个包含三列的表格,每个类别都拥有一列 (Product, Month, Sales)。此数据文件现在可用于替换整个 Product 脚本部分。

  1. 打开高级脚本编写教程应用程序。
  2. 单击 Product 脚本段。
  3. 将以下内容添加至脚本的末尾:
  4. 单击加载数据。

从 QVD 文件读取数据

可以通过以下方法由 Qlik Sense 读入或访问 QVD 文件:

示例:

LOAD * from [lib://DataFiles/xyz.qvd] (qvd);
LOAD fieldname1, fieldname2 from [lib://DataFiles/xyz.qvd] (qvd);
LOAD fieldname1 as newfieldname1, fieldname2 as newfieldname2 from [lib://DataFiles/xyz.qvd](qvd);
  • 加载 QVD 文件作为显式数据源。QVD 文件可由 Qlik Sense 脚本中的 load 语句引用,与任何其他类型的文本文件一样(csv、fix、dif、biff 等)。
  • 通过脚本访问 QVD 文件。许多脚本函数(都以 QVD 开头)都可用于检索在 QVD 文件的 XML 标题中发现的数据的不同信息。

执行以下操作:

Load * from [lib://DataFiles/ProductData.qvd](qvd);  

将数据从 QVD 文件加载。

数据加载进度窗口

数据加载进度窗口。

  1. 在 Product 脚本段中注释掉整个脚本。
  2. 输入以下脚本:
  3. 单击加载数据。

QVD File Format

The QVD file format is a binary file format that is used by QlikView to store data. The format is proprietary. However, the format is well documented and can be parsed without the need of a QlikView installation. In fact, a QVD file consists of three parts: a XML header, and two binary parts, the symbol and the index table. The XML header contains meta information about the QVD file, such as the number of data records and the names of the fields. The symbol table contains the actual distinct values of the fields. The index table contains the actual data records. The index table is a list of indices which point to values in the symbol table.

XML Header

The XML header contains meta information about the QVD file. The header is always located at the beginning of the file and is in human readable text format. The header contains information about the number of data records, the names of the fields, and the data types of the fields.

Symbol Table

The symbol table contains the distinct/unique values of the fields and is located directly after the XML header. The order of columns in the symbol table corresponds to the order of the fields in the XML header. The length and offset of the symbol sections of each column are also stored in the XML header. Each symbol section consist of the unique symbols of the respective column. The type of a single symbol is determined by a type byte prefixed to the respective symbol value. The following type of symbols are supported:

CodeTypeDescription
1Integersigned 4-byte integer (little endian)
2Floatsigned 8-byte IEEE floating point number (little endian)
4Stringnull terminated string
5Dual Integersigned 4-byte integer (little endian) followed by a null terminated string
6Dual Floatsigned 8-byte IEEE floating point number (little endian) followed by a null terminated string

Index Table

After the symbol table, the index table follows. The index table contains the actual data records. The index table contains binary indices that refrences to the values of each row in the symbol table. The order of the columns in the index table corresponds to the order of the fields in the XML header. Hence, the index table does not contain the actual values of a data record, but only the indices that point to the values in the symbol table.

QVD Reader Project

qvd4js - npmUtility library for reading/writing Qlik View Data (QVD) files in JavaScript.. Latest version: 1.0.5, last published: 6 months ago. Start using qvd4js in your project by running `npm i qvd4js`. There are no other projects in the npm registry using qvd4js.icon-default.png?t=O83Ahttps://www.npmjs.com/package/qvd4jsCSViewer – EasyQlikicon-default.png?t=O83Ahttps://easyqlik.com/csviewer/Use your Qlik QVD data in other systems with the QVD Converter by TIQ

GitHub - ralfbecher/QlikView_QVDReader_Examples: QlikView QVDReader Examples, QVDReader is part of the QVDConverter Java library to create and process QlikView data files (.qvd)QlikView QVDReader Examples, QVDReader is part of the QVDConverter Java library to create and process QlikView data files (.qvd) - ralfbecher/QlikView_QVDReader_Examplesicon-default.png?t=O83Ahttps://github.com/ralfbecher/QlikView_QVDReader_Examples

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/475699.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

攻防世界 Web新手练习区

GFSJ0475 get_post 获取在线场景后,点开网址 依据提示在搜索框输入信息 给出第二条提示信息 打开hackbar,将网址Load下来,勾选Post data,在下方输入框输入b2 点击Execute 出现flag值 GFSJ0476 robots 打开御剑扫描域名&#…

MySQL —— explain 查看执行计划与 MySQL 优化

文章目录 explain 查看执行计划explain 的作用——查看执行计划explain 查看执行计划返回信息详解表的读取顺序(id)查询类型(select_type)数据库表名(table)联接类型(type)可用的索引…

前端研发高德地图,如何根据经纬度获取地点名称和两点之间的距离?

地理编码与逆地理编码 引入插件,此示例采用异步引入,更多引入方式 https://lbs.amap.com/api/javascript-api-v2/guide/abc/plugins AMap.plugin("AMap.Geocoder", function () {var geocoder new AMap.Geocoder({city: "010", /…

React(二)

文章目录 项目地址七、数据流7.1 子组件传递数据给父组件7.1.1 方式一:給父设置回调函数,传递给子7.1.2 方式二:直接将父的setState传递给子7.2 给props传递jsx7.2.1 方式一:直接传递组件给子类7.2.2 方式二:传递函数给子组件7.3 props类型验证7.4 props的多层传递7.5 cla…

SpringBootTest常见错误解决

1.启动类所在包错误 问题 由于启动类所在包与需要自动注入的类的包不在一个包下: 启动类所在包: com.exmaple.test_02 但是对于需要注入的类却不在com.exmaple.test_02下或者其子包下,就会导致启动类无法扫描到该类,从而无法对…

Redis面试篇笔记(持续更新)

一、redis主从集群 单节点redis的并发能力是由上限的,要进一步提高redis的并发能力可以搭建主从集群,实现读写分离,一主多从,主节点写数据,从节点读数据 部署redis主从节点的docker-compose文件命令解析 version: &q…

ISUP协议视频平台EasyCVR私有化视频平台新能源汽车充电停车管理方案的创新与实践

在环保意识提升和能源转型的大背景下,新能源汽车作为低碳出行的选择,正在全球迅速推广。但这种快速增长也引发了充电基础设施短缺和停车秩序混乱等挑战,特别是在城市中心和人口密集的居住区,这些问题更加明显。因此,开…

goland单元测试

一、单元测试的概念 1.1 什么是单元测试,有什么用? 单元测试是针对于函数的测试,用来保证该函数的逻辑正确性。 1.2 单元测试的要求? 1. 单元测试在正式上线之前应该全部自动执行,并且需要保证全部通过 2. 单元测试需…

连接数据库:通过链和代理查询鲜花信息

目录 新的数据库查询范式 实战案例背景信息 创建数据库表 用 Chain 查询数据库 用 Agent 查询数据库 一直以来,在计算机编程和数据库管理领域,所有的操作都需要通过严格、专业且结构化的语法来完成。这就是结构化查询语言(SQL&#xff0…

【c++丨STL】stack和queue的使用及模拟实现

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 一、什么是容器适配器 二、stack的使用及模拟实现 1. stack的使用 empty size top push和pop swap 2. stack的模拟实现 三、queue的…

aws上安装ssm-agent

aws-cloudwatch 连接机器 下载ssm-agent aws-ec2 安装ssm-agent aws-linux安装ssm-agent 使用 SSM 代理查找 AMI 预装 先运行:systemctl status amazon-ssm-agent 查看sshm-agent的状态。 然后安装提示,执行 systemctl start amazon-ssm-agent 启动即…

百度世界2024:智能体引领AI应用新纪元

在近日盛大举行的百度世界2024大会上,百度创始人李彦宏以一场题为“文心一言”的精彩演讲,再次将全球科技界的目光聚焦于人工智能(AI)的无限可能。作为一名科技自媒体,我深感这场演讲不仅是对百度AI技术实力的一次全面…

纯血鸿蒙NEXT-组件导航 (Navigation)

Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(NavDestination的子组件…

C语言 | Leetcode C语言题解之第564题寻找最近的回文数

题目&#xff1a; 题解&#xff1a; #define MAX_STR_LEN 32 typedef unsigned long long ULL;void reverseStr(char * str) {int n strlen(str);for (int l 0, r n-1; l < r; l, r--) {char c str[l];str[l] str[r];str[r] c;} }ULL * getCandidates(const char * n…

docker学习笔记跟常用命令总结

Docker简介 Docker是一个用于构建运行传送应用程序的平台 镜像 将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜 镜像结构 镜像管理命令 命令说明docker pull拉取镜像docker push推送镜像docker images查看本地镜像docker rmi删除本地镜像docker image prune…

MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

MySQL中的InnoDB存储引擎支持四种事务隔离级别&#xff0c;这些级别定义了事务在并发环境中的行为和相互之间的可见性。以下是这四种隔离级别的名称以及它们之间的区别&#xff1a; 读未提交&#xff08;Read Uncommitted&#xff09; 特点&#xff1a;这是最低的隔离级别&…

【力扣热题100】[Java版] 刷题笔记-226. 翻转二叉树

题目:226. 翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 解题思路 二叉树翻转&#xff0c;可以通过递归进行交换。 解题过程 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeN…

Android kotlin之配置kapt编译器插件

配置项目目录下的gradle/libs.versions.toml文件&#xff0c;添加kapt配置项&#xff1a; 在模块目录下build.gradle.kt中增加 plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android)// 增加该行alias(libs.plugins.jetbrains.kotl…

【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩

1.Linux系统下常用的压缩格式 常用的压缩扩展名&#xff1a;.tar、.tar.bz2、.tar.gz 2.Windows下7ZIP软件安装 Linux系统下很多文件是.bz2&#xff0c;.gz结尾的压缩文件。 3.Linux系统下gzip压缩工具 gzip工具负责压缩和解压缩.gz格式的压缩包。 gzip对单个文件进行…

【Linux】【Shell】Shell 基础与变量

Shell 基础 Shell 基础查看可用的 Shell判断当前 Shell 类型 变量环境变量查看环境变量临时环境变量永久环境变量PATH 变量 自定义变量特殊赋值(双引号、单引号、反撇号) 预定义变量bashrc Shell 基础 Shell 是一个用 C 语言编写的程序&#xff0c;相当于是一个翻译&#xff0c…