将PowerBI DAX过滤器与SELECTCOLUMN结合使用

10
我想基于这个表格创建一个新的表格: This is my initial table 在此基础上,过滤Warehouse=2并“删除”列“Price”和“Cost”,如下所示: This is what I want to have 我已经使用以下代码成功地应用了第一步的过滤器: FILTER(oldtable;oldtable[Warehouse]=2) 然后,在下一步中,可以使用以下代码创建另一个仅选择所需列的表格: newtable2=SELECTCOLUMNS("newtable1";"Articlename";...) 但我希望能够结合这两个函数并直接创建表格。

嗨...我们中有些人不会点击神秘的链接。您可以直接将图片添加到您的问题中。 - Mike Smith - MCT
抱歉,我是新手,只有声望大于10才能发布图片。 - Lorenz Joe
@MikeSmith-MCT-MVP - 我已经更改了 :) - Lorenz Joe
2个回答

12
这非常简单,因为在第一步中,将返回一个表格,您可以直接在第二个语句中使用它。
newTabel = SELECTCOLUMNS(FILTER(warehouse;warehouse[Warehouse]=2);"ArticleName";warehouse[Articlename];"AmountSold";warehouse[AmountSold];"WareHouse";warehouse[Warehouse])

如果您想保持概述,也可以使用变量和返回:

    newTabel = 
        var filteredTable = FILTER(warehouse;warehouse[Warehouse]=2)
        return SELECTCOLUMNS(filteredTable;"ArticleName";warehouse[Articlename];"AmountSold";warehouse[AmountSold];"WareHouse";warehouse[Warehouse])

再次你好,Aldert!两种解决方案都非常好-谢谢你。然而,当我应用你的解决方案时,列会按照不同的顺序排列,如Warehouse->ArticleName->Amount sold。但实际上我想要的顺序是像语句中的那样,即ArticleName->AmoundSold->Warehouse。你知道怎么解决吗? - Lorenz Joe
@LorenzJoe,PowerBI 中您的表格顺序并不重要。原因是您可以通过控制可视化效果来控制顺序。我也有点好奇为什么您只需要这个表格用于仓库2,因为您可以使用可视化工具仅过滤仓库2。 - Aldert
哦,好的,明白了。实际上我需要过滤amountSold,因为数据中存在一些错误需要在进一步的数据建模之前进行清理(这是你对我之前关于库存问题的回答)。但是相同的逻辑仍然适用。再次感谢。 - Lorenz Joe
@LorenzJoe,如果您的数据存在错误,则应在mquery中进行处理。这可以确保对于所有可视化效果,您都在使用干净的数据。 - Aldert

0
不必使用selectcolumns,你可以使用addcolumns,这是一步完成的操作。

你的回答可以通过提供更多支持性的信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好的回答的更多信息。 - undefined

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