- 博客(571)
- 收藏
- 关注

原创 tableau 对比销售额分析(利用参数、exclude)
目的:找出与选定类别的差异步骤:首先,必须隔离选定类别的销售额。然后,需要使用 EXCLUDE 表达式在所有其他类别中重复该值。之后,便可轻松了解每个类别的销售额与其他类别的差异。因为类别是不固定的,可能是所有类别中的任意一个,所以需要设置参数:鼠标放在Category上,右键创建参数创建计算字段:[Category] = [参数].[Category],名称为Selected Category创建计算字段:IF [Category] = [参数].[Category] THEN S
2020-10-01 21:56:50
3663

原创 tableau 总额百分比
每个国家/地区的收入对全球销售额有何贡献? 如果我们按照贡献百分比着色,即可看出美国对全球销售收入的贡献最大。但是,我们可能想重点关注欧盟等在绝对值上相对贡献较小的市场。如果不采用详细级别表达式,对某市场进行筛选会导致总额百分比的重新计算,从而显示每个国家/地区对其市场的贡献。利用简单的详细级别表达式,我们可对某市场进行筛选,同时仍可衡量全球贡献。先看图吧,大概能懂什么意思了,就是求百分比,以后可以套用。这里的第二列:SUM([{SUM(Sales)}]),第三列:SUM([Sales]).
2020-10-01 17:18:12
1663
原创 neo4j函数
字符串会被解析为一个浮点数,如果解析失败,则返回null。字符串会被解析为一个整数,如果解析失败,则返回null。从节点或者关系列表中返回单个属性或者某个函数的值,它将遍历整个列表,针对列表中的每个元素运行一个表达式,返回的节点就是节点或关系的属性的map;返回一个数值的正负。返回[0,1)之间的一个随机数,返回的数值在整个区间遵循均匀分布。以字符串列表的形式返回一个节点、关系或者map的所有属性的名称。如果断言刚好只适用于列表中的某一个元素,则返回true。以字符串列表的形式返回一个节点的所有标签。
2023-08-26 14:48:10
102
转载 Mysql5.X实现row_number( ) over( )分组排序
目前8.0及以上版本是支持row_number( ) over( )的,至于5.X,可以通过变量的方式实现。简单测试如下:求每个人创建角色,按创建时间倒序排列。
2023-08-26 09:58:27
32
原创 Neo4j之CALL基础
语句用于调用 Neo4j 数据库中预定义的函数、过程或者自定义的函数。它是用来执行一些特定操作或计算的重要工具。语句用于调用各种函数、过程和图算法,它可以用来执行数据库操作、计算和数据处理等任务。根据需要,你可以根据自己的需求调用不同的函数和过程。这个示例中,使用 APOC 库的存储过程。来将匹配的结果导出为 CSV 文件。这个示例中,调用了数据库管理系统的。来获取数据库中所有的节点标签。这个示例中,调用了图算法库中的。函数来获取数据库中的组件信息。这个示例中,调用了内置函数。这个示例中,调用了名为。
2023-08-20 15:35:17
902
原创 Neo4j之union基础
子句的结果合并为一个结果集。它可以用来合并不同模式的节点和关系,或者将多个查询的结果合并在一起。这个示例中,将三个查询的结果合并在一起,分别是人的姓名、电影的标题以及一个固定的字符串。这个示例中,将演员和导演的姓名合并在一起,他们分别与电影节点通过不同关系相连接。合并多个查询的结果,这些查询可以涉及不同类型的节点和关系,或者处理不同的属性。这个示例中,先分别从人和电影节点中获取姓名和标题,然后使用。这个示例中,首先从满足条件的人节点中返回姓名,然后使用。将结果与满足条件的电影节点的标题合并起来。
2023-08-20 15:13:43
1340
原创 Neo4j之unwind基础
等语句结合使用,用于对列表中的每个元素执行相应的操作。创建具有姓名属性的人节点,如果节点不存在则创建,并在创建时设置一个时间戳属性。语句在 Cypher 查询中用于将列表(数组)中的元素逐个“展开”逐个展开给定的姓名列表,然后逐个创建具有姓名属性的人节点。聚合函数将每个人节点的朋友姓名收集到列表中,最后使用。逐个展开朋友列表,并返回每个人节点和他们的朋友姓名。逐个展开给定的列表,然后将每个元素乘以2并返回。这个示例首先匹配拥有朋友关系的人节点,然后使用。逐个展开给定的姓名列表,然后使用。
2023-08-20 15:10:00
1634
原创 Neo4j之with基础
语句用于控制查询流程,将之前的查询结果传递给后续的操作。首先,它匹配参演电影的人节点,并传递人节点和电影数量给第一个。语句将匹配的结果传递给后续的操作,这里是返回每个人节点的姓名属性。,然后根据条件过滤,最终返回满足条件的人节点的姓名。传递给后续的操作,最终返回人节点的姓名和电影数量。语句将一个字符串列表传递给后续的操作,然后使用。展开列表,逐个创建具有姓名属性的人节点。用于将之前的查询结果传递给后续的查询操作。这个示例匹配参演电影的人节点,然后使用。将每个人节点和他们参演的电影数量。
2023-08-20 15:07:01
1307
原创 Neo4j之ORDER BY基础
这个示例返回所有电影节点的标题和发布年份属性,并首先按发布年份升序排序,然后再按标题降序排序。语句用于对查询结果进行排序,可以按单个属性或多个属性排序,还可以结合聚合结果一起排序。这个示例返回每个人节点的姓名和他们评价过电影的平均评分,并按平均评分降序排序。这个示例返回最新发布的前 10 部电影的标题和发布年份属性。语句用于对查询结果进行排序。这个示例返回所有人节点的姓名和年龄属性,并按年龄降序排序。
2023-08-20 15:02:42
705
原创 Neo4j之CREATE UNIQUE基础
这个示例创建一个唯一的 "RATED" 关系,将已存在的 "Person" 节点 "Alice" 和 "Movie" 节点 "The Matrix" 连接起来。如果关系已存在,则不会创建新关系。这个示例创建了一个唯一的 "FRIEND" 关系链,将 "Alice"、"Bob" 和 "Charlie" 三个唯一的节点连接在一起。这个示例创建了两个唯一的 "Person" 节点,并在它们之间创建了一个唯一的 "FRIEND" 关系。这个示例创建一个名为 "Alice" 的唯一 "Person" 节点。
2023-08-20 14:41:51
44
原创 Neo4j之RETURN基础
这个示例返回所有 FRIEND 关系中 since 属性大于 5 的两个人节点的姓名和关系的 since 属性。语句用于从查询中返回所需的数据,并根据需要可以返回节点、关系、属性、聚合结果、路径等信息。这个示例返回所有年龄大于 30 岁的人节点的姓名和年龄属性。这个示例返回连接 Alice 和 Bob 之间的最短路径信息。这个示例返回每个人节点的姓名和他们评价过电影的平均评分。语句用于从 Cypher 查询中返回所需的结果。这个示例返回前 5 部电影的标题。
2023-08-20 14:41:18
52
原创 Neo4j之FOREACH基础
这个查询的目的是在已经存在的节点 "Bob" 和 "The Matrix" 之间创建多个 "RATED" 关系,每个关系都有一个不同的评分属性。这个查询会找到名为 "Alice" 的节点和名为 "The Matrix" 的电影,并且只在尚不存在 "ACTED_IN" 关系的情况下创建关系。语句过滤出 "Person" 节点的名字为 "Bob",且 "Movie" 节点的标题为 "The Matrix"。语句找到满足条件的 "Person" 节点和 "Movie" 节点。表示一个 "Person" 节点,
2023-08-13 22:00:54
608
原创 Neo4j之REMOVE基础
这个查询会找到具有 "Person" 标签且属性 "name" 为 "Bob" 的节点,并从这些节点中同时删除 "age" 和 "email" 属性。这个查询会找到具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,并从这些节点中删除 "age" 属性。这个查询会找到由 "KNOWS" 关系连接的名为 "Alice" 的节点,并从这些关系中删除 "since" 属性。这个查询会找到年龄大于 40 的所有节点,并从这些节点中删除 "email" 属性。在 Neo4j 中,
2023-08-13 21:50:56
734
原创 Neo4j之DELETE基础
这个查询会找到具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,然后删除该节点以及与之关联的所有关系。这个查询会找到由 "FRIEND" 关系连接的名为 "Alice" 和 "Bob" 的节点组成的模式,然后删除这些关系。这个查询会找到具有 "Person" 标签且属性 "name" 为 "John" 的节点,并删除其 "age" 属性。这个查询会找到年龄大于 60 的所有节点,以及与之关联的所有关系,然后删除这些节点和关系。这个查询会删除图数据库中的所有节点和与之关联的关系。
2023-08-13 21:41:29
804
原创 Neo4j之SET基础
这个查询会找到一个具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,然后将其 "age" 属性更新为 28,将 "city" 属性更新为 'New York'。这个查询会找到一个由具有 "FRIEND" 关系连接的名为 "Alice" 和 "Bob" 的节点组成的模式,然后将该关系的 "status" 属性更新为 'Close'。这个查询会找到一个具有 "Person" 标签且属性 "name" 为 "John" 的节点,然后将其 "age" 属性的值增加 1。
2023-08-13 21:32:17
1069
原创 Neo4j之MERGE基础
这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。这个查询会首先检查是否已经存在两个具有 "Person" 标签的节点,分别为 "Alice" 和 "Bob"。这个查询会检查是否已经存在一个带有 "Movie" 和 "Action" 标签且属性 "title" 为 "The Matrix" 的节点。如果不存在,则创建一个新节点。这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。
2023-08-13 21:13:39
692
原创 Neo4j之CREATE基础
这个查询会创建一个带有 "Person" 标签的节点和一个带有 "Movie" 标签的节点,然后创建一个带有 "ACTED_IN" 关系和属性 "roles" 的关系将它们连接起来。这个查询会创建一个带有 "Movie" 和 "Action" 标签的节点,节点属性包括 "title" 和 "released"。这个查询会创建一个具有 "Person" 标签的节点,节点属性包括 "name" 和 "age"。这个查询会创建多个带有 "Person" 标签的节点。语句用于创建节点、关系以及节点属性。
2023-08-13 20:59:22
305
原创 Neo4j之Aggregation基础
这个查询会查找所有电影节点的 "released" 属性的最大值和最小值,并将结果分别作为 "maxYear" 和 "minYear" 返回。这个查询会计算所有 "Person" 节点的年龄属性的平均值,并将结果作为 "averageAge" 返回。这个查询会计算具有 "Person" 标签的节点的数量,并将结果作为 "totalPersons" 返回。这个查询会计算所有 "Person" 节点的年龄属性的总和,并将结果作为 "totalAge" 返回。
2023-08-13 20:49:58
270
原创 Neo4j之where基础
对于MATCH和OPTTNAL MATCH, WHERE为模式增加约束, 它不能看作是匹配完成后的结果过滤。这个查询会返回 Tom Hanks 在 2000 年之后参演过的电影。这个查询会返回在 2000 年到 2010 年之间发布的电影的标题。这个查询会返回姓名中包含 "smith"(不区分大小写)的所有人。这个查询会匹配年龄大于 25 岁的所有人,并返回他们的姓名。这个查询会返回姓名中包含 "John" 的所有人。这个查询会返回那些有年龄属性的人的姓名。这个查询会返回年龄属性为空的人的姓名。
2023-08-13 20:38:51
364
原创 Neo4j之OPTIONAL MATCH基础
有时候你可能想要查找一个节点及其关联的其他节点,但并不是所有节点都有这样的关联。:查找电影 "The Matrix" 的演员,如果电影不存在,则返回 NULL。查找与电影关联的演员。可以查找这些可选的关联数据,即使关联不存在,也能获取相关节点的信息。:查找电影 "The Matrix" 的导演,以及他们可能参演的电影。,即使其中一个模式匹配失败,查询也会继续执行,确保查询的稳定性。,你可以在查询中组合不同的模式,同时保留一些模式的可选性。:查找所有电影及其导演的名字,以及导演参演电影的数量。
2023-08-13 09:18:49
601
原创 Neo4j之MATCH基础
查找和 "Alice" 有关系的人物及其关系,最多深度为 2。:查找电影 "The Matrix" 的导演和演员的名字。:查找 "Alice" 和 "Bob" 共同参演的电影。:查找所有和 "Alice" 有关系的电影节点。:查找所有节点和关系,返回节点的标签和属性。:查找所有名为 "Alice" 的人物节点。:查找 "Alice" 所参演的电影名称。:查找 1990 年之后发行的电影。:查找前 5 部发行年份最晚的电影。:统计电影节点的数量。
2023-08-13 09:03:15
568
原创 neo4j终端操作
输入’Ctrl+D’或者’:exit’ 都可行,而exit无效;3】启动cypher-shell。4】退出ypher-shell。2】启动、停止neo4j。
2023-08-08 10:16:55
828
原创 neo4j电影库-关系查询
1、先找到Tom Hanks还没有合作过的演员,但Tom Hanks的合作伙伴曾经与其合作过。2、找到一个可以向他的潜在合作者介绍Tom Hanks的人。
2023-08-06 20:10:00
804
原创 neo4j清空数据库
通过MATCH和OPTIONAL MATCH语句,可以找到所有的Person节点和Movie节点,即使它们没有与其他节点相关联,也能够继续执行删除操作,确保所有数据都被清空。通过这个操作,所有的Person节点、Movie节点以及它们之间的关系都会被删除,从而清空整个图数据库。这段代码是用Cypher查询语言编写的,用于清空所有的Person节点、Movie节点以及它们之间的所有关系。这段代码之所以这样写,是为了清空整个图数据库中的所有数据,包括节点和关系,从而回到一个空白的状态。
2023-08-06 19:22:50
849
原创 neo4j入门实例介绍
例如,Keanu Reeves饰演的角色是"Neo",Carrie-Anne Moss饰演的角色是"Trinity",Laurence Fishburne饰演的角色是"Morpheus",Hugo Weaving饰演的角色是"Agent Smith"。这部分代码创建了名为"Keanu"、"Carrie"、"Laurence"和"Hugo"的演员节点,并为每个节点设置了姓名(name)和出生年份(born)属性。通过以上代码,成功构建了一个包含电影、演员和导演之间关系的图数据库。
2023-08-06 19:12:00
719
原创 图数据库和知识图谱
它是由一组实体(节点)和它们之间的语义关系(边)组成的知识库。知识图谱旨在捕获现实世界中的事实和知识,并以结构化和语义的方式组织和表示它们。图数据库通过有效地存储和处理图结构,使得对复杂关系型数据的查询和分析更加高效。知识图谱可以在图数据库中表示为一组节点和关系,并且图数据库的强调关系的特性非常适合用于查询和遍历复杂的知识图谱数据。图数据库的核心概念是图(Graph),它由节点(Nodes)和节点之间的关系(Edges)组成。图数据库: 图数据库是一种特殊类型的数据库,用于存储和管理图形数据结构。
2023-08-06 15:43:35
208
原创 docker安装neo4j
输入用户名、密码:neo4j,会报错:Neo.ClientError.Security.AuthenticationRateLimit: The client has provided incorrect authentication details too many times in a row.由于我在home目录下创建不了文件夹,后面在其他目录(/Users/xiaokkk/)下创建了neo4j文件夹,接着创建了4个空文件夹:conf data import logs。
2023-08-06 14:14:35
1022
1
原创 mysql存储过程定时调度
在 MySQL 中,存储过程本身是不支持定时调度的。不过,你可以借助 MySQL 的事件调度器(Event Scheduler)来实现定时调度存储过程的执行。首先,需要确保 MySQL 的事件调度器已经启用。事件调度器是 MySQL 中的一个功能,可以周期性地执行一些指定的操作,包括调用存储过程。表,以及一个存储过程用于插入学生数据。,表示事件调度器未启用。存储过程插入一条名为 "John" 的学生数据到。,表示事件调度器已经启用;事件调度器将会每分钟执行一次,调用。表包含学生信息,其中。
2023-08-05 12:40:21
152
原创 MySQL字段类型与存储空间的关系
因此,在选择数据类型和参数时,需要根据实际数据的范围、精度和长度来选择合适的数据类型,以达到更高的存储效率。浮点数在 MySQL 中是按照标准的 IEEE 754 浮点数格式存储,具有固定的存储空间。对于字符类型,参数用于指定最大长度,但实际占用的存储空间取决于存储的数据的实际长度。参数对整数类型、浮点数类型等基本数据类型的存储空间没有直接影响。存储空间等于字符串的实际长度加上额外的长度信息。在 MySQL 中,对于整数类型(如。)等,参数(括号中的数字或长度)通常。用于限制数据的范围或精度。
2023-08-05 11:58:27
272
原创 mysql的索引
根据具体的查询需求和表的设计,可以选择合适的索引类型来优化查询性能。需要注意的是,索引的创建和维护会增加写入操作的开销,因此在选择索引时需谨慎,避免过度创建不必要的索引。唯一索引: 唯一索引用于确保表中某一列(或多列)的值唯一,可以加速根据唯一值进行数据检索的操作。主键索引: 主键索引用于唯一标识表中的每一行数据,通常用于加速根据主键值进行数据检索的操作。普通索引: 普通索引是最常见的索引类型,用于加速根据索引列的值进行数据检索的操作。主键索引在一张表中只能有一个。主键索引、唯一索引和普通索引。
2023-08-05 11:37:27
251
原创 mysql的update_time
方便的方式来管理更新时间戳字段,无需手动设置时间戳的值,系统会自动处理。字段会自动更新为更新时的时间戳,从而保持记录的更新时间是最新的。字段会自动被设置为当前的时间戳,而在更新数据时,字段的值,将会使用当前的时间戳作为默认值。: 这部分表示当插入新行时,如果没有指定。这样的设计可以确保在插入新数据时,: 这部分表示当更新该行数据时,字段会自动更新为当前的时间戳。这条插入数据的语句中没有指定。这条更新数据的语句会自动更新。将会被设置为当前的时间戳。字段为当前的时间戳。
2023-08-05 09:25:40
313
原创 mysql的数据类型
每种类型都有其特定的用途和存储要求。在创建表时,需要根据实际的业务需求选择合适的数据类型来定义列,以确保数据的准确存储和高效查询。
2023-08-05 09:20:43
243
原创 mysql的collations
例如,在 utf8_general_ci 排序规则下,字符串 "apple" 和 "APPLE" 被视为相等,而在 utf8_bin 排序规则下,它们被视为不同。因此,在选择字符集和排序规则时,需要根据具体的业务需求来进行选择,以确保数据的正确比较和排序。在 MySQL 数据库中,Collation(排序规则或字符集排序规则)是用于指定字符集的字符比较和排序方式的一组规则。同时,还可以在表的列级别或字符串类型字段的级别上单独指定字符集和排序规则,以覆盖数据库的默认设置。
2023-08-05 09:17:58
307
原创 VPN和堡垒机
VPN(Virtual Private Network)和堡垒机(Bastion Host)是两种不同的网络安全设备,用于不同的目的和场景。堡垒机主要用于管理和监控远程用户对内部网络资源的访问,提供更严格的访问控制和日志记录。VPN主要用于远程用户或分支机构与公司内部网络的连接,实现安全的远程访问。堡垒机是一种网络安全设备,用于控制和保护对内部网络资源的远程访问。两者在网络安全中都起着重要的作用,但应用场景和功能略有不同。VPN是一种用于建立安全的加密连接的技术。
2023-08-02 16:34:05
502
原创 DB2函数
两个月前的第一天:select (CURRENT DATE - 1 DAY) - (DAY(CURRENT DATE - 1 DAY) - 1) DAYS - 2 MONTH FROM SYSIBM.SYSDUMMY1。昨天:select CURRENT_DATE-1 FROM SYSIBM.SYSCOLUMNS limit 1。今天:select CURRENT DATE from SYSIBM.SYSDUMMY1。TRIM:用于去除字符型数据中的空格或其他指定字符。CHAR:数值类型转换为字符类型。
2023-07-30 08:50:52
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人