列名是会变的日期,数据更新就出错,怎么办?
在用Power Query处理数据表的过程中,经常碰到一个问题——标题行是变化的,比如下面这个例子,日期随着数据的变化而更新:
这时,因为使用了提升标题行的操作,结果在源数据变化后就出错了:
一般来说,这种数据我们后面都要通过逆透视的方式,把变化的日期转为一列,这样既是将数据转换成规范明细表的做法,也能使数据随日期变化而按行更新。
但是,往往在做这些操作之前,就会因为操作“将第一行用作标题”而自动生成一个“更改的类型”的步骤,对每一列的数据类型进行了调整!
一旦接入的数据列存在变化,就会因为找不到原来在“更改的类型”步骤里使用的列而出现错误。
知道了原因,解决这个问题本身就很简单:删除自动生成的“更改的类型”步骤即可。但是,如果每次导入数据,都需要进行删除,岂不是很麻烦。所以,一般建议,可以直接把Power Query(BI)中自动更改类型的功能关掉,具体步骤如下:
Step-01 在Power Query编辑器里,依次点击“文件/选项和设置/查询选项”,进入查询选项配置对话框:
Step-02 在查询选项对话框中,对“全局/数据加载”中的 “类型检测”设置为“根据每个文件的设置检测”或“从不检测”未结构化源的列类型和标题:
Step-03 若选择“根据每个文件的设置检测”,可继续在“当前工作簿”的“数据加载”中,取消勾选“检测未结构化源的列类型和标题”:
经过设置之后,就不会在PQ的操作时自动产生“更改的类型”这样的步骤了。
当然,在实际工作中,要根据自己的实际情况进行设置,如果自动产生“更改的类型”更适合你,那就保留原默认设置;而如果取消了该设置,则应该在PQ操作过程中需要调整数据类型的时候,进行手工更改,确保数据类型的准确性。
关于使用Excel和Power BI涉及的几个推荐修改的配置项,请参考文章:《开始用Power BI?别急!这几个选项配置值得注意!| PBI实战》。
相关文章
- Lua日期和时间
- mysql按照日期字段分组统计表数据
- Linux快速修改日期及时间的方法(linux修改日期)
- 利用Oracle日期型比较来进行数据探索(oracle日期型比较)
- 去天数Oracle日期减去N天数的实现方法(oracle日期减)
- Oracle 中日期数据的正确排序(oracle日期排序)
- 利用Oracle获取日期与时间信息(oracle日期时间)
- MySQL中如何插入日期数据(mysql日期插入)
- Oracle技巧:轻松提取日期,让数据更精准(oracle提取日期)
- 用MySQL查询日期大于指定日期的数据(mysql大于日期)
- Oracle中妙用日期转换简化数据查询(oracle日期转换)
- Oracle中查询日期数据的利器(oracle查询日期数据)
- 如何在MySQL中查询日期段数据?(mysql日期段)
- Oracle技巧:数字转日期,轻松处理时间数据(oracle数字转日期)
- SQL Server数据类型——日期数据(sqlserver日期型)
- 如何在MySQL中去掉日期的时分秒(mysql去除日期时分秒)
- MSSQL查询指定日期的数据(mssql查询指定日期)
- Oracle中使用日期格式的正确写法(oracle写入日期格式)
- MySQL数据库如何查询两个日期之间的数据(mysql两耳日期)
- 解析MySQL数据日期数字背后的时间信息(mysql一串数字日期)
- Oracle数据库如何正确保存日期类型数据(oracle保存日期类型)
- MySQL数据 如何获取上周日期(mysql 上周日期)
- 一个写得较好的JavaScript日期挑选控件
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
- JavaScript自定义日期格式化函数详细解析