首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

国产BI的“耻辱”:QuickBI 计算功能测评(下)

—如何评价BI 产品的计算功能 这里采用《数据可视化分析(第 2 版)》中的思路,从几个角度评价计算的综合能力: 基本计算的体系:包括行级别计算和聚合计算的体系,计算创建/编辑的灵活性,函数的设定及其复杂性等...案例1:不同类别的销售额总和、利润率 这个问题非常简单——没有筛选条件,只有一个维度字段(Category,数据表中直接可用),重点就是两个度量是数据表中没有的:销售额总和、利润率。...其中,销售额总和 可以直接从数据表的 Sales 字段中SUM 聚合而来,几乎每个工具都可以拖曳完成,包括 Excel(称之为“求和项”)。...不同工具之间的差异,在于创建此类常见逻辑字段的灵活性和便利性。 借助于拖曳,Auick BI可以快速完成如下的条形图或交叉表,其中度量是销售额总和、利润总和。...行级别/聚合计算与 IF 判断的组合:不同产品的利润结构(利润<0)和利润总和分类(SUM 利润<0) 表计算:2024年各月的销售额总和及其同环比(差异计算) 表计算:各个子类别的销售额总和及其占比(

40300

优化表(二)

优化表(二) 调整表计算值 调优表操作根据表中的代表性数据计算和设置表统计信息: ExtentSize,它可能是表中的实际行数(行数),也可能不是。 表中每个属性(字段)的选择性。...表的SQL Map Name、BlockCount和Source of BlockCount。 区段大小和行计数 从管理门户运行Tune Table工具时,ExtentSize是表中当前行的实际计数。...默认情况下,GatherTableStats()方法还将实际行数用作ExtentSize。当表包含大量行时,最好对较少的行执行分析。...例如,如果在1000个随机选择的值中检测到11个不同的值,其中一个是异常值,则选择性为1/11(9.09%):平均每个条目出现的几率为十一分之一。...如果已知未编制索引的字段具有在测试100,000条随机选择的记录中可能检测不到的其他值,则应手动设置选择性和离群值选择性。

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 排序的艺术:你真的懂 Order By 吗?

    前言 业务中的各种查询通常对应了用户所看到的各项列表,列表一般是根据某个维度进行排序。...对 nick_name 执行快速排序 利用排序好的数据,使用主键 id 再次回表取其他字段,将结果返回 注意:在步骤 4 中不会等所有排序好的 id 回表完再返回,而是每个 id 回表一次,取得该行数据之后立即返回...: 在所有待排序的数据,取数量为 LIMIT (本例中为 3)的数据,构建一个堆 不断的取下一行数据,更新堆节点 当所有行的扫描完,得到最终的排序结果 如何选择?...由于 rowId 排序相对于全字段排序,不可避免的多了一次回表操作,回表操作意味着随机读,而随机 IO 是数据库中最昂贵的操作。 所以 MySQL 会在尽可能的情况下选择全字段排序。...而决定使用 rowId 排序还是全字段排序,优先选择全字段排序,以减少回表次数 当需要借助临时表的时候,MySQL 会优先使用内存临时表(此时表引擎为 memory 引擎),回内存临时表取数据并不涉及随机读

    2.9K72

    MySQL 排序的艺术

    前言 业务中的各种查询通常对应了用户所看到的各项列表,列表一般是根据某个维度进行排序。...对 nick_name 执行快速排序 利用排序好的数据,使用主键 id 再次回表取其他字段,将结果返回 注意:在步骤 4 中不会等所有排序好的 id 回表完再返回,而是每个 id 回表一次,取得该行数据之后立即返回...: 在所有待排序的数据,取数量为 LIMIT (本例中为 3)的数据,构建一个堆 不断的取下一行数据,更新堆节点 当所有行的扫描完,得到最终的排序结果 如何选择?...由于 rowId 排序相对于全字段排序,不可避免的多了一次回表操作,回表操作意味着随机读,而随机 IO 是数据库中最昂贵的操作。 所以 MySQL 会在尽可能的情况下选择全字段排序。...而决定使用 rowId 排序还是全字段排序,优先选择全字段排序,以减少回表次数 当需要借助临时表的时候,MySQL 会优先使用内存临时表(此时表引擎为 memory 引擎),回内存临时表取数据并不涉及随机读

    1.7K30

    如何使用Java创建数据透视表并导出为PDF

    前言 数据透视分析是一种强大的工具,可以帮助我们从大量数据中提取有用信息并进行深入分析。而在Java开发中,可以借助PivotTable,通过数据透视分析揭示数据中的隐藏模式和趋势。...创建PivotTable:在Excel文件中选择需要创建PivotTable的数据区域,并指定行、列、值和筛选器字段。...: 快速洞察数据:PivotTable利用数据透视分析的功能,可以迅速汇总和呈现大量的数据,帮助我们从不同维度去了解数据背后的模式和趋势。...通过选择相应的行、列和值字段,我们可以灵活地展示数据,发现其中的规律。 灵活性和可定制性:PivotTable的创建和设置非常灵活和可定制。...可以根据实际需求选择不同的字段、排序方式、统计方法等,以满足特定的数据分析要求。 可视化和易于理解:通过将数据以交互式和可视化的方式展示在PivotTable中,我们可以更直观地理解数据的含义和关系。

    26330

    敏捷微服务在几分钟内

    或者:从现有数据库开始 快速一边:虽然这个例子着重于创建一个新的数据库,但是从现有数据库开始(图2中的第一个选项)通常是这种情况。...协议与我们的模式不匹配) 我们的数据抽象层是选中并且点击:我们创建一个资源,给它一个名字(PartnerPost),选择表(连接是使用模式信息自动创建的),并且选择/别名我们的字段,如下所示: 图5...然后您将它们附加到您的规则中,提供需求追踪。 创建验证规则很简单: 点击创建规则,然后从随后的列表中选择“验证”规则类型(请参见图7:选择规则类型),并指定用于验证的表格(会议)。...行表示已更改的会议行,提供对字段和相关数据的访问。它是您的对象模型,由系统根据模式自动创建和维护 由于系统知道表中的字段(列),因此它可以提供代码完成,如下所示 规则在更新时自动调用。...我们声明汇总规则如下所示: 在规则屏幕上(图6),点击创建规则 在随后的选择规则类型屏幕上(请参见图7),选择总和 输入总和规则,如下所示: 图9 - 总和规则。 消息 我们差不多完成了。

    1.3K30

    你该来感受下 MySQL 排序的艺术 ...

    前言 业务中的各种查询通常对应了用户所看到的各项列表,列表一般是根据某个维度进行排序。...对 nick_name 执行快速排序 利用排序好的数据,使用主键 id 再次回表取其他字段,将结果返回 注意:在步骤 4 中不会等所有排序好的 id 回表完再返回,而是每个 id 回表一次,取得该行数据之后立即返回...: 在所有待排序的数据,取数量为 LIMIT (本例中为 3)的数据,构建一个堆 不断的取下一行数据,更新堆节点 当所有行的扫描完,得到最终的排序结果 如何选择?...由于 rowId 排序相对于全字段排序,不可避免的多了一次回表操作,回表操作意味着随机读,而随机 IO 是数据库中最昂贵的操作。 所以 MySQL 会在尽可能的情况下选择全字段排序。...rowId 排序还是全字段排序,优先选择全字段排序,以减少回表次数 当需要借助临时表的时候,MySQL 会优先使用内存临时表(此时表引擎为 memory 引擎),回内存临时表取数据并不涉及随机读,也不涉及扫描行

    78510

    MySQL深入学习第十七篇-如何正确地显示随机消息?

    并且,这个表没有建索引。 2. 从 words 表中,按主键顺序取出所有的 word 值。...从内存临时表中一行一行地取出 R 值和位置信息(我后面会和你解释这里为什么是“位置信息”),分别存入 sort_buffer 中的两个字段里。...在上一篇文章中,我们对 InnoDB 表排序的时候,明明用的还是 ID 字段。 这时候,我们就要回到一个基本概念:MySQL 的表是用什么方法来定位“一行数据”的。...再回到我们文章开头的问题,怎么正确地随机排序呢? 随机排序方法 我们先把问题简化一下,如果只随机选择 1 个 word 值,可以怎么做呢?思路上是这样的: 1....现在,我们再看看,如果我们按照随机算法 2 的思路,要随机取 3 个 word 值呢?你可以这么做: 1. 取得整个表的行数,记为 C; 2. 根据相同的随机方法得到 Y1、Y2、Y3; 3.

    56810

    MySQL实战第十七讲-如何正确地显示随机消息?

    并且,这个表没有建索引。 2. 从 words 表中,按主键顺序取出所有的 word 值。...从内存临时表中一行一行地取出 R 值和位置信息(我后面会和你解释这里为什么是“位置信息”),分别存入 sort_buffer 中的两个字段里。...在上一篇文章中,我们对 InnoDB 表排序的时候,明明用的还是 ID 字段。 这时候,我们就要回到一个基本概念:MySQL 的表是用什么方法来定位“一行数据”的。...再回到我们文章开头的问题,怎么正确地随机排序呢? 随机排序方法 我们先把问题简化一下,如果只随机选择 1 个 word 值,可以怎么做呢?思路上是这样的: 1. ...现在,我们再看看,如果我们按照随机算法 2 的思路,要随机取 3 个 word 值呢?你可以这么做: 1. 取得整个表的行数,记为 C; 2. 根据相同的随机方法得到 Y1、Y2、Y3; 3.

    46720

    独家 | 手把手教数据可视化工具Tableau

    Tableau 根据 Excel 数据源中前 10,000 行和 CSV 数据源中前 1,024 行的数据类型来确定如何将混合值列映射为数据类型。...但是存在以下例外: 如果解聚整个视图,则不会根据定义来聚合视图中的字段。如果您使用的是多维数据源,则会在数据源中聚合字段,但视图中的字段不显示该聚合。...STEP 3:在“列”上右键单击“SUM(Sales)”并选择快速表计算 –“总额百分比”。 STEP 4:单击工具栏上的“降序排序”按钮 ( ),按从最多到最少的顺序对类别进行排序。...您现在的视图为如下所示: 不管您使用快速筛选器选择或者不选择哪些字段,右侧图表中的百分比现在都保持一致。现在只需设置“FixedSumOfSales”值的格式,以使其显示为百分比。...在“设置格式”窗格中,选择“数字”,然后选择“百分比”: 这样就得到了最终视图: 当您在“Sub-Category”(子类)快速筛选器中选择或清除项目时,左侧条形图中的百分比将发生变化,而右侧条形图中的百分比则不会

    18.9K71

    再谈:分库分表的那些事

    根据表内数据内在的逻辑关系,将同一个表按不同的条件分散到多个数据库或多个表中,每个表中只包含一部分数据,从而使得单个表的数据量变小,达到分布式的效果。...4).水平分表 水平分表也称为横向分表,比较容易理解,就是将表中不同的数据行按照一定规律分布到不同的数据库表中(这些表保存在同一个数据库中),这样来降低单表数据量,优化查询性能。...可考虑按如下策略进行选择: 对系统中执行的SQL进行统计分析,选择出需要分片那个表中最频繁被使用到或最为重要的字段类分片。这其中可能包含一些来自OLAP类的查询,可将此部分SQL排除在外。...最终选择拆分字段,应是稳定的,不变更的,避免跨片移动问题。 4).选择拆分算法 针对分片算法,常规的有LIST、RANGE、HASH等。根据各拆分算法特点,可进行选择。...RANGE 通过数据的范围进行分库分表,是最朴实的一种分库方案,它也可以和其他分库分表方案灵活结合使用。当需要使用分片字段进行范围查找时,RANGE分片策略可快速定位数据进行高效查询。

    80920

    oracle 不是单组分组函数 查询条数,oracle不是单组分组函数 不是单组分组函数怎么解决…

    例如,有一个学生表。字段包括:班级编号、学生编号和学生姓名。现在我们需要知道每个班有多少人。如果查询语句是这样的: 从学生表中选择班级编号,计数(学生编号) ,我们必须报告一个错误。...我们必须告诉数据库根据哪个字段进行分组。正确的书写方法是: 选择班级号,从学生表中按班级号分组计数(学生号) 不是单一的分组函数。...通常,当在数据库中执行查询语句,并且不定期使用sum、AVG和count等聚合函数时,会报告错误。 例如,我们需要计算每个学生的最终分数:从成绩表中选择姓名、总和(单科分数)和总分。这样,将报告错误。...必须使用group by来声明要用作分组计算基础的字段。正确的写作方法是:从成绩表中选择姓名、总和(单科成绩)作为总分,按姓名分组。...现在名字不够,还要加班级,所以写:从成绩表中选择班级、姓名、总和(单科成绩)作为总分,按姓名分组,实际又报错了。 这是因为类只放在查询列中,并且没有用group by声明。

    2.7K30

    Hive ORC文件格式

    File Footer 包含了文件中的 Stripe 列表,每个 Stripe 有多少行以及每列的数据类型。还包了一些含列级聚合的计数,最小值,最大值以及总和。 下图说明了ORC文件结构: ?...Index data 包含每列的最大值和最小值以及每列所在的行(还可以包括位字段或布隆过滤器)。行索引里面提供了偏移量,它可以跳到正确的压缩块位置以及解压缩块的字节位置。...请注意,ORC索引仅用于选择 Stripe 和行组,而不用于查询。 尽管 Stripe 大小很大,具有相对频繁的行索引,可以跳过 Stripe 内很多行快速读取。...在默认情况下,最大可以跳过10000行。通过过滤谓词,可以跳过大量的行,你可以根据表的 Secondary Keys 进行排序,从而大幅减少执行时间。...我们通常的做法是将 HDFS 中的数据作为文本,在其上创建 Hive 外部表,然后将数据以 ORC 格式存储在Hive中: CREATE TABLE Addresses_ORC STORED AS ORC

    4.8K32

    Mysql如何随机获取表中的数呢rand()

    但是对于内存表,回表过程只是简单的根据数据行的位置,直接访问内存得到数据,根本不会导致多访问磁盘,因此优化器如果没有这个顾虑,那么他优先考虑的是排序的行越少越好了,所以,Mysql这个时候就会选择rowid...现在临时表有10000行数据了,接下来你要在这个没有索引的内存临时表上,按照R字段排序 初始化sort_buffer中两个字段,一个是double,一个整形 从内存临时表中一行一行的获取R和位置信息,把字段放入到...sort_buffer的两个字段中,此时要全表扫描临时表,扫描的行数为10000行,此时总共扫描的行数变成了2000行 sort_buffer根据R字段进行排序,这里没有涉及到表的扫描 在根据sort_buffer...而优先级算法,可以精准的获取最小的三个word 从临时表中获取前三行,组成一个最大堆 然后拿下一行数据,和最大堆的R比较,大于R,则丢弃,小于R,则替换 重复2的步骤,直到把10000行数据循环完成...随机排序方法 我们简化一下问题,只需要获取一个随机的字段,我们的思路如下 获取表的主键id的最大值,和最小值 然后根据最大值和最小值,算出x=(M-N)*rand() + N; 再获取不小于X的第一行

    4.6K20

    R如何与Tableau集成分步指南

    现在将订单日期拖到列中并将格式更改为月。在标记窗格中将段拖动到颜色。最后将排名拖到行。 在你现在可以看到的图表中,排名是根据月份数量分配的。但是,我们需要他们在细分市场的基础上。...让我们在双轴的帮助下快速修复: 再次将等级拖放到行并重复步骤4和5以得到: ? 您会在商标窗格中看到排名和排名(2)?我们将使用这些来创建带圆圈的标签。...最后,将销售额拖放到标签 - >快速表计算 - >总计百分比上,以获得我们期望的凹凸图。 1.3甜甜圈图 圆环图是小学图的另一种表现形式。...要为饼图创建一个双轴,拖记录数从措施到了行,两次。通过右键点击它们并选择最小值代替默认总和来更改每个绿色药丸的度量: ? 选择Marks Pane中的第二个饼图,并将其中的每个度量/维度拖出。...使用以下默认信息填写字段并选择测试连接: ? 所以,现在 你已经准备好了适当的配料,让我们开始做饭吧! 如上图所示,您可以使用Tableau的表计算与R进行通信: ?

    3.5K70

    如何用Tableau实现动态报表?

    销售数据表记录了咖啡订单,包括字段:订单编号、订日期、门店、产品ID、顾客、数量。 image.png 产品表中记录了咖啡的种类与价格,包括字段:咖啡ID、咖啡种类、杯型、产品名称、价格。...价格在产品表中,数量在销售数据表中,也就是计算指标用到的两列数据在不同的表中。...image.png 3.城市工作表 新建工作表,重命名为城市 image.png 将左边销售数据表门店拖至工作表上的行,并将门店地理角色选择为城市 image.png 将度量名称拖至标记颜色...,选择文本 image.png 选择整个视图 image.png 双击设置格式:点击字段---总和(金额)---区 image.png 设置字体颜色、大小等属性 image.png 7....,标题居中,将产品名称-杯型分别拖至行-列 image.png 添加数量标签 image.png 点击分析---合计---选择显示行总和+显示列总和 image.png 视图为标准 image.png

    2.5K00

    2.34 PowerBI数据建模-视觉对象计算的应用

    度量值也可实现视觉对象计算的效果,有些情况下,视觉对象计算操作更简单、性能更好,但是视觉对象计算只存在具体的视觉对象中,不存在模型里,所以不利于从模型中调用和重复利用。...视觉对象的格式设置,请不要直接在公式中使用FORMAT函数,这样会将结果转为文本。在格式窗格的属性中,Data format下“将设置应用于”选择达成率,输入需要显示的格式字符串。...视觉对象中可能只有行字段或列字段中的一个,按实际情况选择参数。...因为行号是在表视觉对象生成后再进行统计的,所以使用视觉对象计算更简单。点击新建计算,输入公式,修改格式,调整字段的前后顺序。其中ISATLEVEL函数用来判断是否非小计行。...设置格式后,结果如下:注意:帕累托是从大到小累加,需要在视觉对象中按照达成的总和列降序排列。

    8110

    【SQL】进阶知识 -- 随机取数的几种方式

    在很多数据库开发和数据分析中,我们经常需要从大量数据中随机抽取一定数量的记录。比如,从一个客户表中随机选取4个客户进行抽奖,或者在进行数据分析时,想随机挑选几条数据进行查看。...那么,如何在不同的数据库系统中实现“随机取数”呢? 今天我们就来聊聊这个话题,看看在 MySQL、PostgreSQL、SQL Server 和 Oracle 中,如何快速且高效地随机抽取4条数据。...一、什么是“随机取数”? 在SQL中,随机取数指的是从一个表中随机选取若干条记录。我们通常在以下场景中使用: 抽样分析 随机抽奖 随机显示一些推荐内容 那么,如何从数据库中随机抽取4条数据呢?...以下是一些优化建议: 避免全表扫描: 如果数据量很大,可以考虑先对数据进行分区,或者根据某个字段进行限制,然后再进行随机取数。...记住,每种方法的背后都有它的优缺点,合理选择并优化它们,才能在大数据量的环境下获得更好的性能。 温馨提示: 在实际应用中,根据数据量和需求的不同,选择合适的随机函数非常重要。

    14800

    Excel数据分析:从入门到精通

    这些基础知识包括: 单元格和范围:Excel中的单元格是指表格中的一个格子,由列和行交叉而成。范围则是指由多个单元格组成的一个区域,可以用“:”来表示。...数据类型:Excel中的数据可以是文本、数字、日期、时间等多种类型。你需要了解每种数据类型的特点和转换方法。 公式和函数:Excel中的公式和函数可以帮助你进行计算和数据分析。...数据排序和筛选:根据需求对数据进行排序和筛选,以便更好地理解和利用数据。 数据求和和统计:利用Excel的求和和统计函数对数据进行汇总和分析。...你可以通过拖拽字段来设置数据透视表的行、列、值和筛选条件,从而快速生成数据报表和图表。 2.3 条件格式化 条件格式化是一种在Excel中对数据进行可视化处理的方法。...你可以根据不同的数据类型和分析需求,选择合适的图表来展示数据。 结语 Excel数据分析是一个非常重要的技能,不仅可以提高工作效率,还可以帮助你更好地理解和利用数据。

    3.2K50
    领券