加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,还可以提问交流。
一维表的每个字段都是事物的属性,而不是属性的值,多个字段不能合并为一个字段,比如年月、客户;二维表的字段包含了展开的属性的值,至少有部分字段可以合并为一个字段,比如2024年1月、2024年2月这样的字段是年月属性的值,可以合并为一个字段年月。
一维表每一行都是描述一个事物的一次性产生的完整属性信息,便于存储数据和后期计算、汇总;二维表直观易读,便于展示数据,不利于后期计算、汇总。一维表通过透视可以生成二维表;二维表通过逆透视可以还原成一维表。
PowerBI中获取数据后生成的表,一般使用一维表,方便建立表与表之间的关系、书写度量值、生成透视表或图表。因此,很多时候需要在PowerQuery中将二维的甚至更多维的数据源表转换为一维表。
举例1
二维表转一维表,年月横向展开的。
转换为一维表,如下:
操作步骤
STEP 1 PowerQuery获取数据后,按住Ctrl键选中年月以外的其他列,点击菜单栏转换下的逆透视列-逆透视其他列。
STEP 2未选中的列变成了两列,一列属性,一列值,双击列标题改名后保存。
举例2
多维表转一维表,多层表头+多列维度。
操作步骤
STEP 1 PowerQuery获取数据后,点击菜单栏添加列下的自定义列,把值以外的所有维度列合并成一列,列和列之间放上与内容不会产生重复的分隔符,比如“**”。
STEP 2 保留合并的这一列,删除合并前的所有维度列,然后把合并的这一列拖动到第一列。
STEP 3 点击菜单栏转换下的转置,切换行和列的位置。
STEP 4 转置后,点击表的左上角,将第一行作为列标题。
STEP 5 按住Ctrl键选中维度列,然后点击菜单栏转换下的逆透视其他列。
STEP 6 选中有null值的列,点击菜单栏转换下的填充-向下。
STEP 7 选中合并的那一列,点击菜单栏转换下的拆分列-按分隔符,选择自定义,输入前面使用的分隔符“**”。
STEP 8 修改字段的名称和数据类型,就得到一维表了。