【问题标题】:Create a column with dynamic values based on selected value of slicer根据切片器的选定值创建具有动态值的列
【发布时间】:2021-12-06 03:22:00
【问题描述】:

Power BI 爱好者

我是 Power BI 的新手。 我对以下详细信息有疑问:

我有一个名为 dw_xyz 的表:

ID Shape Color Value
1 Circle Blue 10
2 Triangle Red 23
3 Rectangle Blue 20
4 Triangle Blue 12

然后我创建了一个包含两个值的切片器:“形状”和“颜色”(代表表 dw_xyz 的两个列标题)

我想根据切片器的选定值创建一个动态数据透视表。当所选值为“形状”时,数据透视表将按“形状”列汇总数据。否则,当所选值为“颜色”时,数据透视表将按“颜色”列汇总数据。所以我所做的是:

  • 使用两个值创建切片器(手动输入数据):“形状”和“颜色”
  • 在表 dw_xyz 中创建“新列”。这个新列名为“dynamicColumn”

*不确定,建议使用“新列”或“新度量”。也请指教

我输入的 DAX 如下:

dynamicColumn=SWITCH(SELECTEDVALUE(slicer_reference),"Shape",[Shape],"Color",[Color])

当我在切片器上进行选择时,dynamicColumn 的值保持不变(没有预期的变化)。

所以,我试图找到另一种方法。我通过 DAX 创建了一个额外的表(在 dw_xyz 之外),如下所示:

VAR X=Summarize by Shape
VAR Y=Summarize by Color
RETURN
UNION(X,Y)

我将新表指定为数据透视表源,而不是 dw_xyz。它按预期工作。然而, 我不确定,我尝试的是最佳实践。非常感谢您的任何建议。

【问题讨论】:

  • 我明白了,您是否打算根据切片器选择让 DAX 返回一个汇总表;例如当 slicer =color 时,返回 x 轴上的颜色和相应的汇总值;当 slicer=Shape 时,返回 y 轴上的 Shape 和相应的汇总值?
  • 如果您的意思是在同一轴上进行更改(如果您没有输入错误),那么是的,您理解我的意图。你有什么建议吗,@smpa01?

标签: powerbi measure dynamic-columns dynamic-values


【解决方案1】:

一种方法是创建一个包含 2 列的表格(切片器:“形状/颜色”,值:随便),然后将值用作表格/图表的类别,并使用一个度量来显示正确的总数,具体取决于哪个在切片器中选择了类型。

这个视频中有一个很好的例子:https://www.youtube.com/watch?v=fktQmk0a9OI

根据数据的大小/复杂性以及您想要实现的目标,我更喜欢使用切片器而不是切片器,只需使用按钮显示/隐藏具有我想要的类别的视觉效果。因此,在本例中,您将拥有一个 Shape 和一个 Color 按钮,单击其中一个按钮可使相应的视觉对象可见,而另一个则隐藏。

【讨论】:

  • 哇太酷了。你的建议和你分享的参考对我很有帮助。非常感谢。顺便说一句,我为迟到的回复道歉。再次感谢@Joao Leal
猜你喜欢
  • 2020-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多