Powerbi 功率比等于一个值

Powerbi 功率比等于一个值,powerbi,Powerbi,我正在使用Power BI收集来自多个系统的数据,并显示包含所有系统数据的仪表板 仪表板有两个过滤器,用于显示所有系统中与一个对象相关的数据 首次加载仪表板且未选择任何筛选器时,数据卡将显示表中所有行的信息 有没有办法使数据卡只显示一行数据 或 如果有多行数据,则为空?没有直接的方法来查看视觉系统中的行数,对它们进行计数,如果有多行数据,则执行不同的操作 也就是说,你可以做一些事情 HASONEFILTER 如果您的表中有一个特定列,选中该列后,会将结果筛选到一行,那么您可以使用HASONEFI

我正在使用Power BI收集来自多个系统的数据,并显示包含所有系统数据的仪表板

仪表板有两个过滤器,用于显示所有系统中与一个对象相关的数据

首次加载仪表板且未选择任何筛选器时,数据卡将显示表中所有行的信息

有没有办法使数据卡只显示一行数据


如果有多行数据,则为空?

没有直接的方法来查看视觉系统中的行数,对它们进行计数,如果有多行数据,则执行不同的操作

也就是说,你可以做一些事情

HASONEFILTER

如果您的表中有一个特定列,选中该列后,会将结果筛选到一行,那么您可以使用HASONEFILTER检查该列上是否有筛选器。(如果您有多个可选列,其中任何一个都可以过滤到一行,也可以。)

然后,您可以为测试HASONEFILTER的每个列创建一个度量值。如果为true,则返回列的最大值。(之所以使用MAX,是因为度量值始终必须聚合,但单行列的MAX值将与该列中的值相同。)如果为false,则根据您的首选项返回BLANK()或空字符串

例如

其中Sheet1是表的名称,“切片器列”是用作切片器的列的名称

HASONEVALUE

如果您有多个列可以组合用作筛选器(这意味着在“切片器列”上应用筛选器并不保证表中只有一行),那么您可以测试HASONEFILTER,而不是测试HASONEVALUE

ColumnAMeasure = IF(HASONEVALUE(Sheet1[COLUMN A]),MAX(Sheet1[COLUMN A]), "")
ColumnBMeasure = IF(HASONEVALUE(Sheet1[Column B]),MAX(Sheet1[COLUMN B]), "")
请注意,HASONEVALUE测试的是您试图显示的当前列,而不是像HASONEFILTER这样的切片器列

HASONEVALUE的一个副作用是,如果过滤到3行,但所有3行对列A都具有相同的值,则列A将显示该值。(而使用HASONEFILTER时,A列将保持空白,直到您被筛选到一项内容为止。)

低技术

以上两个答案都取决于要显示的每一列的现有度量值,因此您可以测试是否显示空行。如果你有几十个专栏,这可能会让你感到痛苦

另一种技术含量较低的方法是,在每一列中添加一行空白,然后对表格进行排序,使该行始终首先出现。(并缩短您的视觉效果,以便只有最上面的一行可见。)从技术上讲,其他行将位于下方,并有一个滚动条,但至少初始显示将为空白,而不是显示随机行


希望这里有什么帮助。其他人也可能有更好的解决方案。更多信息:

HASONEFILTER文档: HASONEVALUE文档:

ColumnAMeasure = IF(HASONEVALUE(Sheet1[COLUMN A]),MAX(Sheet1[COLUMN A]), "")
ColumnBMeasure = IF(HASONEVALUE(Sheet1[Column B]),MAX(Sheet1[COLUMN B]), "")