繁体   English   中英

power BI 显示一个值

[英]power BI diaplay one value

我正在使用 Power BI 将来自多个系统的数据整合在一起,并显示一个包含来自所有系统的数据的仪表板。

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

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

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

或者

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

没有直接的方法来查看视觉中的行数、计算它们,如果行数超过 1,则做一些不同的事情。

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

过滤器

如果表中有一个特定列,则在选中时将结果过滤到单行,然后可以检查该列是否有哈索塞特的过滤器。 (如果您有多个替代列,其中任何一个都过滤到一行,那也没关系。)

然后,您可以为测试 HASONEFILTER 的每一列创建一个度量。 如果为 true,则返回列的 MAX。 (MAX 的原因是因为度量总是要聚合,但 1 行列的 MAX 将与该​​列中的值相同。)如果为 false,则返回 BLANK() 或空字符串,具体取决于您的偏爱。

例如

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

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

拥有价值

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

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 文档: https: //msdn.microsoft.com/en-us/library/gg492135.aspx HASONEVALUE 文档: https ://msdn.microsoft.com/en-us/library/gg492190.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM