栏目分类
反差 匿名咸鱼 关联基数和援用竣工性
发布日期:2024-10-23 19:14 点击次数:72
不管您何如组合数据反差 匿名咸鱼,竖立数据源齐需要了解每个表的数据结构以及它们的组合阵势。需要辩论几个要道身分:
详备级别:数据的详备进度 — 其粒度。可将其视为“行的界说是什么?”问题的谜底。联系粒度的详备信息,请参见构造用于分析的数据分享字段:至少必须有一个可用于在表之间造成连合的字段。关于累积,这些字段界说累积子句。在关联表中,它们建造了关系。关联基数:分享字段有几许个唯一值(唯一性)。联系详备信息,请参见下一部分。援用竣工性:一个表中的值保证另一个表中具有匹配项。换句话说,一个表中不成有另一个表中莫得相应记载的记载。联系详备信息,请参见下文。关联基数不错在“性能选项”竖立中指定关联基数。联系详备信息,请参见使用性能选项优化关系查询。
援用竣工性有一个称为援用竣工性的关联见地,这意味着一个表中的行在另一个表中将长久具有匹配行,由其分享字段的值详情。要是数据库不包含车辆无车牌或车牌或车辆的记载,则这种关系具有援用竣工性。
在 Tableau 中,援用竣工性在关系的每一端建立。在“性能选项”竖立中,某些记载匹配意味着莫得(大略您不知谈是否有)援用竣工性。所有这个词记载匹配意味着存在援用竣工性。默许竖立是不假设援用竣工性(某些记载匹配)。
联系详备信息,请参见使用性能选项优化关系查询。
自测您能否界说每个图表的关联基数和援用竣工性?这在翰墨上是什么真理?
示例:
要是咱们将左表竖立为竹素,将右表竖立为在 AuthorID 上连合的作家,将图表改革为文本:
一册书不错有多名作家(紫色记载在左侧的文籍表中泄露一转,与右侧作家表中的多札记载相对应)。莫得作家有多本书(右侧的每条作家记载仅指向的一条图通知录)。不存在莫得作家的文籍(左侧莫得记载不成与右侧的记载对应)。有些作家可能莫得文籍(右侧的灰色作家记载在左侧莫得对应的图通知录。)单击底下的每个部分将共伸开。
为什么这很迫切?正确建立关联基数或援用竣工性竖立不错通过查询优化提升性能。然而,不正确的建立可能会导致由于数据丢失或交流而出现团聚问题。默许的“性能选项”竖立为对关联基础为“多”,关于援用竣工性为“某些记载匹配”。唯独在详情数据的正确特征时,才应诊治这些竖立。
联系 Tableau 何如处理每个竖立的详备信息,请参见基数和援用竣工性竖立的含义。
Tableau 中的一个示例让咱们来探讨一下当关联基数建立不正确时会发生什么。
预防:以下示例使用Bookshop 数据集中表子集。您不错 下载使命簿进行操作,也不错下载原始数据以自行创建数据源。使用的表为 Bookshop.xlsx 中的“Books”(文籍)、“Info”(信息)和“Edition”(版块)(只保留一些字段),以及 BookshopLibraries.xlsx 中的“LibraryProfile”(藏书楼尊府)和“Catalog”(目次)。
“Book”(文籍)和“Info”(信息)表具有一双一的关系 —“Info”(信息)履行上是“Book”(文籍)表的附加列。因此,诚然它们可能关联,但累积它们以创建包含所有这个词列的新逻辑表是故真理的。“Edition”(版块)与这个组合表具有多对一的关系,因为单一文籍可能有多个版块,频频具有不同的本领。(请预防,下图泄露了从“Book+Info”(文籍+信息)表到“Edition”(版块)的关系,因此为一双多。)
“Edition”(版块)与“Catalog”(目次)关联,当作 ISBN 上的一双多关系。“Catalog”(目次)和“LibraryProfile”(藏书楼尊府)表在“Library Id”(藏书楼 ID)上具有多对多关系。要道点是,“LibraryProfiles”(藏书楼尊府)表的每个库有多个行,每个东谈主员类型(藏书楼员、藏书楼助理、藏书楼时代东谈主员)一转。联系这些表的结构的详备信息,请参见Bookshop 数据集。
正确的竖立正确竖立“Catalog-LibraryProfile”(目次-藏书楼尊府)关系后,咱们不错创建一个浅易的可视化项,泄露每个藏书楼对应于多本文籍的使命主谈主员数目。这个要建造的可视化项有点愚蠢,但它有助于讲明这极少。Idle Hour Library(失业藏书楼)有 130 名职工, 不管咱们评论的是哪本书。职工类型有三个值,因此每个臆想由三札记载(括号中的数字)构成。
使命主谈主员按藏书楼和书称号计数。(括号中的数字示意每个标志中的记载数。)
诞妄的竖立:一双一当关系被诞妄地竖立为一双一时,在可视化项中,“Catalog”(目次)中的每个书名仅与“LibraryProfile”(藏书楼尊府)表中的一札记载进行灵验配对(如括号中的记载计数所示)。
使命主谈主员按藏书楼和书称号计数。(括号中的数字示意每个标志中的记载数。)
在上头,咱们不错看到每个藏书楼只泄露其最少使命主谈主员数目。(请参阅底下的可视化项中的粗体数字。“Staff Count”(使命主谈主员计数)可视化项中响应的数目是最少使命主谈主员数目。
按类型和藏书楼分列的使命主谈主员。
联系关系何如成为可视化项的高下文累积的详备信息,请参见 Tableau 博客上的 Tableau 博客中的新数据建模简介(连合在新窗口中大开)。
诞妄的竖立:累积诚然有主义惩处这类问题(详备级别抒发式是通用的),但累积具有不同粒度或其关联基数为“多”的表可能会导致交流。在这里,关于唯惟一种本领的书名,使命主谈主员计数是准确的,但关于在“Editions”(版块)表中具有两种本领的文籍,传递到使命主谈主员计数的值也会翻倍(请预防,括号中的记载计数为 6 而不是正确的 3)。
使命主谈主员按藏书楼和书称号计数。(括号中的数字示意每个标志中的记载数。)
诞妄的竖立:诞妄地假设援用竣工性在不存在援用竣工性的情况下,呈文 Tableau 存在援用竣工性(所有这个词记载匹配)可能会导致值丢失。在这里,这两个可视化项是一样的,但右侧的一个来自建立为假设援用竣工性的数据源。阿谁可视化项照旧丢失了 null。诚然这在某些情况下可能没问题,但了解这些 null 代表什么特别迫切。此处,要是可视化项泄露每个藏书楼中的版块数,则 null 示意版块表中存在但不属于任何藏书楼的两个版块。这可能是一个迫切的断然,而且诞妄地假设援用竣工性会忽略这种断然。
浏览使命簿偏激数据源,了解吞并不当的表可能产生哪些其他问题。
依依色情性能影响要是这些竖立建立诞妄可能导致数据丢失或交流,为什么 Tableau 允许编削它们?在许厚情况下,您不错而且应该保留默许竖立:关联表而不是累积,将关联基数保留为多对多,而且不假设援用竣工性。绝顶是在您不祥情竖立应该是什么的情况下更应如斯。
然而,关联基数和援用竣工性是性能选项,因为可能会对默许值产素性能影响。要是您详情数据的结构,建立正确的竖立不错减少查询施行,从而提升速率。
在幕后预防:本节使用与其他数据组合时代肖似的时代来仅提供见地框架。它不是联系 Tableau 何如使用关系性能竖立的时代形容。
关联基数
关系的关联基数会影响团聚的发生时候。这不错从搀杂的角度来辩论。数据搀杂会孤独查询两个数据源。不管其他数据源何如,每个数据源齐会字据需要团聚到视图所需的详备级别。关于关系,关联基数竖立会影响团聚是在累积之前如故之后发生。
在上头的示例中,“多”竖立示意在将数据与文籍信息吞并之前对每个藏书楼的使命主谈主员数目进行团聚,从而确保每本书齐有正确的数目。当关联基数诞妄地竖立为“一” 时,在将使命主谈主员数目与文籍数据吞并之前不会团聚,从而导致不正确的值。
请预防,不仅会泄露不正确的值,所有这个词值齐分拨给使命主谈主员类型“ Librarians”(藏书楼员),尽管它们来自所有这个词三种使命主谈主员类型。此竖立建立诞妄可能会导致不可揣度和不正确的值。唯独在视图中使用来自诞妄竖立的关系另一端的另一个表的字段时,才会发生此扬弃筛选。
然而,在这些值唯一的情况下,要是 Tableau 优化查询,则不错解放移除累积前的团聚。
援用竣工性
尽管援用竣工性是指关系的竖立,但不错从累积类型的角度辩论它。澈底外部累积将保留所有这个词记载,不管另一个表中是否有匹配项,但会以性能资本想象。要是您不祥情记载是否会丢失,外部累积会更安全。当可能莫得援用竣工性时,这是处理表的阵势(某些记载匹配)。
里面累积将仅保留两个表中有匹配项的记载,同期会删除不出刻下每个表中的记载。要是您知谈里面累积不会摒除必要的数据,则效用更高。要是“性能选项”竖立为“所有这个词记载匹配”,则假设援用竣工性,并在不辩论不匹配值的情况下施行累积。
不正确的援用竣工性竖立可能会对组合数据产生肖似筛选器的后果,从而移除不匹配的值。联系保留不匹配记载的功能的详备信息,请参见 Tableau 博客上的跨多个关联表提倡问题。联系累积类型数据的详备信息,请参见累积数据。
保留默许值要是您的分析具有可接管的性能,咱们强横建议将默许的“性能选项”竖立保留为多对多反差 匿名咸鱼,而不是假设援用竣工性。关系的力量来自于它们字据分析中使用的表提供准确、高下文恰当的扬弃的才智。编削这些竖立会移除关系的语义活泼性。