首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过引用列位置将派生列添加到使用Excel PowerQuery的旋转表中

如何通过引用列位置将派生列添加到使用Excel PowerQuery的旋转表中
EN

Stack Overflow用户
提问于 2019-05-16 15:24:30
回答 1查看 189关注 0票数 1

我正在使用Excel中的PowerQuery创建一个具有旋转数据的常规报告。该中心最近四个季度的列名按日期顺序排列(例如,2018年9月30日、2018年12月31日、2019年3月31日、2019年6月30日)。每个日期列中的值都是数字的。每次报告运行时,列名都会更改,because...new日期!

行代表不同的实体(例如妈妈银行、爸爸银行、爷爷银行)。我需要创建一些派生列来计算最近季度列(最后一列)和前一季度列(例如3个月移动,6个月移动)之间的差异。以下是一些示例数据:

这就是数据在枢轴之前的样子:

代码语言:javascript
运行
AI代码解释
复制
Entity_Name       Quarter Date    Value
Bank of Dad       30/09/2018      4
Bank of Dad       31/12/2018      2
Bank of Dad       31/03/2019      3
Bank of Dad       30/06/2019      3
Bank of Grandpa   30/09/2018      4
Bank of Grandpa   31/12/2018      6
Bank of Grandpa   31/03/2019      1
Bank of Grandpa   30/06/2019      2
Bank of Mum       30/09/2018      5
Bank of Mum       31/12/2018      5
Bank of Mum       31/03/2019      4
Bank of Mum       30/06/2019      4

在枢轴之后:

代码语言:javascript
运行
AI代码解释
复制
Entity_Name       30/09/2018     31/12/2018     31/03/2019     30/06/2019
Bank of Grandpa   4              6              1              2
Bank of Mum       5              5              4              4
Bank of Dad       4              2              3              3

这就是我想要达到的目标(三个月前和六个月前的最后一个季度):

代码语言:javascript
运行
AI代码解释
复制
Entity_Name       Movement (3 months)   Movement (6 months)
Bank of Grandpa   1                     -4
Bank of Mum       0                     -1
Bank of Dad       0                      1

我在互联网上进行了一次很好的搜索,我发现了类似的例子,但并不完全是这样的(通常与重命名列或从列中筛选值有关)。我的问题其实比我所发现的要简单得多,所以我觉得这应该是相对简单的,我只是遗漏了一些其他人都不需要质疑的显而易见的问题。我是第一次在PowerQuery工作的熊猫/蟒蛇女孩(我需要把这个交给一个客户,以便正常运行,所以我需要报告来“讲”他们的语言--也就是excel。)PowerQuery确实做得很好(在excel中加入并分组?-酷!)其他的事情都是有点斗志-像这样!

我有两种方法来看待这个问题--首先,试着在支点之前做到这一点,这样我就不会为改变列名而挣扎了。这是卷曲的。如果只有一个实体,它可能会更简单,但是多个实体会使它变得棘手。我最喜欢的方法是从旋转数据中派生列,这与以前如何编写此报告(在excel中,而不是使用power查询)一致。要做到这一点,我需要在添加新列时按位置引用列。

如果我能解决一个通过位置引用保存另一列值的列返回的问题,那么我就有99%的方法在那里,所以我在寻找解决问题的特定部分的帮助。

也就是说,通过使用列的位置引用(而不是显式列名)来达到这一点:

代码语言:javascript
运行
AI代码解释
复制
Entity_Name        30/09/2018    ...    Values_in_col_1   
Bank of Dad        4             ...    4
Bank of Grandpa    4             ...    4
Bank of Mum        5             ...    5

这就是我尝试过的:

代码语言:javascript
运行
AI代码解释
复制
let
     Source = Excel.CurrentWorkbook(){[Name="Table14"]}[Content],
     #"Changed Type" = Table.TransformColumnTypes(Source,{{"Entity name", type text}, {"Quarter date", type date}, {"Value", Int64.Type}}),
      #"Sorted Rows" = Table.Sort(#"Changed Type",{{"Entity name", Order.Ascending}, {"Quarter date", Order.Ascending}}),
     #"PrevTable" = Table.Pivot(Table.TransformColumnTypes(#"Sorted Rows", {{"Quarter date", type text}}, "en-NZ"), List.Distinct(Table.TransformColumnTypes(#"Sorted Rows", {{"Quarter date", type text}}, "en-NZ")[#"Quarter date"]), "Quarter date", "Value", List.Sum),
     #"Column names" = Table.ColumnNames(#"PrevTable"),
     #"Test 1" = Table.AddColumn(#"PrevTable", "Test1", each #"Column names"{1}),
     #"Test 2" = Table.AddColumn(#"Test 1", "Test2", each Table.SelectRows(#"PrevTable", each(Record.Field(_,Table.ColumnNames(#"PrevTable"){1}))))
in
     #"Test 2"

测试1:我已经到了可以创建列名列表并通过索引引用它们的地步--但是返回的是作为列名的值列,而不是实际值!哈哈。

测试2:我还尝试了另一种方法,看看我是否能够检索行值(尝试重做我发现的代码,这也是为了过滤),但是它返回一个没有列的表。

下面是我从代码中得到的表:

代码语言:javascript
运行
AI代码解释
复制
Entity_Name        30/09/2018    ...    Test1        Test2   
Bank of Dad        4             ...    30/09/2018   [Table]
Bank of Grandpa    4             ...    30/09/2018   [Table]
Bank of Mum        5             ...    30/09/2018   [Table]

如果单击“Table”值,就会得到以下类型的响应:

Expression.Error:我们不能将值4转换为逻辑类型。

任何帮助都是非常感激的--这么多的学习工具,那么少的大脑!

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 16:41:24

我花了3个小时搜索并写了一个很长的问题,不知怎么的,我奇迹般地找到了答案这里的线索。

以下是我如何创建(其中一个)派生列:

代码语言:javascript
运行
AI代码解释
复制
#"Quarterly movement" = Table.AddColumn(#"PrevTable", "Quarterly change", each (Record.Field(_, Table.ColumnNames(#"PrevTable"){4}) - Record.Field(_, Table.ColumnNames(#"PrevTable"){3})))

如果我只想创建一个列,它使用位置引用(问题的核心)来反映另一个值:

代码语言:javascript
运行
AI代码解释
复制
#"Test" = Table.AddColumn(PrevTable, "Test", each (Record.Field(_, Table.ColumnNames(#"PrevTable"){1})))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56177754

复制
相关文章
条形图以及分组条形图
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。
生信喵实验柴
2022/10/25
6520
条形图以及分组条形图
使用 matplotlib 绘制条形码
rect 设置坐标轴在窗口的位置和大小[left, bottom, width, height];
iam002
2021/08/26
1.3K0
使用 matplotlib 绘制条形码
如何更改ggplot2中堆积条形图中的堆积顺序
博客地址:https://www.jianshu.com/u/619b87e54936
用户1359560
2020/03/20
12.6K0
R语言 | 条形图绘制
本次内容介绍条形图的绘制,包括基本条形图、簇状条形图、频数条形图、堆积条形图、百分比条形图。
生信real
2022/03/29
2.4K0
R语言 | 条形图绘制
Python:matplotlib绘制条形图
条形图,也称柱状图,看起来像直方图,但完是两码事。条形图根据不同的x值,为每个x指定一个高度y,画一个一定宽度的条形;而直方图是对数据集进行区间划分,为每个区间画条形。
py3study
2020/01/16
1.5K0
Python:matplotlib绘制条形图
ggplot2分组条形图饼图箱线图
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。
生信喵实验柴
2022/10/25
8100
ggplot2分组条形图饼图箱线图
条码设计软件如何调整条形码与条码文字之间的距离
在条码设计软件中设计条形码的时候,我们可以发现条形码和条码文字之间的距离有些紧密,为了美观,我们可以调整一下条形码与条码文字的间距,具体操作如下:
用户5746110
2019/09/18
1.1K0
条形图组(辅助序列法)
今天跟大家分享的图表是条形图组(辅助序列法)! ▽▼▽ 这个图表曾在之前的条件格式条形组图中介绍过。不过使用的工具不同,之前那个使用条件格式做成的,今天教大家使用辅助序列来做! ●●●●● 有时候我们
数据小磨坊
2018/04/10
1.7K0
条形图组(辅助序列法)
LeetCode动画 | 1054.距离相等的条形码
今天分享一个LeetCode题,题号是1054,标题是距离相等的条形码,题目标签是堆和排序。
我脱下短袖
2020/02/25
5790
50种常见Matplotlib科研论文绘图合集!赶紧收藏~~
内容来源:和鲸社区 有效图表的重要特征: 在不歪曲事实的情况下传达正确和必要的信息。 设计简单,您不必太费力就能理解它。 从审美角度支持信息而不是掩盖信息。 信息没有超负荷。 01 关联 (Correlation) 关联图表用于可视化2个或更多变量之间的关系。也就是说,一个变量如何相对于另一个变化。 1、散点图(Scatter plot) 散点图是用于研究两个变量之间关系的经典的和基本的图表。如果数据中有多个组,则可能需要以不同颜色可视化每个组。在 matplotlib 中,您可以使用 plt.scatte
张俊红
2022/06/07
4.5K0
50种常见Matplotlib科研论文绘图合集!赶紧收藏~~
绘制极坐标系条形图
df<-read.csv("/home/shijm/Rlearning/Beautiful-Visualization-with-R-master/第3章_类别比较型图表/PloarRange_Data.csv",sep=",",na.strings="NA",stringsAsFactors=FALSE) > df$date<-as.Date(df$date) > > myAngle <-seq(-20,-340,length.out = 12) > > ggplot(df, aes(date,
爱学习的小明明
2020/09/20
1.2K0
条形图、带标签的条形图、有间隙的条形图。
import numpy as np import matplotlib.pyplot as plt labels = ['G1', 'G2', 'G3', 'G4', 'G5'] men_means = [20, 35, 30, 35, 27] women_means = [25, 32, 34, 20, 25] men_std = [2, 3, 4, 1, 2] women_std = [3, 5, 2, 3, 3] width = 0.35 # the width of the ba
裴来凡
2022/05/28
1.1K0
条形图、带标签的条形图、有间隙的条形图。
R-ggchicklet - 圆角条形图绘制
本期开始继续基础图表(柱形图/条形图(bar charts))的绘制推文教程,但在系列绘制之前,我们先介绍下个人较喜欢的一个绘图R包-ggchicklet包,用于绘制带圆角角度的柱形图(Rounded Segmented Column)。主要涉及的知识点如下:
DataCharm
2021/02/22
9930
R-ggchicklet - 圆角条形图绘制
原来使用 Pandas 绘制图表也这么惊艳
Pandas 是一种非常流行的数据分析工具,同时它还为数据可视化提供了很好的选择。
周萝卜
2022/09/28
4.8K0
LeetCode 1054. 距离相等的条形码(优先队列)
在一个仓库里,有一排条形码,其中第 i 个条形码为 barcodes[i]。 请你重新排列这些条形码,使其中两个相邻的条形码 不能 相等。 你可以返回任何满足该要求的答案,此题保证存在答案。
Michael阿明
2020/07/13
3340
Excel做分组条形图竟然这么容易!
Excel是一个很强大的作图工具,做好的图使用Excel插件导出高质量的图,完美收官!
百味科研芝士
2021/09/03
8.9K0
Excel做分组条形图竟然这么容易!
条件格式制作条形数据组图
今天跟大家分享用条件格式制作条形数据组图! ▽▼▽ 记得之前有一期跟大家分享过条件格式图表的制作方法,今天所要讲的案例,方法是一样的,只是通过多个条形图叠加及排版,形成看起来如同整体的数据报表! ●●
数据小磨坊
2018/04/10
1.2K0
条件格式制作条形数据组图
点击加载更多

相似问题

获得XPATH和CSS选择器用于使用Selenium的最佳方法

25

如何获取单个元素的CSS选择器/Xpath

225

Xpath或CSS选择器获取特定节点

28

CSS/Xpath选择器用于包含具有特定文本的元素的特定类的元素

26

获取特定元素的XPath

13
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档