使用 WASM 数据库做分析
元数分析云支持使用 WASM 技术运行的浏览器内存数据库做数据分析,使得用户可以使用浏览器分析在线存储任何地方的数据文件,包括 Excel, CSV, JSON 和 Parquet 类型的文件。
WASM 是 WebAssembly 的缩写,它是一种用于在 Web 浏览器中运行高性能代码的二进制格式。WebAssembly 的目标是提供一种与 JavaScript 并行使用的通用Web应用程序语言,以支持更快,更强大的Web 应用程序和游戏。与 JavaScript 不同,WebAssembly 可以直接在浏览器中运行,而无需解释器或编译器的参与,从而提高了性能。WASM 可以使用多种编程语言进行编写,包括 C++,Rust 和 Go 等。除了 Web 浏览器,WebAssembly 还可以在其他环境中运行,例如操作系统内核,物联网设备和服务器。
新建 WASM 模型
无需数据源配置, 直接在语义模型管理界面点击 新建 WASM 模型 按钮, 输入名称即可进行创建。
假设你已经拿到了可以访问的数据文件链接(如 https://app.mtda.cloud/assets/data/topSubscribed.csv 数据来源于 Most Subscribed 1000 Youtube Channels ), 点击新建表参考下图方式创建表
点下一步转到数据预览步骤,这里可以更改自动识别出来的字段类型,点击应用完成配置。
由于这个文件里的 'Subscribers' 'Video Views' 'Video Count' 三个字段值是以千分位的方式存储的数字,目前 WASM DB 导入这样的数字无法自动识别,所以需要将字段类型改成 String。 或者在源文件中改成纯数字格式。 也可以使用数据库初始化脚本进行处理。
初始化脚本
也可以使用数据库初始化脚本的方式加载为数据表,使用如下 sql 脚本
-- create table manually
CREATE TABLE topSubscribed (Rank INTEGER, "Youtube Channel" VARCHAR, Subscribers DOUBLE, "Video Views" DOUBLE, "Video Count" DOUBLE, Category VARCHAR, Started VARCHAR);
-- insert table from converted file data
INSERT INTO topSubscribed SELECT Rank, "Youtube Channel",
TRY_CAST(REPLACE("Subscribers", ',', '') AS decimal(20, 0)) AS Subscribers,
TRY_CAST(REPLACE("Video Views", ',', '') AS decimal(20, 0)) AS "Video Views",
TRY_CAST(REPLACE("Video Count", ',', '') AS decimal(20, 0)) AS "Video Count",
Category,
Started
FROM 'https://app.mtda.cloud/assets/data/topSubscribed.csv';
可以执行上述脚本验证逻辑正确性,点击数据表区域的刷新元数据获取物理表可验证。
创建多维数据集
创建多维数据集 使用表 topSubscribed
创建多维数据集 TopSubscribed
标签说明为 “Top Subscribed Channels” 点击应用创建。
这里 topSubscribed
就是多维数据集的事实表,目前一个多维数据集中支持一个事实表和多个维度表。这里勾选度量或关联维度后创建多维数据集,会自动创建度量和维度结构。也可以不勾选,手动创建。手动创建模式,在源字段区域是事实表的物理表字段,被自动根据字段类型划分为维度和度量,需要调整的可以相互拖动。
选择需要生成维度和度量的字段后,点击一键生成按钮将字段生成多维数据集维度和度量。 目前基础模型就创建完成,可以用来查询数据了。
为了更好分析 Youtube Channel 维度的层次结构, 我们增强一下 Youtube Channel 维度层次结构和层级。 为现有 Youtube Channel 层级增加一个 Category 上级层级, 再新增一个 Started 层次结构,此层次结构中以 Started Year 开始往下细分为 Category 和 Youtube Channel。
创建故事
有了模型之后让我们来创建一个关于 Youtube Channel Top Subscribers 的故事。点击模型工作空间 -> 常规菜单 -> 故事 -> 创建故事,即根据当前模型创建一个故事,也可以转到故事管理页面点击 新建 选择此模型然后创建。
打开故事的设计器后可以创建一个或多个故事点页面,一个故事点页面通常代表一个主题或分析领域。接下来就是添加各种组件
分享&嵌入
创建好故事仪表板后便可以分享链接并嵌入到其他网页,点击故事工具栏中的分享菜单,打开分享窗口,将故事 可见度 设置为 公开。使用应用链接即可公网访问此故事,也可以转到嵌入并预览故事嵌入到页面中的效果:
也可以使用分享菜单中的导出功能将故事到出为文件以分享给同事。