列表 在说透视表之前,我们先看看,什么是列表,在传统观念上,列表的每一行代表一条记录,而每一列代表一个属性。...而在这个表里面,某一列,就代表一个属性,比如date代表日期,project代表项目名称。而这里每一行,代表一条独立,完整的记录,一条与另外一条记录,没有直接的关系。...,其第一行和第一列可以理解成索引,而在表中根据索引可以确定一条唯一的值,他们一起组成一条相当于列表里的数据。...,这里我们将读取的csv注册成了表f,使用spark sql语句,这里和oracle的透视语句类似 pivot语法: pivot( 聚合列 for 待转换列 in (列值) ) 其语法还是比较简单的...为了展示数据好看一点,我特意使用语句 r.na().fill(0) 将空值`null`替换成了0。
将单位字段放在透视表的行区域。 ? 当处理到单位字段时我们会发现,表中每一笔贷款都有三家网点进行业绩分成。我们需要将分成比例也考虑进去。所以透视表中的行区域及值区域不能简单的放入单位1和贷款金额。...3.4数据追加合并 接下来我们需求是将三个分离的表进行纵向的拼接。在我们的例子中,需要将三个表的单位及分成比例字段追加在同一列。但是目前三个新表中的单位及分成比例字段名字是不一致的,不能直接追加。...3.5数据分组/透视 3.5.1空值处理 此时利用info()返回的数据可以判断data4是否存在空值。...从以下运行结果来看,data4数据表格共5019行,贷款金额及贷款用途都含有5019行非空值,说明者两列都没有空值出现。而单位及分成比例只有2041行数据为非空。其他行为空值。...注意到分成比例并非百分比格式,我们需要将其转化为百分比(除以100)。插入新列可以使用insert()函数,也可以直接以索引的方式进行。为了演示,我们分别选择不同的方法插入百分比列及分成贷款金额列。
图 7-17 真正【逆透视】的数据集 那么,在这个过程中,用户是否可以为自己省去这一堆的点击次数呢?...将数据集筛选到【最早】的日期,只筛选与所选列中最早的日期相匹配的行。 使用【介于】筛选器将允许用户对开始日期和结束日期范围进行硬编码。...虽然排序很有用,而且在查看原始数据时可以给用户带来很大的安慰,但也需要认识到,这是以牺牲性能为代价的。用户应该问问自己,是否真的需要对数据进行排序。有时候,为了使数据的形状正确,这当然是需要的。...但如果数据将被加载到 Excel 或 Power BI 中的数据模型为了后续制作透视表,那么对输出进行排序是不必要的,因为在展示层可以再进行排序,解决这个问题。...在导入数据时,挑战一下自己,看看是否可以减少所携带细节的列和行的数量。请记住,如果过度缩减数据,总是可以回到分组步骤并删除它(或重新配置它)。当数据集变得更小,解决方案将更加稳定和性能会更好。
五、透视、逆透视及分组 5.1 透视 所谓透视(Pivoting)就是把数据从行的状态旋转为列的状态的处理。其处理步骤为: ? ...5.2 逆透视 所谓逆透视(Unpivoting)转换是一种把数据从列的状态旋转为行的状态的技术,它将来自单个记录中多个列的值扩展为单个列中具有相同值得多个记录。...换句话说,将透视表中的每个源行潜在地转换成多个行,每行代表源透视表的一个指定的列值。 ...③ 基于联接的DELETE:也不是标准SQL语句,可以根据另一个表中相关行的属性定义的过滤器来删除表中的数据行。 ...②sp_executesql存储过程在安全上也比EXEC要好,它的参数化也可以不必受SQL注入的困扰。
pandas 通过在 DataFrame 中指定单个系列来提供矢量化操作。可以以相同的方式分配新列。DataFrame.drop() 方法从 DataFrame 中删除一列。...日期功能 本节将提到“日期”,但时间戳的处理方式类似。 我们可以将日期功能分为两部分:解析和输出。在Excel电子表格中,日期值通常会自动解析,但如果您需要,还有一个 DATEVALUE 函数。...列的选择 在Excel电子表格中,您可以通过以下方式选择所需的列: 隐藏列; 删除列; 引用从一个工作表到另一个工作表的范围; 由于Excel电子表格列通常在标题行中命名,因此重命名列只需更改第一个单元格中的文本即可...提取第n个单词 在 Excel 中,您可以使用文本到列向导来拆分文本和检索特定列。(请注意,也可以通过公式来做到这一点。)...如果匹配多行,则每个匹配都会有一行,而不仅仅是第一行; 它将包括查找表中的所有列,而不仅仅是单个指定的列; 它支持更复杂的连接操作; 其他注意事项 1.
图 8-12 一月到三月的记录现在显示在一个【数据透视表】中 【注意】 记住,如果查询被加载到 Excel 或 Power BI 的数据模型中,点击一次【刷新】就可以更新数据源和任何透视或可视化对象。...如图 8-13 所示,“Date” 列的名称在 “Mar 2008” 的查询中变成了 “TranDate”,而分析师并没有注意到。...图 8-22 将无效日期转换为错误 这个问题实际上是有利的,因为合并后的礼品券全表中的所有数据都是重复的。对这些抛出错误的行,可以简单地把它们筛选掉。...需要注意的是,在应用这种技巧的场景中,将第一行提升为标题是有风险的,因为如果有人不关心日期列,他们可能会删除 “Feb 2008” 这一列,这就会导致出错。...至此,已经探索了用外部数据源的手动追加,以及如何为工作簿中的数据生成自动更新系统,有没有可能把这些合并起来,创建一个系统,可以推广到合并一个文件夹中的所有文件,而不必在 Power Query 中手动添加每个文件
点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。...但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。...那么,有没有一本书可以一次性讲解Power Query和Power Pivot在Excel中的使用呢?...选项卡中的功能 3.2 删除行或列操作 3.2.1 选择列与删除列 3.2.2 删除行与保留行 3.2.3 通过筛选器删除行 3.3 添加列操作 3.3.1 简单快速地添加条件列 3.3.2 为行添加自定义序号...函数 第9章 DAX进阶知识和常见应用 9.1 Power Pivot和数据透视表 9.1.1 实例1:在数据透视表中使用自定义排序:按列排序 9.1.2 实例2:在数据透视表中创建KPI规则——设置
在学会透视表之前我会靠着缜密的思维和坚韧的毅力人肉计算。掌握透视表之后我发现当初缜密的思维和坚韧的毅力都是傻逼的表现。 喏,我们先选中所有列,在插入模块选中“数据透视表” ?...以哪个字段分组,就将哪个字段拖到行或者列,像下面这样: ? 左侧数据透视表结构区域随着我们的拖动发生了变化,刚才我们把日期拖动到行,把省份移动到列,果然,数据透视表布局和我们操作一毛一样: ? 等等!...那是因为,我们源数据格式是酱紫的,数据透视表分组逻辑是判断是否唯一,如果唯一则单独分为一行(或一列),想要把行标签的日期格式变成月的维度,也HIN简单。...这透视表分组,如你所愿了,行是月份,列是省份。 分组完了,下面就是个性化计算,我们要计算涉及到的核心字段是销售额,在已经分好组的情况下,只需要把销售额字段拖到值的位置: ?...我们发现两个区域的表有一个交集,他们有共同的产品ID,因此,我们可以通过ID作为纽带,将区域1里面的销量、销售额数据匹配到区域2中。 先做销量,我们在J2单元格输入如下公式: ?
甚至,有朋友提到,如果用月历型报表展示疫情的情况,应该会很赞: 的确,在很多与时间相关的分析上,通过月历的方式进行展示,可能在一定程度上比较符合目前大多数人的工作或生活习惯,毕竟,大家都活在一周...Step 01-准备数据 为了方便,我们直接把休假的日期做到日期表里,即增加2列,分别标识哪一天是假期,具体是什么假(很多情况下,每个公司每个员工都有不同的休假时间,通常会单独构建一张表...处理完毕,将数据加载到Power Pivot数据模型: Step 03-在PP中添加度量,并创建透视表 在PP中创建度量,如下图所示: 这里的MIN可以改为MAX等函数...跟我们前面做日历一样,分类汇总和总计行是没有意义的,所以进行禁用,并设置报表布局格式为表格形式,隐藏“周”列,如下图所示: Step 06-设置换行及文本格式 前面我们在PQ里做字符连接的时候...记得别睡太多…… 同时,这里还有一个问题,留给大家解决: 透视表的行高怎么固定?
有些情况下可以接受更多命令,例如,如果其中一个查询表只返回少量行,但通常多个SQL命令将意味着数据服务需要在内存连接中执行,这可能会导致内存问题。...其他增值字段可以添加到登台表中,例如: 记录的代理键(这对于审计和数据沿袭很有用) 记录加载到分段的日期/时间 记录加载到目标系统的日期/时间 表示记录质量是否有效的标志 指示记录是否已被处理到目标系统的标志...解决方法是在数据流之前在脚本中设置变量值,并在可能的情况下将自定义函数替换为变量。 将源表路由到多个查询。...如果传入数据集由非数据透视列分组,则此转换具有按复选框分组,允许其更有效地执行数据透视表。通常,应该在反向数据透视之前使用查询,以便通过非透视列对数据进行排序(确保此排序反映在下推SQL中)。...使用表格比较具有以下优点: 可以定义导致更新的列(而不是仅使用所有列) 排序后的输入选项和缓存选项可用于提高性能 它在数据流上更具可读性和清晰度 在Oracle上,自动正确加载选项可以作为合并命令来实现
在Excel中,我们可以使用Power Pivot和数据透视表相结合的方法来动态计算近N天的数据变化的情况。比如,我们按选择一个日期,计算当前日期的前7天、前15天,前30天等近期的数据变化情况。...可以在excel工作表中输入,然后导入到Power Pivot中。 (2)按日期表再建立一个用于透视图的x轴和透视表的日期列的日期表。同时该表也标记为日期表。...插入一个数据透视表,日期列来自于切片日期表中的日期列,放入度量值salestotal。如图所示,当我们选择一个日期的时候,就可以自动计算这个日期的近N天的总金额。...接着插入一个数据透视图,图表类型修改为拆白线图,x轴的日期列为切片日期表中的日期列,度量值为salestotal。...DATESBETWEEN('日期表'[Date],sv-(t-1),sv) )RETURN sv2 在Power BI中的效果如图所示: 关于近N天的案例,我们还可以拓展到年/月的近
MAX() MAX() 函数用于查找某列中的最大值。它通常用于查找数值型列的最大值,也可用于日期或文本列。...MIN() MIN() 函数用于查找某列中的最小值。它通常用于查找数值型列的最小值,也可用于日期或文本列。...使用 DISTINCT 关键字 有时我们需要对唯一的值进行聚合计算,而不是考虑所有的行。这时可以使用 DISTINCT 关键字来确保只考虑唯一的值。...使用聚合函数进行数据透视 聚合函数还可以用于数据透视,将数据表重新排列为透视表。透视表将不同的列值作为行,聚合函数的结果作为列。这在分析数据时非常有用。 7....在进行数据透视时,了解透视表的结构,以便更好地组织和理解数据。 总之,SQL 聚合函数是处理和分析数据的重要工具,掌握它们的用法可以帮助您更好地理解和利用数据库中的信息。
关于这个函数,我曾经在以前的文章《合并查询,一个严重的效率问题以及简单的解决办法 | PQ优化实战》里提到过,效率比较低,尽量避免使用。在这个例子里,最后测试的结果也是,这种方式的效率是最低的。...因为每个日期作为一列的数据,从数据建模的角度来说,一般建议转换为每一行(逆透视),后续也没有必要进行汇总后横着放。...但这个问题既然都在Power Query里处理,那么,逆透视后,可以对“型号”、“序号”及“日期(属性)”三列进行分组求和,然后再透视即得结果。...Step-01 选定“型号”和“序号”列,单击“逆透视其他列”: Step-02 选定“型号”、“序号”和“属性”(日期)列,分组对“值”列求和: Step-03 选择“属性”列,单击“透视列”,在值列中选择...“计数”列即可: - 4 - 逆透视再透视法 这个特定的场景,完全可以逆透视后,再直接在透视时进行聚合,所以,上面方法中的分组步骤,其实是多余的。
NumPy进行一个6行4列的随机数生成,index指定了它的行索引,而columns参数指定了列索引。..."现在我们可以专注的来练习一下如何具体的去访问DataFrame里的数据。在刚刚我们学习过访问一列的数据,现在我们来思考一下,如果我想按照行来访问数据怎么办呢?...= 'select * from class' r = pd.read_sql(sql, con=conn) print(r) print(type(r)) 三 日期的处理 日期格式的数据是我们在进行数据处理的时候经常遇到的一种格式...,让我来看一下在Excel中的日期类的数据我们该如何处理?...4 透视表 接下来要讲的知识点叫做透视表,相信你一定用过Excel来统计一些数据,那么Pandas也提供了一个这样的功能,它就是具有透视表功能的函数pivot_table(),我们先来看一下这个函数的一些参数
什么时候用数据透视表 找出同类数据在不同时期的某种特定关系 以简洁友好的方式,查看大量的表格数据 对数值数据快速分类汇总,按分类和子类查看数据信息 建立交叉表格,将行移动到列或将列移动到行,以查看数据源的不同汇总...数据源需要们组一定的规则才能成为一个合法的数据源,详细规则如下: 每列数据的第一行是该列的标题 数据源不能包含空行和空列 数据源不能包含空单元格 数据源中不能包含合并单元格 数据源中不能包含同类字段...如果只是单元格数值发生变化,可以选中透视表区域右键刷新或者在透视表分析面板中点击刷新。而如果对数据源进行了删除或新增,则需要手动的去更改数据源。...给文件中普通的区域套用表格样式之后,该区域会变成超级表,在此选择该区域,就可以插入切片器了,详细操作如下: 切片器同样也可以应用于透视表,在一个Excel文件中,基于相同的数据源,可以生成多个透视表,...接下来,我们对日期创建组,实例中以月维单位,实际项目中,可以根据实际需求,按照季度等其它单位创建组。 透视表在实际业务中应用广泛,也可应用于报表的合并分析及拆分。
在 Excel 中,我们可以利用数据透视表(Pivot Table)方便快捷的实现这些工作。...2 创建数据透视表 此处将工作表重命名为sheet1 首先确保表格第一行是表头 点击表中任意位置 选中 Ribbon 中的“插入” 点击第一个图标“数据透视表”,出现“创建数据透视表”对话框 ?...3 数据透视表中的字段 在“数据透视表生成器”菜单中,选择“球队、平、进球、失球、积分、更新日期”几个字段 ?...将“平”拖放至“行”列表中的“球队”上方;表示在“平局”的维度上,嵌套(nesting)的归纳了“球队”的维度 将“更新日期”拖放至“筛选器”列表中;表示可以根据更新日期来筛选显示表格数据 ?...将字段的汇总方式改为“计数” -- 虽然在此处并无太多实际意义 5 利用切片器过滤数据 除了可以在“数据透视表生成器”中指定若干个“过滤器”,切片器(Slicers)也可以用来过滤数据,使分析工作更清晰化
世界上最深入人心的数据分析工具,是Excel,在日本的程序员考试中,程序语言部分,是可以选择Excel表格工具作为考试选项的。可见其重要性。...缺失值处理 通过查看列的总数据数量进行比较是否缺失,如果发现缺失值,点击开始选项卡中的查找和选项,点击定位条件,选择空值找到缺失值。...数据透视表的原理: Split(数据分组)→Apply(应用函数)→Combine(组合结果) 插入选项卡,选择数据透视表,选择新工作表,将需要进行数据分组的分析轴,拖入对应的行和列。 7....数据清洗后,将文本另存为清洗结果文本,方便后续使用。 构建模型 1. 使用数据透视表进行模型构建 构建后任意值右键,将值的显示方式设置为列汇总的百分比,可以改变显示方式。 2....透视表中的值汇总依据,选择平均值。 日期处理 对日期的处理可以让我们提高工作效率。总结学习到的日期处理的小例子。 1. 购买年份和出生年份的差,求年龄。
数据透视表对原始数据的要求 所有数据在一张表里 透视表的原始数据需要放在一张工作表里,而不是分多张工作表放置。...二维表将无法顺利建立数据透视表。 表中不要有空值 原始数据不要出现空行/空列。如数据缺失,或为“0”值,建议输入“0”而非空白单元格。...字段设置有以下两个要点:即,透视表的列和行分别显示什么数据、数据的统计方式是什么。 字段设置 •移动字段 首先,字段可以从字段列表中直接拖拽添加到下方区域。...字段设置 其次,添加到下方的字段,可以通过拖拽的方式进行调整。 如左下图所示,“日期”在【行】区域内,选中“日期”进行拖拽,可以拖动到【列】区域内。...数据透视图是动态图表,可以通过坐标轴和图例附近的下拉菜单调整图表内容 数据透视图是动态图表,可以通过坐标轴和图例附近的下拉菜单调整图表内容 将数据透视图变成普通图表 数据透视图会随着数据透视表数据变化而变化
image.png SQL非常强大,且具有多种功能。然而,当涉及到数据科学面试时,大多数公司只测试其少数核心概念。以下这10个概念因其在实际中应用最多,而最常出现。...在根据其他变量分配某个值或类时,用CASE-WHEN可以编写复杂的条件语句。 鲜为人知的是,用它还可以透视数据。...例如,如果你已有“月(month)”列,又希望为每个month创建一个单独的列,则可以使用CASE WHEN语句来透视数据。 示例问题:编写一个SQL查询重新排列表样式,以使每个月对应一个收入栏。...在许多实际应用中,数据存储在一个大表中,而不是许多小表中。在这种情况下,可能需要自连接来解决特定的问题。 一起来看一个例子。...希望这对你的面试准备过程有所帮助,并祝你在未来一切顺利。我相信,如果对这10个概念了如指掌,那么你就可以应对面试中的大多数SQL问题了。
领取专属 10元无门槛券
手把手带您无忧上云