尝试在Power BI中重新排列数据视图中的列

9

我能否在Power BI的“数据视图”中重新排列列?我尝试在Power Query中进行操作,但是当数据加载到表中时,列会自动重新排列。

4个回答

6

在评论后进行编辑。

  1. 在Power Query Editor中>禁用查询加载。 关闭并应用。
  2. 再次打开查询编辑器,启用查询加载。 刷新查询。 然后关闭并应用。

对误解的问题的回答。

这可能是M PowerQuery中有趣的解决方案。以下函数允许您通过仅说明整个列集合中的少数列来重新排序列。将其添加到空白查询中,并将其重命名为FnReorderColumnsSubset

(tbl as table, reorderedColumns as list, offset as number) as table =>
    Table.ReorderColumns
    (
        tbl,
        List.InsertRange
        (
            List.Difference
            (
                Table.ColumnNames(tbl),
                reorderedColumns
            ),
            offset,
            reorderedColumns
        )
    )

使用方法如下:

= FnReorderColumnsSubset( Source, { "Region", "RegionManager", "HeadCount" }, 0 )

在这里找到了它: https://datachant.com/2017/01/18/power-bi-pitfall-4/

本文介绍的是Power BI的陷阱之一。

这个问题涉及到表格数据视图,而不是 M 语言。所以你没有回答正确的问题。 - Jacko
1
根据您的说明编辑了答案。 - Przemyslaw Remin
注意!这个解决方案可以工作,但会完全破坏此表的所有手动层次结构(隐式但非常不愉快)。 - Denis

3
这是一种非常愚蠢的方法,但它确实起作用 - 我是偶然发现的:
  1. 在查询视图中编辑时,删除该列,然后保存更改。你会发现在数据视图中,该列也被删除了。
  2. 现在再次在查询视图中删除已应用步骤中删除该列的操作。再次保存。
  3. 您将看到先前删除的列已添加到表的末尾。
  4. 这样,您可以排列您的列以使其在数据视图中呈现出您想要的方式。
希望对您有所帮助。

1
唯一的问题是,这对于在表视图上创建的表格不起作用。 - Jacko
另一个不好的隐含问题是,如果包括了被删除的(步骤2)字段,它将损坏您的层次结构。 - Denis

1
我不知道您是否可以重新排列现有的表格,但如果您将其重新创建为新表格,则可以选择所需的顺序。
NewTable =
SELECTCOLUMNS (
    OldTable,
    "Column1", OldTable[Column1],
    "Column2", OldTable[Column2],
    "Column3", OldTable[Column3]
)

0

我认为大多数人都误解了这个问题,除了@Jacko。据我所知,现在可以重新排列Power Query中的列并加载到模型中,表格将按照您在PQ中指定的列顺序加载。问题出现在PBi建模层的数据视图中。在这里,您可以添加许多计算列,但是,您添加的任何新列始终放置在最右侧且无法移动。是的,我知道SELECTCOLUMNS,但它不是解决方案,因为新表格没有可编辑的公式。一种解决方案是某种拖放功能。尽管几年前在MS论坛中标记了该问题,但PBi用户仍在等待它。TIKO除了无力的SELECTCOLUMNS解决方案外,没有任何进展。


2
顺便提一下,在Excel PowerPIVOT数据模型中,它本质上与Power BI建模层相同(我们在这里谈论的是桌面版),您可以将计算列移动到任何需要它们的位置。为什么Power BI不能呢?那我为什么不在Excel中工作呢?嗯,因为在其他方面Power BI大多数情况下更好,而且在网络环境中肯定更有效(除了您无法直接从sharepoint打开pbix文件,至少在我的环境中是这样的)...... - androo235

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接