数据和商业智能词汇表术语

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X

A

聚合

使用数学函数汇总数据的行为,例如计算列中的平均值,或统计表中的行数。

聚合是指使用数学函数汇总数据的行为,例如计算列中的平均值或统计表中的行数。结果数值通常被称为一个度量(metric),这与 Metabase 中的指标(metrics)有所不同。字段中的单个值本身可能没有太大意义,但当我们以某种特定方式组合这些值时,我们可以描绘出数据的更全面视图。聚合是将这些值折叠成单个结果的过程,通常与分组结合执行——即将多行根据某个特定值(例如按产品类别或国家/地区)进行组合。聚合可以即时计算,但您可能还希望创建包含结果的汇总表,并保存这些聚合函数的结果以供将来使用。汇总表在处理大型数据集时特别有用;由于汇总表是预先计算的,依赖它们的查询运行速度会快得多。SQL 中常见的聚合函数 不同的数据库有不同的函数集,但以下是一些您会遇到的最常见的聚合函数: COUNT() - 统计表中的行数。 AVG() – 计算字段中值的平均值。 MIN() – 识别字段中的最小值。 MAX() – 识别字段中的最大值。 SUM() – 返回字段中值的总和。 STDEV() – 计算字段中值的标准差。聚合示例 假设我们使用 Metabase 的示例数据库,我们想知道我们产品的平均价格,并按产品类别分组。在这种情况下,我们将使用 Products 表。我们的 SQL 查询将如下所示:SELECT category, avg(price) FROM products GROUP BY category 正如我们所愿,我们计算了 Products 表中 Price 列的平均值,并根据 Category 字段中的值对这些平均值进行了分组。如果想在 Metabase 的查询构建器中执行相同的聚合,我们将按价格平均值进行汇总,然后按类别分组,如下图所示:图 1. 在查询构建器中执行聚合:按产品类别分组的产品平均价格。

阅读更多
属性

属性是描述或标识某个实体的特性。在某些 Metabase 计划中,用户属性用于限制用户可以访问的数据。

属性是描述或标识某个实体的特性。数据领域的人们在几种不同的语境中使用“属性”一词,因此我们将在此尽力消除歧义。基本上,属性是某事物的特征。该事物可能是一个表,但属性也可以指特定记录的特征,例如 Metabase 中的用户属性。关系数据库中的属性 在关系数据库中,人们经常将属性与列或字段互换使用,例如产品的类别是该产品的属性(或描述)。属性的这种用法在数据建模和设计实体关系图的背景下经常出现。属性示例 以下是 Metabase 示例数据库中 People 表的视图,其中包含 ID、Name、Address、City、State 等字段:图 1. People 表的视图。这些字段中的每一个都是一个属性——这些字段中的值描述了它们所关联的记录的一些信息,在本例中是 People 表中的“人员”。Metabase 中的用户属性 同步用户属性仅适用于专业版和企业版计划(包括自托管和 Metabase 云)。属性也可以指与特定用户关联的独立变量值,例如 User_ID。这种结构称为键值对,有时也称为属性值对。在 Metabase 中,某些计划允许您自行设置用户属性(或通过 SSO 将其传递给 Metabase)。您可以使用这些用户属性在仪表板上设置自定义目标,例如,当用户单击图表时,使用用户 ID 对 URL 进行参数化。用户属性也是数据沙盒的重要组成部分,它使您可以对使用 Metabase 实例的用户可以访问的数据进行精细控制。由于数据沙盒与单个用户关联,因此设置不同的用户属性可以让 Metabase 准确了解如何根据查看者过滤表。

阅读更多

B

BI 工具

一款旨在让用户无需依赖代码即可查看数据的应用程序。

BI 工具是一款旨在让用户无需依赖代码即可查看数据的应用程序。这些应用程序允许用户以表格、图表和仪表板的形式可视化和共享数据。BI 工具可连接到您组织中现有的数据源,例如您的数据仓库、CRM 或事件分析服务。常见的 BI 工具 电子表格应用程序 BI 工具的一个经典示例是 Microsoft Excel 或 Google Sheets 等电子表格应用程序,您可以在其中以表格、数据透视表或图表的形式可视化数据,并将结果作为独立文件(或云端这些文件的链接)进行共享。BI 平台 BI 工具通常被认为是一种仅用于数据可视化和生成报告的应用程序。而像 Metabase 这样的 BI 平台是一种 BI 工具,可以处理报告之外的附加任务,例如数据建模、数据目录、版本控制和权限管理。BI 工具如何融入数据堆栈?图 1. BI 工具属于现代数据堆栈的分析组件。BI 工具是可设置在数据堆栈面向用户一端的众多分析工具之一。特别是 BI 平台可以处理堆栈中其他部分的一些相同任务。以下是您可以预期这些部分如何交互的方式:BI 工具与数据库 BI 工具不是数据源——它们不会取代生产数据库或数据仓库来存储您组织拥有的数据。BI 工具通过运行查询并显示结果来从数据库中提取信息。BI 工具与 ETL BI 工具不会取代 ETL(或 ELT)来按计划摄取或转换大量数据。但是,与 ETL 类似,一些 BI 平台可以通过即时运行查询来处理数据建模和数据拼接(连接来自不同数据库的数据)。BI 工具与事件分析服务 Google Analytics、Segment 或 Amplitude 等事件或网络分析服务从您的产品中收集使用数据。尽管这些服务带有自己的界面来可视化和共享该数据,但它们不被视为 BI 工具。您可以将它们视为可以独立使用的迷你数据堆栈。事件分析服务可以通过将其与中央 BI 工具结合来集成到您的核心数据堆栈中。您可以从服务下载事件数据并将其移动到连接到您的 BI 工具的数据仓库中,或者如果支持,可以将服务直接连接到您的 BI 工具。BI 工具与开源编码工具 Jupyter Notebook 和 RShiny 等开源工具使用 Python 和 R 等编程语言来处理数据。它们可用于构建分析报告和仪表板,但它们不被视为 BI 工具,因为它们依赖代码而非可视化界面。

阅读更多
数据桶

用于在图表中对值进行分组的连续值单一范围。

数据桶是用于在图表中对值进行分组的连续值单一范围。数据分箱有助于简化数据可视化,以便人们了解数据的分布并轻松发现异常值。您最常看到数据桶与直方图一起使用,但它们并非直方图独有,也可用于其他可视化类型,如折线图或饼图。如果数据集中某个度量包含许多唯一值,则在图表上绘制每个单独的数据点可能会显得杂乱,并且可能无法最佳地表示您的数据。当您对数据进行分箱时,这些值会被分组为大小相等的区间(例如 1-10、11-20、21-30 等),并且您生成的图表将显示每个数据桶中值的计数。数据分箱示例 图 1 显示了 Metabase 示例数据库中产品的价格,以直方图形式显示。图 1. 示例数据库中产品的价格,以直方图形式显示。Metabase 会根据数据的分布方式自动生成数据桶。这里的数据桶是价格范围;我们可以看到,价格在 37.50-50.00 美元范围内的产品比其他任何范围都多。Metabase 自动对这些值进行了分箱,但我们也可以选择所需的数据桶数量(10、50 或 100)来进一步调整此图表。如果您的数据桶大小太小,数据桶数量就会过多,可能导致难以解释的可视化效果。然而,太少的数据桶会给您一个不完整或过度压缩的数据分布图,所以请尝试并找出最适合您数据的方法。

阅读更多

C

卡片

仪表板的一个组件,用于显示数据或文本。

卡片是仪表板的一个组件,用于显示数据或文本。Metabase 仪表板由卡片组成,每张卡片显示一些数据(可视化为表格、图表、地图或数字)或文本(如标题、描述信息或相关链接)。卡片与问题 仪表板上的卡片不仅仅是您已提出的问题的迷你版本。如果您只是将保存的问题添加到仪表板就结束了,您可能会错过卡片所能做的许多事情。只要它们共享一个维度,您就可以在单个卡片中组合多个已保存的问题。您的卡片也不必包含不同的问题。在仪表板上多次包含同一张卡片可能很有用,例如如果您想将一个问题同时可视化为折线图和条形图。编辑仪表板上的卡片 在编辑仪表板时,您可以:在仪表板网格上排列和调整卡片大小。更改卡片的可视化选项,而不影响底层问题。将卡片连接到仪表板筛选器以筛选问题结果。设置卡片的点击行为以更改当有人点击卡片时发生的事情。虽然仪表板上的这些卡片看起来时尚且具有视觉吸引力很好,但更重要的是您能传达人们需要查看的信息,而无需添加过多无关内容。仪表板上卡片示例 图 1 中的仪表板包含用作标题和描述的文本卡片,以及带有数字、趋势、折线图和区域地图的卡片:图 1. 仪表板上包含问题和文本的卡片。卡片和 Metabase API 在 Metabase API 中,`api/card` 路由指的是问题,而不是仪表板上的卡片。您仍然可以使用 API 编辑和获取有关仪表板上卡片的信息(例如使用 `api/dashboard`),但请记住这种区别,并查看 API 文档以获取完整的路由和端点列表。

阅读更多

在表中垂直显示的一系列值,通常属于特定字段。

列是在表中垂直显示的一系列值,通常属于特定字段。在关系数据库表中,列中的每个值都对应一个不同的记录。列中的值共享一个数据类型。也就是说,如果列的数据类型是整数,则该列中的每个值都必须是整数。可能还有其他约束,例如与格式、字符长度或该值是否必填相关。列示例 以下是 Metabase 示例数据库中 Orders 表的图像,其中“创建时间”列已突出显示。“创建时间”列的数据类型是 DateTime,此列中的每个值都对应于单个订单的时间戳。图 1. Orders 表的视图,突出显示了“创建时间”列。列与字段 虽然列和字段在技术上不是同一事物,但通常可以互换使用这些术语。请参阅列与字段。然而,请记住,列并不总是直接对应数据库中的字段。例如,您可能希望在 Metabase 中创建一个包含计算值的自定义列,例如显示每个订单折扣百分比的列。您可以通过告诉 Metabase 计算折扣除以小计并在新列中显示结果值来创建此自定义列。列式存储 尽管许多传统关系数据库以行形式存储数据,通常最适合存储事务数据,但某些数据库(例如针对分析优化的数据仓库)利用列式存储。列式数据库(也称为面向列的数据库)将列的值物理地存储在一起,而不是基于整个行进行索引。这可以显著加快分析查询和聚合函数的速度,因为这些查询将能够从磁盘上的同一位置检索相似数据,而不是在整个数据库中执行大量读取以从单个记录中提取列的值。

阅读更多
国家代码

标识国家/地区的标准两字母或三字母代码。

国家代码是标识国家/地区的标准两字母或三字母字符串。Metabase 支持 alpha-2 国家代码。国家代码列表 AD 安道尔 AE 阿拉伯联合酋长国 AF 阿富汗 AG 安提瓜和巴布达 AI 安圭拉 AL 阿尔巴尼亚 AM 亚美尼亚 AO 安哥拉 AQ 南极洲 AR 阿根廷 AS 美属萨摩亚 AT 奥地利 AU 澳大利亚 AW 阿鲁巴 AX 奥兰群岛 AZ 阿塞拜疆 BA 波斯尼亚和黑塞哥维那 BB 巴巴多斯 BD 孟加拉国 BE 比利时 BF 布基纳法索 BG 保加利亚 BH 巴林 BI 布隆迪 BJ 贝宁 BL 圣巴泰勒米 BM 百慕大 BN 文莱达鲁萨兰国 BO 玻利维亚(多民族国) BQ 博奈尔、圣尤斯特歇斯和萨巴 BR 巴西 BS 巴哈马 BT 不丹 BV 布韦岛 BW 博茨瓦纳 BY 白俄罗斯 BZ 伯利兹 CA 加拿大 CC 科科斯(基林)群岛 CD 刚果民主共和国 CF 中非共和国 CG 刚果 CH 瑞士 CI 科特迪瓦 CK 库克群岛 CL 智利 CM 喀麦隆 CN 中国 CO 哥伦比亚 CR 哥斯达黎加 CU 古巴 CV 佛得角 CW 库拉索 CX 圣诞岛 CY 塞浦路斯 CZ 捷克 DE 德国 DJ 吉布提 DK 丹麦 DM 多米尼克 DO 多米尼加共和国 DZ 阿尔及利亚 EC 厄瓜多尔 EE 爱沙尼亚 EG 埃及 EH 西撒哈拉 ER 厄立特里亚 ES 西班牙 ET 埃塞俄比亚 FI 芬兰 FJ 斐济 FK 福克兰群岛(马尔维纳斯) FM 密克罗尼西亚(联邦) FO 法罗群岛 FR 法国 GA 加蓬 GB 大不列颠及北爱尔兰联合王国 GD 格林纳达 GE 格鲁吉亚 GF 法属圭亚那 GG 根西岛 GH 加纳 GI 直布罗陀 GL 格陵兰 GM 冈比亚 GN 几内亚 GP 瓜德罗普 GQ 赤道几内亚 GR 希腊 GS 南乔治亚岛和南桑威奇群岛 GT 危地马拉 GU 关岛 GW 几内亚比绍 GY 圭亚那 HK 香港 HM 赫德岛和麦克唐纳群岛 HN 洪都拉斯 HR 克罗地亚 HT 海地 HU 匈牙利 ID 印度尼西亚 IE 爱尔兰 IL 以色列 IM 马恩岛 IN 印度 IO 英属印度洋领地 IQ 伊拉克 IR 伊朗(伊斯兰共和国) IS 冰岛 IT 意大利 JE 泽西岛 JM 牙买加 JO 约旦 JP 日本 KE 肯尼亚 KG 吉尔吉斯斯坦 KH 柬埔寨 KI 基里巴斯 KM 科摩罗 KN 圣基茨和尼维斯 KP 朝鲜(民主人民共和国) KR 韩国 KW 科威特 KY 开曼群岛 KZ 哈萨克斯坦 LA 老挝人民民主共和国 LB 黎巴嫩 LC 圣卢西亚 LI 列支敦士登 LK 斯里兰卡 LR 利比里亚 LS 莱索托 LT 立陶宛 LU 卢森堡 LV 拉脱维亚 LY 利比亚 MA 摩洛哥 MC 摩纳哥 MD 摩尔多瓦共和国 ME 黑山 MF 圣马丁(法属部分) MG 马达加斯加 MH 马绍尔群岛 MK 北马其顿 ML 马里 MM 缅甸 MN 蒙古 MO 澳门 MP 北马里亚纳群岛 MQ 马提尼克 MR 毛里塔尼亚 MS 蒙特塞拉特 MT 马耳他 MU 毛里求斯 MV 马尔代夫 MW 马拉维 MX 墨西哥 MY 马来西亚 MZ 莫桑比克 NA 纳米比亚 NC 新喀里多尼亚 NE 尼日尔 NF 诺福克岛 NG 尼日利亚 NI 尼加拉瓜 NL 荷兰 NO 挪威 NP 尼泊尔 NR 瑙鲁 NU 纽埃 NZ 新西兰 OM 阿曼 PA 巴拿马 PE 秘鲁 PF 法属波利尼西亚 PG 巴布亚新几内亚 PH 菲律宾 PK 巴基斯坦 PL 波兰 PM 圣皮埃尔和密克隆 PN 皮特凯恩 PR 波多黎各 PS 巴勒斯坦国 PT 葡萄牙 PW 帕劳 PY 巴拉圭 QA 卡塔尔 RE 留尼汪 RO 罗马尼亚 RS 塞尔维亚 RU 俄罗斯联邦 RW 卢旺达 SA 沙特阿拉伯 SB 所罗门群岛 SC 塞舌尔 SD 苏丹 SE 瑞典 SG 新加坡 SH 圣赫勒拿、阿森松和特里斯坦-达库尼亚 SI 斯洛文尼亚 SJ 斯瓦尔巴和扬马延 SK 斯洛伐克 SL 塞拉利昂 SM 圣马力诺 SN 塞内加尔 SO 索马里 SR 苏里南 SS 南苏丹 ST 圣多美和普林西比 SV 萨尔瓦多 SX 荷属圣马丁 SY 阿拉伯叙利亚共和国 SZ 斯威士兰 TC 特克斯和凯科斯群岛 TD 乍得 TF 法属南部领地 TG 多哥 TH 泰国 TJ 塔吉克斯坦 TK 托克劳 TL 东帝汶 TM 土库曼斯坦 TN 突尼斯 TO 汤加 TR 土耳其 TT 特立尼达和多巴哥 TV 图瓦卢 TW 中国台湾省 TZ 坦桑尼亚联合共和国 UA 乌克兰 UG 乌干达 UM 美国本土外小岛屿 US 美利坚合众国 UY 乌拉圭 UZ 乌兹别克斯坦 VA 梵蒂冈 VC 圣文森特和格林纳丁斯 VE 委内瑞拉玻利瓦尔共和国 VG 英属维尔京群岛 VI 美属维尔京群岛 VN 越南 VU 瓦努阿图 WF 瓦利斯和富图纳 WS 萨摩亚 YE 也门 YT 马约特 ZA 南非 ZM 赞比亚 ZW 津巴布韦

阅读更多

D

仪表板

一种数据可视化工具,可在单个屏幕上收集和整理重要的图表和文本。

仪表板是一种数据可视化工具,可在单个屏幕上收集和整理重要的图表和文本。仪表板可提供对KPI和其他业务指标的高级集中视图,涵盖从整体业务健康状况到特定项目或营销活动成功与否的所有内容。该术语来源于汽车仪表盘,它(就像其商业智能对应物一样)提供有关重要功能的状况更新和警告(只是针对制动液不足之类的事情,而不是您的近期营销活动表现如何)。仪表板与报告 仪表板与报告并不完全相同,尽管您有时会听到人们将仪表板称为报告。区别在于仪表板往往更易于一目了然地阅读和理解,而传统报告则提供对主题更详细的了解。与传统报告不同,仪表板可以在单个屏幕上查看,并且通常包含一些交互式元素。您可能不会打印仪表板来阅读,这对于依赖静态历史数据的传统报告来说更有意义。但是,就像传统报告一样,您可以根据预设的计划发送更新的仪表板,例如通过 Metabase 中的仪表板订阅。Metabase 中的仪表板 在 Metabase 中,仪表板由包含问题或文本的卡片组成。在 Metabase 中创建和编辑仪表板时,您有许多选项,例如:调整卡片排列和大小以适应您想要的仪表板设计。通过设置自定义点击行为并将一个仪表板链接到另一个仪表板来使您的仪表板具有交互性。添加筛选器小组件并将其连接到单个卡片上的特定字段。使用 Markdown 为您的仪表板添加文本或GIF注释。通过链接或将其嵌入到您的网站或应用程序中来共享您的仪表板。仪表板示例 图 1 显示了 Metabase 中一个包含三个问题卡片和三个筛选器小组件的仪表板示例。如果有人在其中一个筛选器小组件中输入客户ID、客户名称或日期,图表将相应调整以反映该添加的筛选器。图 1. 一个包含三个问题卡片和三个筛选器小组件的仪表板。

阅读更多
数据字典

一份描述数据库中表、字段和其他元素并解释其含义和来源的文档。

数据字典是一份文档,描述数据库中的表、字段和其他元素,并解释它们的含义和来源。数据字典是数据库元数据的存储库,存储人们理解和使用该数据所需的管理信息。可以把它们想象成一本普通的词典,但数据字典包含的是构成数据库的对象定义和信息,而不是语言中的每个单词。最新且全面的数据字典有助于确保每个人对特定字段或表的实际含义保持一致的理解。数据字典还可以帮助确保不同部门都一致地使用这些术语。数据字典通常是与它们所描述的数据库一起存储的独立文件或文件集。尽管数据库数据字典的某些方面可能对所有数据库用户都可访问(例如每个人都需要知道的重要描述),但其他部分可能只有数据库管理员才能查看(例如关于数据库物理实现的 technical details)。Metabase 中的数据字典 在 Metabase 中,数据参考部分充当数据字典。数据字典包含什么? 数据字典收集和存储与数据库相关的元数据,通常包括以下信息:表和字段描述、数据类型、完整性约束、命名约定、文件位置。尽管数据字典的具体格式将取决于您的组织和数据集的复杂性,但通常数据字典会格式化为表格或系列表格,其中包含元数据字段,例如字段名称、描述、数据类型、字符长度以及是否允许空值。您可以使用简单的电子表格、在关系型数据库软件中,甚至作为文本文件来创建数据目录。数据字典 vs. 模式 vs. 数据目录 这里与数据库的模式存在一些重叠,但一般来说,模式定义了数据库的结构以及表及其字段如何组合在一起,而数据字典则提供有关该数据的上下文信息。也许您也听说过数据目录,这是另一个类似的概念。一些组织利用数据目录更好地促进其数据的发现和分析;它们类似于数据字典,但增加了一些特性和功能,比传统的基于文档的数据字典更进一步。

阅读更多
数据湖

数据湖是存储结构化和非结构化信息的地方,通常以文件或二进制大对象(blob)的形式。

数据湖是存储结构化和非结构化信息的地方,通常以文件或二进制大对象(blob)的形式。您可以将数据湖视为所有数据的倾倒场,无论其结构、格式或预期用途如何。“湖”的概念很大程度上是营销术语,但这种水生比喻来源于数据湖中的信息以比更严格和分层的数据仓库更“自然”的状态流动。由于它们可以存储不需要遵循特定模式的原始数据,因此数据湖在扩展以存储大量信息(达到 PB 级别)时往往具有成本效益。由于无需在一开始就定义模式,数据湖的设置可能很简单;您可以出于特定用途加载数据,或者只是将其保留以备将来使用,即使您还不确定需要对其运行哪种查询。然而,一旦设置完成,配置实际使数据湖有用的工具可能会变得复杂和昂贵——通常需要数据工程师的专业知识。这些工程师将根据需要设置 ETL,甚至在数据湖的某些部分训练机器学习模型。数据湖依赖于“读取时模式”系统,这意味着数据只有在从数据湖中提取进行查询时才根据模式进行验证,而不是在首次写入时。然而,这意味着从数据湖中提取和使用数据需要更多工作。仅仅因为数据湖提供了更大的灵活性,并不意味着您应该抛弃所有数据治理;进入您数据湖的信息仍应是高质量的,经过清理和注释,以便您的 ETL 或查询引擎(以及因此需要数据的人)可以很好地利用它。何时使用数据湖 如果您需要分析大量的半结构化和/或非结构化信息(例如,如果您是一家物联网公司),那么数据湖可能是一个很好的选择。由于在写入数据时无需强制执行整体模式,因此如果您同时处理许多不同类型的数据源——例如流数据、结构化应用程序数据库、来自物联网设备的数据、社交媒体或网络流量——数据湖也可以是一个有效的解决方案。最终,具有复杂数据需求的组织可能不会完全依赖数据湖或数据仓库(甚至数据湖屋),而是构建能够兼顾两者的独立数据架构,同时考虑组织的整体战略、使用人员的需求以及他们需要执行的查询类型。设置数据湖 假设您要设置数据湖。概括来说,流程将是这样的:选择云存储提供商。有些数据湖服务可以帮助您设置所需的各种层和工具,但其核心,“湖”是您的存储层——您将结构化和非结构化数据保存在一起的地方(例如在 AWS S3 或 Microsoft Azure 中)。识别您的数据源。这些可以是结构化的(如应用程序数据库)、半结构化的(如 XML 或 JSON 文件),或非结构化的(如社交媒体帖子、图像或文本文档)。清理并从这些源摄取数据。在此阶段,您将注释这些数据源(特别是半结构化和非结构化数据源),添加元数据并根据您可能对该数据提出的问题类型进行标记和分类。一旦数据清理完毕,这些带注释的副本就会加载到您的数据湖中,可能以 Parquet 等列式格式存储,这种格式更适合分析查询。根据需要创建 ETL 并查询您的数据湖。由于数据湖的格式混合且通常是非结构化的特性,工程师和数据科学家通常是直接访问数据湖的人员。您的数据分析师等人员将通过使用 Presto 或 SparkSQL 等查询引擎查询数据湖,这些引擎定期在数据湖上运行 ETL,对其进行结构化,以便可以通过 SQL 查询数据。这些查询在数据的清理、注释和列式副本上执行,而不是在原始数据源本身上执行(原始数据和清理后的数据都存储在您的数据湖中)。

阅读更多
数据模型

任何组织和标记信息的模式。

“数据模型”一词用于描述任何组织和标记信息的模式。人们会使用“数据模型”作为一种通用方式来指代模式、派生表(视图)或实体关系图(ERD)等概念。良好的数据模型有助于人们更快地找到信息。例如,商场目录是一种数据模型,它组织了商场内店铺的信息。它按类别或位置对店铺进行分组和标记,并通过在地图上显示它们来解释店铺之间的关系。与独自在商场里闲逛或阅读随机的店铺名称列表相比,这种模型使人们更容易找到去哪里。数据建模示例 在数据建模过程中做出决策时,最好首先弄清楚人们想要寻找什么以及为什么寻找。假设我们想要创建一个数据模型来存储电影信息,以帮助人们寻找新的电影观看。您可以将此数据模型视为一个可以为任何电影填写的模板。该模板应做两件事:表示电影中有助于找到特定电影的部分。例如,人们可能会通过片名、导演、类型或演员来搜索他们想看的电影。描述各部分之间的关系,以便可以轻松地根据一组信息查找另一组信息。例如,模板应确保任何电影标题都至少与一位导演相关联。最简单的数据模型类型是将相关部分组合到一个模板中,并包含一些关于如何填写它的信息。例如,下面的模板可以作为任何电影的数据模型。电影 标题:任何文本(必填)。导演:姓名列表(必填)。类型:任何文本(可选)。演员:姓名列表(可选)。该模型可以通过添加更多与电影相关的部分来扩展,例如发行年份或运行时长。如果现有部分有助于查找信息,我们也可以对其进行扩展。例如,人们可能想通过电影中演员的特定信息(例如他们获得的任何表演奖项)来搜索电影。由于“演员”只记录演员姓名,我们可以将奖项信息拆分到一个新的数据模型中。表演奖项 奖项:表演奖项名称(必填)。获奖年份:年份(必填)。演员:名和姓(可选)。由于演员姓名同时出现在两个模型中(在“演员表”或“演员”下),因此存在连接电影模型和表演奖项模型的关系。当两个模板都填入真实的电影和奖项信息后,人们将能够通过特定奖项查找电影。上述书面模板是思考如何分解数据模型信息的简单方法,但根据用例的不同,您可以遵循许多最佳实践。您可以在下一节中找到常见数据模型格式的示例。常见数据模型 模式 模式是一种概念数据模型。它们被数据库工作人员使用。信息由命名列和数据类型表示。关系由表或 JSON 对象等结构描述。实体关系图 实体关系图是一种可视化数据模型。实体关系图被需要讨论信息管理和架构的人员使用。信息由不同的形状表示,例如矩形或菱形。关系由不同的线条描述,例如箭头或虚线。Metabase 模型 Metabase 模型是一种数据模型,您可以从问题或 SQL 查询中创建和保存。信息由命名列和任何关联的元数据表示。关系由问题或 SQL 查询中使用的逻辑描述。人们实际如何使用“数据模型”一词 您可能会发现不同的团队非正式地使用“数据模型”一词来表示不同的含义:编写 SQL 的人可能会用它来指代派生表或视图。程序员可能会用它来指代模式或实体关系图。Metabase 中的数据模型 如果您是 Metabase 管理员,您将有权访问 Metabase 中的数据模型页面。您在此处所做的更改将影响数据在 Metabase 中所有地方的显示方式。数据模型页面和 Metabase 模型之间有什么区别? 数据模型位于连接到 Metabase 的原始数据仓库表之上。它是一个建模层,您可以使用它来清理您的组织可以看到的表。您可以将其视为一种在数据世界和业务世界之间“翻译”信息的方式,通过分配人类可读的名称并保存片段或指标的常见定义。Metabase 模型位于数据模型之上。任何有权使用底层数据库表的人都可以创建它们。

阅读更多

E

实体关系图

实体关系图(ERD)是一种图形表示,显示数据库中的表如何相互连接。

实体关系图(ERD)是一种图形表示,显示数据库中的表如何相互连接。实体关系图以高级视图显示数据库的结构(或模式)。实体关系图是设计新数据模型或识别现有模式中问题的有用工具。实体关系图基本上就是通过线条(它们之间的关系)连接起来的盒子(您的实体或表)。您的数据库软件可能具有一些内置功能来创建实体关系图,但您也可以使用任何您最喜欢的设计软件,或者采用模拟方式在纸上绘制您的实体关系图。如何做并不那么重要;真正重要的是确保您的图表准确且逻辑清晰,这样您就可以为您的特定用例设计最有效的数据库。实体关系图示例 以下是一个显示 Metabase 示例数据库的实体关系图示例:图 1. Metabase 示例数据库的简单实体关系图。Orders、Products、People 和 Reviews 这四个表是我们的实体,连接线显示了它们之间的三个一对多关系。实体关系图设计和符号 绘制实体关系图时,每个框应包含该表的名称、字段和关键信息(主键和外键)等信息。您会注意到,在上面的示例中,每个表的关键信息在字段名称旁边用 (PK) 和 (FK) 表示。每个实体之间的线条类型说明了每个表与另一个表之间的关系类型。不同的组织和行业使用不同的实体关系图符号约定,但最常见的一种是“乌鸦脚”符号,之所以得名,是因为三叉符号(用于表示“多对多”关系)有点像鸟的脚。图 2 显示了乌鸦脚符号中常用的符号及其对应的关系类型:图 2. 乌鸦脚符号中用于表示不同类型表关系的线条。

阅读更多
嵌入

将一个应用程序的某些功能置于另一个应用程序内。Metabase 使用 iframe 嵌入问题、仪表板,或(在某些计划中)整个 Metabase 应用程序。

嵌入是将一个应用程序的某些功能置于另一个应用程序内的过程。在分析领域,这通常意味着将数据可视化集成到父应用程序中,允许人们在其应用程序的上下文中查看图表。嵌入还可以为父应用程序节省时间和资源,使团队能够利用现有分析工具,而不是从头开始自行构建所有内容。尽管这不是唯一的嵌入方式,但在 Metabase 中嵌入涉及使用 iframe(内联框架)将问题、仪表板或(在某些计划中)完整的 Metabase 应用程序放置到另一个应用程序中。嵌入 Metabase 图表和仪表板 嵌入不仅仅是将图表的静态图像放入您的网站或应用程序中。相反,该 iframe 在您的主浏览器或应用程序中创建一个嵌套浏览器,指向其自己的独立 URL。这样,嵌入的 Metabase 图表或仪表板会保持最新。当您查看嵌入的图表时,您仍然看到的是 Metabase 图表本身,只是嵌套在父应用程序中。根据安全配置,您的单个嵌入式图表和仪表板可以是公共嵌入或安全嵌入。您还可以配置或锁定参数以影响人们在这些图表上看到的内容,如图 1 所示:图 1. 在发布用于嵌入的仪表板之前,使参数可编辑并启用深色模式。嵌入完整的 Metabase 应用程序 交互式嵌入仅适用于 Pro 和企业版计划(包括自托管和 Metabase Cloud)。在某些计划中,您可以在应用程序中嵌入完整的 Metabase 体验。交互式嵌入对于多租户分析特别有用,例如为您的客户提供他们可以查看和交互的特定报告,同时始终保留在您的应用程序中。

阅读更多

F

G

H

I

J

连接

关系型数据库中两个表的结果组合。

连接是关系型数据库中两个表的结果组合。尽管“连接”这个词听起来像是您在合并表本身,但连接实际上是从两个(或更多)不同的表中取出行,并返回一组新的行,这些行组合了这些表中的列,使用实体键和外键来确定哪些行是相关的。连接类型 SQL 连接有四种类型:左外连接:选择表 A 中的所有记录,以及表 B 中满足连接条件的记录(如果有)。右外连接:选择表 B 中的所有记录,以及表 A 中满足连接条件的记录(如果有)。内连接:只选择表 A 和表 B 中满足连接条件的记录。全外连接:选择两个表中的所有记录,无论是否满足连接条件。Metabase 中的连接示例 Metabase 在查询构建器中提出的问题默认为左外连接,但原生 SQL 查询默认为内连接(也就是说,如果您在查询中只使用 JOIN 而不指定连接类型)。假设我们想从 Metabase 示例数据库中的 People 和 Orders 表返回结果,例如一个包含订单 ID、下单人姓名及其用户 ID 的表。查询构建器连接 图 1 显示了 Metabase 的 Notebook 编辑器中此连接的外观。我们还需要选择哪些列是可见的,这样就不会显示两个表中的所有列。{% include image_and_caption.html url=”/glossary/images/join/join-notebook-editor.png” description=”图 1. 查询构建器中的连接。” %} 原生 SQL 查询连接 如果我们用 SQL 编写相同的查询,它可能看起来像这样:SELECT orders.id AS "Order ID", people.name AS "Name", people.id AS "User ID" FROM people JOIN orders ON people.id = orders.user_ID 在这里,我们确定了连接发生的位置(在这种情况下,在 People → ID 和 Orders → User_ID 处连接,它们分别是实体键和外键)。

阅读更多

K

L

M

度量

数据的数值属性,可以按一个或多个维度进行分解。

度量是数据的数值属性,可以按一个或多个维度进行分解。它们是数据库中包含可计算或聚合的数值的字段。度量是定量的;您可以在它们上面执行计算,如求和、平均值或标准差。度量示例 如果我们的数据库中有一个存储产品信息的表,那么包含每个产品价格的字段就是一个度量。度量 vs. 指标 您会看到“指标”和“度量”这两个术语互换使用,它们是相当相似的概念,都指代数据中一部分(或从中提取的)数值。然而,有一个重要的区别:度量是原始、未聚合的数据,而指标是聚合(或汇总)数据。例如,虽然像“折扣”这样的字段是一个度量,但该“折扣”字段的标准差将是一个指标。有些人还会使用“指标”来指代与绩效目标特别相关的度量计算,例如 CRR(客户流失率)或 NRR(净收入留存率)。按照这个定义,一个指标基本上就是一个 KPI(关键绩效指标),取决于是否有人将该指标指定为“关键”。指标示例 如果我们想确定 Metabase 示例数据库中订单小计的平均值,我们可以通过汇总来完成,如图 1 所示:{% include image_and_caption.html url=”/glossary/images/metric/example-metric-summarization.png” description=”图 1. 按小计平均值汇总 Orders 表,这是一个指标。” %} 在这种情况下,小计是一个度量,但平均小计是我们的指标。Metabase 中的指标 在 Metabase 中,大写 M 的“Metric”是基于一个表,带有或不带筛选器的已保存聚合。如果您和您的团队需要定期引用和使用某些聚合(例如收入),您可能希望在 Metabase 中创建一个指标,这样您就可以在提问时访问它,而无需每次都自己重新构建该聚合。

阅读更多
元数据

描述数据的信息,以便更轻松地查找、操作和使用这些数据。

元数据是描述数据的信息,以便更轻松地查找、操作和使用这些数据。元数据示例 想象一下您计算机上的一个文件,比如数字图像或文本文档。除了许多其他属性外,该文件还具有名称、文件类型、扩展名、大小以及记录创建、上次打开和上次修改时间的时间戳。这些都是元数据——这些属性本身都不是文件,但它们确实告诉您有关文件的重要信息。理解并跟踪这些元数据可以告诉您和您的计算机该文件应如何排序和处理,例如指示您的计算机在打开该文件时使用什么软件。元数据存在于分析领域之外,并且几乎随处可见。它在各种行业中都很重要,从摄影到图书馆再到广播电视,因为任何处理或生成数据的组织都需要能够找到并组织数据。元数据有时是人类可读的(例如书名或数据库中的字段名称),但也可以是机器可读的,例如 XML 或 JSON 文件。关系型数据库和数据仓库中的元数据 在关系型数据库中,元数据包括构成该数据库模式的所有信息,例如:表名、字段名、实体键、外键、数据类型、视图、完整性约束。然而,数据库元数据不仅仅是其模式。用户信息、业务定义、表和字段描述、数据库大小以及存储信息也都是重要的元数据。根据数据库的配置方式,您可能会将一些元数据存储在数据库本身中(例如表和字段名称),或者存储在包含数据库所有元数据的单独文件或文件集中。这被称为数据字典。在数据仓库中,元数据就像索引或目录,定义了存储在该数据仓库中的所有对象,以及有关操作数据的各种 ETL 作业的信息,以便需要数据的人可以使用它。关于 ETL 的元数据可能包括作业的名称、目的、运行时间和频率、作业使用的数据以及数据最终存储在哪里。如果该作业正确地标注了大量有用的元数据,那么您或同事就更容易理解该作业具体做什么以及为什么。在 Metabase 中使用元数据 元数据在 Metabase 中扮演着重要角色!例如,指定列的字段类型(本身就是一种元数据形式)可以帮助 Metabase 了解该字段的实际含义,从而 Metabase 可以知道如何格式化该字段或向您显示哪种可视化。模型也利用元数据。在创建模型时用描述注释列可以极大地帮助人们更好地理解您的数据。图 1 显示了当您将鼠标悬停在该模型中的列上时,这些描述如何显示:{% include image_and_caption.html url=”/glossary/images/metadata/hover-description.png” description=”图 1. 在数据参考部分查看 Products 表的元数据。” %} 最后,您始终可以在 Metabase 数据浏览器的 数据参考 部分查看表元数据。图 2 显示了示例数据库 Products 表的外观。如您所见,此视图提供了有用的信息,如列名、描述、字段类型和数据类型:{% include image_and_caption.html url=”/glossary/images/metadata/metadata-data-reference.png” description=”图 2. 在数据参考部分查看 Products 表的元数据。” %}

阅读更多
指标

指标是对度量进行计算的结果。在 Metabase 中,大写 M 的“Metric”是指基于一个表,带有或不带筛选器的已保存聚合。

指标是对度量进行计算的结果。指标是数据的定量属性,经过一些汇总处理。指标 vs. 度量 您会看到“指标”和“度量”这两个术语互换使用,它们是相当相似的概念,都指代数据中一部分(或从中提取的)数值。然而,有一个重要的区别:度量是原始、未聚合的数据,而指标是聚合(或汇总)数据。例如,虽然像“折扣”这样的字段是一个度量,但该“折扣”字段的标准差将是一个指标。有些人还会使用“指标”来指代与绩效目标特别相关的度量计算,例如 CRR(客户流失率)或 NRR(净收入留存率)。按照这个定义,一个指标基本上就是一个 KPI(关键绩效指标),取决于是否有人将该指标指定为“关键”。指标示例 如果我们想确定 Metabase 示例数据库中订单小计的平均值,我们可以通过汇总来完成,如图 1 所示:{% include image_and_caption.html url=”/glossary/images/metric/example-metric-summarization.png” description=”图 1. 按小计平均值汇总 Orders 表,这是一个指标。” %} 在这种情况下,小计是一个度量,但平均小计是我们的指标。Metabase 中的指标 在 Metabase 中,大写 M 的“Metric”是基于一个表,带有或不带筛选器的已保存聚合。如果您和您的团队需要定期引用和使用某些聚合(例如收入),您可能希望在 Metabase 中创建一个指标,这样您就可以在提问时访问它,而无需每次都自己重新构建该聚合。

阅读更多

N

规范化

在关系型数据库中构造信息以减少冗余的过程。

数据规范化是在关系型数据库中构造信息以减少冗余的过程。规范化数据可确保数据库中的表尽可能高效地运行,消除歧义,使每个表都服务于单一目的。从非规范化数据库迁移到规范化数据库时,您可能需要将现有表拆分以创建额外的、更小的表。这些新表将具有更窄的焦点,并通过实体键和外键链接到其他表。规范化还带来了额外的好处,即减少您的整体数据库大小并简化数据库维护,因为您不再在多个地方存储相同的信息。数据规范化示例 规范化过程根据相互建立的规则进行,这些规则称为范式。第一范式(1NF)规定字段不应在单个单元格中存储多个值,并且表中每个字段都应该是唯一的。这是一个示例:非规范化表 Product_ID 产品名称 Product_color1 产品颜色2 P001 针织开衫 粉色 酒红色 P002 喇叭牛仔裤 海军蓝   P003 亚麻背心 驼色 米白色 P004 跑鞋 橙色   您会注意到我们有两个包含相似信息的字段,关于产品颜色。为了使此表符合 1NF,我们需要将此表拆分为两个可以连接在一起的独立表。规范化产品名称表 Product_ID 产品名称 P001 针织西装外套 P002 喇叭牛仔裤 P003 亚麻背心 P004 跑鞋 规范化产品颜色表 Product_ID 产品颜色 P001 粉色 P001 酒红色 P002 海军蓝 P003 驼色 P003 米白色 P004 橙色 查看我们的学习文章,了解 2NF 和 3NF 的示例。虽然存在这三种范式之外的范式,但它们的使用在很大程度上是理论性的,前三种对于大多数实际数据库需求来说应该足够了。

阅读更多

O

P

参数

指定查询输入的特殊变量类型。

参数是一种特殊类型的变量,用于指定查询的输入。设置参数允许最终用户输入一个值(例如在仪表板或报告中),以更改该查询返回的数据,通常是根据度量或维度进行筛选。参数将该值传递给正在运行的查询,查询结果将取决于该用户输入的值。参数 vs. 变量 vs. 实参 您可能会看到“参数”与“变量”或“实参”互换使用,因此有必要在这里指出一些区别。参数是一种变量;它只是将某个特定输入值传递给正在运行的程序或查询的一种变量。然而,并非所有变量都是参数——您也可能拥有在程序或查询内部设置的变量,并且无法由另一方修改。实参指的是当您的程序或查询运行时传递的值本身。例如,如果您将参数设置为 {% raw %}{{productID}}{% endraw %},并输入值 34,那么您的实参就是 34。参数定义了将存在一个输入值,但输入值本身是实参。因此,是的,从技术上讲这些术语都不同,但只要您通常指的是一个可以传入值以筛选结果的位置或容器,那么互换使用它们是可以的。Metabase 中的参数 在 Metabase 中,您可以使用筛选器小组件或通过 URL 设置参数。参数在 Metabase 中以几种不同的方式发挥作用:SQL 模板 通过在 Metabase 的 SQL 查询中添加参数,您可以创建 SQL 模板,为这些查询添加筛选器小组件,从而允许人们在运行查询时轻松更改该参数的值。如果我们想在查询上创建一个 SQL 模板,该查询使用示例数据库的 People 表计算每个州的客户数量,我们将使用:SELECT count(*) FROM people WHERE state = {%raw%}{{State}}{%endraw%} 通过将 {%raw%}{{State}}{%endraw%} 封装在双花括号中,我们创建了一个参数,该参数为此问题添加了一个筛选器小组件,允许人们输入他们想要的州,而无需更改查询本身的文本,如图 1 所示:{% include image_and_caption.html url=”/glossary/images/parameter/parameter-sql-template.png” description=”图 1. 创建一个 SQL 模板,为查询添加筛选器小组件。” %} 仪表板筛选器 仪表板筛选器允许您设置应用于仪表板的参数。例如,您可以创建一个仪表板筛选器,允许人们输入一个州值,并将该筛选器链接到仪表板上问题或卡片中的“州”列。然后,当人们输入他们想要的值(例如图 2 中所示的北卡罗来纳州)时,他们将看到这些卡片相应地发生变化。{% include image_and_caption.html url=”/glossary/images/parameter/parameter-dashboard-filter.png” description=”图 2. 一个在“州”列上应用了筛选器的仪表板。” %} 当您在仪表板筛选器中输入值时,您会注意到 URL 会随之改变,其中包含了该值。自定义目的地 您还可以将参数插入 URL 中,以决定当人们点击仪表板中的图表时会发生什么。例如,您可以使用卡片结果中的值来构建一个 URL,该 URL 将人们重定向到另一个仪表板或外部站点,并将该 ID 作为 URL 的一部分。也许您有一个仪表板,其中包含跟踪库存中不同产品销售情况的问题,以及一个仪表板筛选器,允许人们输入他们想要查看的产品。您可以通过将该产品的 ID 传递到自定义目的地,用该 ID 值对 URL 进行参数化,并将人们发送到您网站上该产品的页面,从而更进一步。当您访问该站点时,其 URL 可能看起来像这样:https://www.your-website.com/products/id?productID=34 在这种情况下,URL 中的 productID=34 就是您的参数。嵌入 在将 Metabase 问题和仪表板嵌入到您的应用程序中时,您可以设置参数来定制不同用户在查看这些嵌入内容时所看到的内容。

阅读更多
枢轴表

一种数据可视化,它汇总表的行和列,并允许您旋转(枢轴)列。

枢轴表是一种数据可视化工具,它汇总表的行和列,并允许您旋转(“枢轴”)列以不同方式查看这些汇总。汇总行通常是小计或总计,但也可以是其他指标,如平均值。这种将列旋转 90 度的能力,使得该列中的值成为枢轴表的列本身,在尝试分析跨多个维度(如时间、位置和类别)的数据时非常有用。枢轴表示例 如果我们想查看订单在一周中的表现,并按不同产品类别细分,枢轴表是一个很好的选择,因为它将为我们提供大量数值数据的易于理解的概览。该枢轴表可能看起来像这样:{% include image_and_caption.html url=”/glossary/images/pivot-table/pivot-table.png” description=”图 2. 一个枢轴表,其中包含有关四个产品类别在一周中不同日期的表现信息。” %} 有包含每周每天总计的汇总行很好,但仍然不容易比较不同日期的类别销售额。然而,如果我们将“创建时间”列枢轴化,使其值成为列标题,我们的结果将如下所示:{% include image_and_caption.html url=”/glossary/images/pivot-table/pivot-table-pivoted.png” description=”图 2. 我们的同一个枢轴表,将“创建时间”列枢轴化,使我们能更好地查看表中的所有数据。” %} 现在我们可以快速比较不同日期和产品类别的订单,同时仍然看到两者的总计,而无需滚动浏览长长的行列表。

阅读更多
谓词

评估结果为真或假的表达式,例如 quantity > 0。真值和假值被称为布尔值。

在 SQL 中,谓词是一种条件表达式,其评估结果为真或假,例如 `quantity > 0`。在您的查询中包含谓词可以根据该表达式返回真或假来过滤掉不需要的行,从而缩小您的结果范围。谓词表达式都包含某种比较元素,例如 `=`、`>` 或 `<`。评估后,生成的真值和假值称为布尔值,尽管并非所有数据库都支持布尔值作为数据类型。并非所有数据库都支持相同的谓词列表,尤其是超出数学比较(如 `BETWEEN` 或 `ISNULL`)的谓词,因此请查阅您的数据库文档,以确定哪些谓词适用于您的用例。空值:不是零,只是不存在虽然谓词通常评估为两个布尔值之一(如真或假),但如果被评估的字段完全没有值,则称为空值。这并不意味着其值为零,而是该字段中没有值。如果您的谓词表达式要求 `quantity > 0`,那么没有值的行将不会返回真或假,而是返回空值。谓词示例谓词的一个示例是在简单 SQL `SELECT` 查询中紧跟 `WHERE` 的条件,如下所示: `SELECT * from orders WHERE subtotal > 35` 在此示例中,我们的谓词表达式是 `subtotal > 35`。“订单”表中的每一行在“小计”字段中都有一个值,对于每一行,此谓词都会评估小计是否大于 35 美元,是真还是假。然后,我们的查询只返回小计大于 35 美元的行。在 Metabase 的查询构建器中,您在过滤数据时会使用谓词。您也可以使用自定义表达式在笔记本编辑器中编写自己的谓词。在下面的问题中,我们正在过滤示例数据库中的“人员”表,只显示“州”字段等于蒙大拿州或 `state = MT` 的记录: {% include image_and_caption.html url=”/glossary/images/predicate/predicate-filter.png” description=”图 1. Metabase 查询构建器中的谓词表达式(或过滤器),仅返回州字段等于蒙大拿州 (MT) 的记录。” %}

阅读更多

Q

查询构建器

了解查询构建器,它是 Metabase 中提问的图形界面。

在 Metabase 中,查询构建器是提问的图形界面。如果您不是 SQL 用户,或者只是喜欢使用按钮和下拉菜单而不是代码来分析数据,查询构建器都能满足您的需求。如果您不确定要从数据中找出什么,这些按钮和下拉菜单可以为您提供一些想法,例如列出可以添加到起始表、模型或已保存问题中的过滤器和分组选项。使用 Metabase 查询构建器提问您可以通过几种方式使用查询构建器来提问数据: 从数据浏览器开始。使用数据可视化右侧的侧边栏添加过滤器和汇总。使用查询构建器界面从头开始创建问题。查询构建器为构建问题提供了更大的灵活性:除了常规的过滤和汇总选项外,您还可以使用自定义表达式创建更复杂的过滤器和聚合。您还可以连接表、创建自定义列,并在可视化最终产品之前预览每一步的结果。这些路径并非相互排斥——您可以从数据浏览器开始,可视化数据,使用侧边栏调整问题,打开查询构建器进行其他更改等等。示例:使用查询构建器我们将使用查询构建器来构建一个使用 Metabase 示例数据库的问题。假设我们想知道我们的大额订单(即小计大于 100 美元的订单)如何按产品类别细分。图 1 展示了我们如何在查询构建器中构建这个问题: {% include image_and_caption.html url=”/glossary/images/query-builder/notebook-editor.png” description=”图 1. 使用查询构建器提问。” %} 一旦我们可视化了问题,我们再添加一个过滤器,这样我们只查看全价订单(即没有应用折扣的订单)。图 2 展示了我们在添加第二个过滤器之前查询构建器的外观: {% include image_and_caption.html url=”/glossary/images/query-builder/second-filter.png” description=”图 2. 在查询构建器中可视化数据时添加第二个过滤器。” %}

阅读更多
问题

在 Metabase 中,问题是查询、其结果及其可视化。

在 Metabase 中,问题是查询、其结果及其可视化。如果您正在尝试在 Metabase 中找出有关您数据的某些信息,您可能正在提问或查看团队中其他人创建的问题。在日常使用中,“问题”几乎与“查询”同义。您可以使用 Metabase 中的问题做什么您可以使用图形查询构建器或原生查询编辑器在 Metabase 中提问,然后进行以下操作: 将问题保存到集合中,以便以后可以返回或在其基础上构建。将该问题添加到相关仪表板。仪表板上的问题称为卡片。为您的问题设置电子邮件或 Slack 提醒。通过向团队成员发送链接来分享您问题的结果——甚至包括您尚未保存的问题。将您问题的结果下载为 CSV、XLSX 或 JSON。将您已保存的问题转换为模型。问题示例图 1 展示了一个基于 Metabase 示例数据库的问题——我们公司产品的平均评分,按类别细分。这里我们已将此问题可视化为条形图: {% include image_and_caption.html url=”/glossary/images/question/example-question.png” description=”图 1. 一个带有一项汇总并可视化为条形图的示例问题。” %} 图 2 展示了同一个问题作为表格的样子: {% include image_and_caption.html url=”/glossary/images/question/example-question-table.png” description=”图 2. 相同的问题,可视化为表格。” %} 问题与 Metabase API在 Metabase API 中,您可以使用 `api/card` 路由编辑和获取 Metabase 实例中有关问题的信息。

阅读更多

R

关系型数据库

表格数据的集合,或管理表格数据存储和检索的应用程序。

关系型数据库是表格数据的集合,或管理表格数据存储和检索的应用程序。关系型数据库包含表,这些表由列(也称字段)和行(也称记录)组成。您通过将单个字段分配给两个或更多表来建立数据库中表之间的关系。对于其中一个表,该字段将被指定为实体键,而对于其他表,它将是外键。建立这些关系后,您可以跨表查询数据(可能使用 SQL),而无需重新组织或复制数据。关系型数据库于 20 世纪 70 年代初引入,至今仍是(即使不是唯一的)主导数据结构模型。虽然从技术上讲,关系型数据库指代数据本身,而关系型数据库管理系统 (RDBMS) 指代用于管理该数据的软件应用程序,但实际上人们会互换使用这些术语。关系模型非常普遍,以至于在许多情况下,“数据库”这个词本身就暗示着关系型数据库,除非另有说明。关系型数据库示例Metabase 的示例数据库(您在我们的文档和教程中看到的示例中使用的那个)是一个 H2 关系型数据库。图 1 展示了示例数据库中的四个表: {% include image_and_caption.html url=”/glossary/images/relational-database/tables-in-sample-db.png” description=”图 1. Metabase 示例数据库(一个关系型数据库)包含四个表:产品、订单、人员和评论。” %}

阅读更多

S

SQL

一种标准化且广泛使用的语言,用于访问和操作关系型数据库中的数据。

结构化查询语言(简称 SQL)是一种标准化且广泛使用的语言,用于访问和操作关系型数据库中的数据。使用 SQL 涉及编写和执行结构化命令(称为语句),这些命令告知数据库您需要什么信息或要更改什么。SQL 是一个已发布的 ANSI 和 ISO 标准,这意味着关于该语言具体包含什么以及如何工作,都有既定的规则。然而,基于 SQL 的数据库系统(如 PostgreSQL、MySQL、SQL Server 等)各自拥有略微不同的功能和自己的语法怪癖——没有哪个主要数据库能够 100% 符合官方书面标准。使用 SQL,您可以: 创建和配置数据库、表和索引 插入、更新和删除数据库中的信息 检索数据库中的信息(通常称为查询) 设置和调整数据库权限 读作“S.Q.L.”还是“sequel”?关于发音的意见分歧很大,其中一些意见非常坚持。当计算机科学家 Donald Chamberlin 和 Raymond Boyce 在 20 世纪 70 年代初首次开发该语言规范时,他们称之为“SEQUEL”(读作“sequel”),但由于商标纠纷,将语言名称更改为 SQL。ANSI 和 ISO 标准规定官方发音是首字母缩略词(“S.Q.L.”),但今天两种发音都很常见。所以选择您觉得最好的发音——只是当有人不同意您时不要感到惊讶。使用 SQL 查询数据库无论多么高级或复杂,所有 SQL 查询都涉及告诉数据库从一个表(或多个表)返回某些列,然后可选地指定关于哪些行应包含在这些结果中以及应如何呈现的条件。SQL 不区分大小写,但您通常会看到人们将保留字(例如,`SELECT`、`WHERE`、`HAVING` 或 `ORDER BY` 等函数和子句)大写。如果您愿意,可以将 SQL 语句格式化为单行,尽管人们通常会将查询分解到单独的行以提高可读性。SQL 查询示例这是一个 SQL 查询,它要求 Metabase 的示例数据库返回一个订单表,其中订单小计大于 100 美元: `SELECT * FROM orders WHERE subtotal > 100` 我们可以将此查询分解为三个语句: `SELECT *` 告诉数据库返回表中的所有列。 `FROM orders` 告诉数据库是哪个表。 `WHERE subtotal > 100` 告诉数据库过滤结果,只返回“小计”字段中值大于 100 的行。上述示例查询是一个非常简单的查询;更高级的查询可以包含连接、聚合、CTE 和其他用于提取和组织数据的工具。Metabase 中的 SQL您在 Metabase 中提问时不必编写 SQL(这就是查询构建器的作用),但如果您喜欢 SQL 查询,原生查询编辑器就在那里等着您,还有以下功能: SQL 变量(包括字段过滤器) SQL 片段 SQL 片段控件(在某些计划中可用) 如果您选择使用查询构建器在 Metabase 中提问,您始终可以查看问题背后的底层 SQL 或将其转换为原生 SQL 查询。

阅读更多
SSO

一种身份验证(auth)设置,允许人们使用一个登录凭据访问独立的应用程序。

SSO 是一种身份验证(auth)设置,允许人们使用一个登录凭据访问独立的应用程序。这有点像使用护照进入不同的国家。有了 SSO,您无需为每个账户使用一个登录凭据,就像您无需带着针对每个国家的不同身份证件旅行一样。例如,您的电子邮件和网上银行可能有两个不同的登录凭据,它们分别用于两个不同的登录页面。如果您的电子邮件提供商和银行的 IT 团队都设置了 SSO,您将能够使用一个登录页面和凭据访问这两个网站。 {% include image_and_caption.html url=’/glossary/images/sso/google-sign-in.png’ description=”图 1. 您可能已经从其他应用中认出了这个“使用 Google 登录”提示。这是使用 Google 登录设置 SSO 的一个示例。” %} SSO 如何工作?由于数字身份验证无法亲自完成,您在互联网上的身份由一项服务检查,该服务要求您提供您所知道的事物的证明(如密码),或您实际拥有的事物的证明(如向您的手机发送代码)。这些证明称为身份因素。最常见的身份验证方式是通过单一身份因素,例如密码。如果您添加另一个因素,例如电话号码,您就获得了双因素身份验证 (2FA)。自然地,您可以继续添加因素(电子邮件、验证应用等),以获得多因素身份验证 (MFA)。SSO 不使用您知道或拥有的信息,而是使用一种名为身份验证令牌的身份因素,该令牌属于 SSO 提供商。身份验证令牌是当您登录 SSO 提供商时生成的一段唯一、匿名的信息。该令牌临时存储在您的浏览器中(如浏览器 cookie)或提供商的服务器上,并且仅在一段时间内有效——通常直到您关闭浏览器,或者在您的安全团队设置的过期窗口内。当您访问一个已设置 SSO 的应用程序时,它会自动从 SSO 提供商请求身份验证令牌,而不是要求您登录。如果令牌仍然有效(您已在同一会话中登录 SSO 提供商,并且尚未过期),您的身份被视为已通过身份验证,您将被允许进入该应用程序。如果令牌已失效,系统会提示您使用 SSO 提供商登录以创建新的令牌。SSO 在更大范围内的作用是什么?身份验证只处理您是谁(身份)。从那里,其他服务会跟踪您被允许去哪里,以及一旦到达那里您可以做什么(访问管理)。身份和访问管理 (IAM) 是这些工具和流程的总称。SSO 和 IAM 工具包的其他部分通常由身份提供商 (IdP)(如 Okta、Auth0 或 OneLogin)打包,并作为云安全的一部分实施。Metabase 中的 SSO在 Metabase 中设置 SSO 意味着人们无需创建单独的 Metabase 用户名和密码即可访问您组织的数据。他们只需通过您选择的身份提供商的同一账户登录即可。Metabase 的开源版本可以与 Google SSO 或 LDAP 设置。Metabase 的专业版和企业版支持 SAML 和 JWT 标准(除了 Google SSO 和 LDAP)。SSO 还可以与 Metabase 专业版和企业版中的数据沙盒结合使用,根据用户属性(如他们的部门或角色)定义人们可以看到和交互的数据。

阅读更多
架构

定义数据集组织的设计或结构,包括其表、列、关系、数据类型和完整性约束。

架构是定义数据集组织的设计或结构:哪些列被分组到表中,这些表如何相互关联,以及定义这些列的规则和数据类型。“架构”是一个多义词;它是一个抽象的词,积累了许多不同的定义,因此很难理清。根据上下文,架构可以指: 您的数据库的整体结构、规范或“蓝图” 演示数据库中表如何相互关联的图表 数据库内(众多表中的)单个表集合 最后,架构有时指您正在使用的特定数据库平台所特有的含义,例如在 Oracle 中,架构指由同一用户创建的数据库中的所有对象。架构作为整体结构:设计和实现一旦您从高层次角度弄清楚数据如何组合在一起(即您的概念数据模型),下一步就是创建反映该数据模型的架构,将其从抽象变为一个组织可以使用并填充信息的数据库。广义上讲,这个过程由两个主要步骤组成: 设计:规划数据库结构,在此过程中创建实体关系图 (ERD)。 实现:使用该 ERD 生成 SQL 命令,这些命令在数据库中运行时将创建您所需的架构。您的架构设计过程取决于您是处理事务型数据库还是分析型数据库,以及您是从头开始还是已经开始收集数据。无论您在哪个阶段设计架构,您都必须深入思考组织的需求以及您预期会向数据提出的问题。写入时架构 vs. 读取时架构大多数传统关系型数据库使用写入时架构系统,其中数据在写入数据库之前会经过验证并格式化为架构。由于要写入的数据必须符合您已建立的特定数据完整性规则(例如要求字段中的所有值唯一,不接受字段中的空值,或以某种方式格式化日期),因此将此新数据添加到数据库可能会很慢。然而,由于数据已经过验证,读取时间很快。在读取时架构系统中,数据(如在数据湖中)仅在被读取或从数据库中提取后才进行验证。读取时架构系统往往更灵活,因为您可以存储非结构化数据而无需担心它符合严格的数据模型。在这种情况下,写入数据更快(因为数据在加载时无需验证),但查询执行需要更多时间。选择写入时架构还是读取时架构策略将取决于您组织的需求和具体用例。如果拥有精心构造和一致的数据集对您的组织很重要,那么写入时架构系统可能是您的最佳选择。相比之下,如果您需要定期引入各种数据,而又不总是确切知道数据是什么样子,您可能需要使用读取时架构系统。逻辑架构和物理架构无论您是使用写入时架构还是读取时架构系统,您还需要考虑数据库结构及其实现——即您的逻辑架构和物理架构。逻辑架构定义数据结构,而该结构的实际实现(例如如何以及在何处存储构成数据库的文件和代码)则属于物理架构。逻辑架构逻辑架构通过图示表及其字段如何相互关联来创建。在创建逻辑架构时,您将建立表、关系、字段和视图,回答诸如以下问题: 我们正在收集什么数据,或者我们想收集什么数据? 您的数据库(或其中的单个架构)需要哪些表? 这些表如何相互关联? 每个表需要哪些字段? 每个字段的数据类型是什么? 哪些字段是必需的? 架构作为图表:映射实体和关系在回答这些问题和其他问题时,您很可能会勾勒出实体关系图 (ERD),它定义了每个表、其字段、它们的完整性约束,以及这些表之间的关系,包括建立这些连接的主键和外键,以及表之间的关系是一对一、一对多还是多对一。可视化您的表以及它们如何相互关联也可以揭示任何重大遗漏或冲突。是的,有时您会看到这些图本身被称为架构。下图显示了包含两个表 PRODUCTS 和 MANUFACTURER 的架构的实体关系图。“(PK)”和“(FK)”标记告诉我们哪些字段是主键和外键,连接这些表的线表示一对多关系,即一个制造商可以关联到许多产品。 {% include image_and_caption.html url=”/glossary/images/schema/simple-erd.png” description=”图 2. 包含两个表的架构的实体关系图。” %} 您可以在纸上或使用设计软件绘制架构,该软件可以直接将您的图表转换为实现数据库所需的 SQL 命令。此时您的架构是平台无关的;规划这些规则和关系并不会将您绑定到任何单一数据库软件。物理架构一旦您确定了数据库的逻辑配置,您将创建物理架构以将其实现到特定的 RDBMS 中,定义数据库文件将位于何处以及它们在磁盘上的存储分配。架构作为众多表中的一个集合如果您的数据库只有少数用户,并且包含每个人都需要访问的数据,那么单个表集合可能就足够了,但您可能会发现仅仅依赖数据库中的单个架构无法满足您的组织需求。如果您正在处理大量表的数据(数十、数百或数千个),将这些表分组到单独的架构中将有助于组织,使您可以将类似的信息存储在一起,同时在必要时仍能跨架构查询。在数据库中维护多个架构从安全角度来看也很有帮助,例如将存储敏感信息的表分离到一个只有需要访问的人才能访问的架构中,通常与视图结合使用。事务型数据库与分析型数据库的架构设计在考虑事务型数据库(也称为操作型数据库)的架构时,您的数据需要进行一定程度的规范化并遵守数据完整性标准,因为这些小型事务和 OLTP 的效率和性能至关重要。为分析型数据库设计架构将有所不同。首先,您可能已经收集了原始数据,可能来自多个来源,现在需要施加一些结构以进行分析。在这种情况下,冗余是可以的,因为分析型数据库更注重可探索性,而较少注重性能。在这里,您的架构也可以更松散地定义,因为不需要固定模式(如规范化)。分析型数据库的架构设计更多的是了解来自各种来源的数据位于何处,并知道您需要连接哪些表来回答您的问题。星形架构您会看到应用于分析型数据库的一种常见结构是星形架构,它将数据分为事实表(即定量数据),这些事实表与描述这些事实的多个维度表相关联。在星形架构的简单实现中,几个维度表都围绕并关联到一个事实表,在图表形式中看起来像一个星形,事实表位于其中心,如下所示: {% include image_and_caption.html url=”/glossary/images/schema/star-schema.png” description=”图 2. 简单星形架构的实体关系图。” %} 星形架构中的表通常是非规范化的,这会导致分析查询的性能更好。创建数据库架构大多数数据库平台(如 Redshift 和 PostgreSQL)使用“架构”来指代数据集的配置以及该数据集中表和其他命名对象的非嵌套分组,尽管 Oracle 将架构定义为由单个数据库用户创建并属于该用户的所有对象。要在 RDBMS 中创建架构,请使用 `CREATE SCHEMA` 查询,例如在此示例中,我们创建一个包含两个表的架构,这两个表通过 `customer_id` 字段链接: `CREATE SCHEMA new_schema; CREATE TABLE new_schema.orders ( order_id product_id customer_id subtotal order_date ) CREATE TABLE new_schema.customers ( customer_id customer_name customer_address customer_email );` 这是一个非常简单的架构;我们没有为表中的字段指定数据类型或任何其他约束。如果我们想要求 `customers` 表中的 `customer_id` 字段,并指明其数据类型是整数,我们会这样格式化该字段: `customer_id INT NOT NULL` 请注意,在 MySQL 中,`CREATE SCHEMA` 与 `CREATE DATABASE` 同义。

阅读更多
汇总表

聚合的结果,保存在数据库或数据仓库中,以便人们可以使用这些预计算的指标。

汇总表是聚合的结果,保存在数据库或数据仓库中,以便人们可以使用这些预计算的指标。“汇总表”这个术语可能会令人困惑,因为有些人用“汇总表”来描述任何聚合函数的结果,就像您在按某些度量和维度进行过滤和分组后得到的表一样。根据这个定义,汇总表基本上与枢纽表相同,只是没有透视功能。这里的区别在于这些表是否保存在您的数据仓库中。在数据仓库中创建汇总表可以使人们更容易生成报告,而无需查询原始数据。从这个意义上讲,汇总表的功能很像物化视图(不一定聚合数据)。示例:数据仓库中的汇总表例如,您可能正在使用一个分析型数据库,它采用了星形架构设置,其中一个事实表包含数万条单独的订单记录,周围环绕着描述这些订单的维度表。如果您组织中的某人希望生成一份包含过去七天按产品类别划分的销售数据的每周报告,那么每次都从原始事实表和维度表计算这些数据将是低效且昂贵的。相反,创建汇总表可以更少地连接这些表并聚合数据。然后,将来当某人创建该报告时,他们可以使用汇总表作为基础,而无需每次都从头计算这些数字。虽然汇总表会带来一些维护工作(例如确保数据按计划刷新,或在过滤器和分组不完全符合人们需求时进行调整),但它们仍然是处理大型数据集的一种高效方式。

阅读更多

T

V

变量

程序或查询中可以更改的任何值。在 Metabase 中,SQL 查询中的变量用双花括号括起来。

变量是程序或查询中可以更改的任何值。在 SQL 中,声明一个变量允许您在运行查询时临时存储一个单一值。参数是一种变量,但并非所有变量都是参数。当人们谈论参数时,他们通常特指由仪表板或报告的最终用户修改的变量,而不是查询文本本身中的变量。Metabase 中的变量示例在 Metabase 中,变量是 SQL 查询中的占位符,用于人们可以在无需重写查询本身的情况下更改的值。使用变量可以过滤数据,通常通过在 SQL 编辑器中问题上方添加过滤器小组件来实现。变量用双花括号括起来,如下所示:{% raw %}{{variable_name}}{% endraw %}。在下面的示例中,我们创建了一个变量,用于根据示例数据库“人员”表中的“Source”字段进行过滤:`SELECT * FROM people WHERE source = {% raw %}{{source}}{% endraw %}` 当您在查询中包含变量(在此示例中为 {% raw %}{{source}}{% endraw %})时,Metabase 会在 SQL 编辑器上方添加一个过滤器小组件,如图 1 所示。由于过滤器小组件映射到我们创建的变量,我们可以将不同的值插入其中,以过滤不同的来源。 {% include image_and_caption.html url=”/glossary/images/variable/variable-example-source.png” description=”图 1. 查询编辑器上方的过滤器小组件映射到双花括号内的变量。” %}

阅读更多

W

X

© . All rights reserved.