使用 PowerBI 中的单选按钮进行行基计算
Row base calculation wrt the radio buttons in PowerBI
我是 Tableau 用户,最近开始使用 PowerBI。但是,我在做一些内部计算的方法上遇到了一些麻烦。
假设我有一个包含 5 列的玩具数据,如下所示,
Data
Type1
Type2
Currency1
Currency2
5
2
3
1.1
0.7
10
9
-5
1.3
0.74
8
12
22
1.6
0.8
我想要实现的是通过使用一些单选按钮(在 Tableu 中称为参数字段)创建一个新列(在 Tableau 中称为计算字段),如下所示,
单选按钮 1 : 包括 Type1 和 Type2
单选按钮 2: 包括 Currency1 和 Currency2
我的新计算必须根据这些计算的选择来完成。
说,如果选择 Type2
和 Currency1
,我想将数据列与所选数据列的乘积作为新列,例如
Data
Type1
Type2
Currency1
Currency2
NewColumn
5
2
3
1.1
0.7
16.5
10
9
-5
1.3
0.74
-65
8
12
22
1.6
0.8
281.6
当然应该是动态选择的组合。
我尝试了什么?
我在 this link 的指导下创建了按钮并实现了单曲。
Currency =
SWITCH(
SELECTEDVALUE(Table1[Id])
,1,Data[Currency1]
,2,Data[Currency2]
)
Type=
SWITCH(
SELECTEDVALUE(Table2[Id])
,1,Data[Type1]
,2,Data[Type2]
但是当然没有用。因为它在计算中需要 SUM
等。
我的最终目标是在我的图形、表格等中使用动态创建的新列
我也想过宽长格式转换,但我不太确定!
感谢任何帮助!
您不能使用计算列来实现此目的,因为列中显示的数据是静态的。
您需要创建一个度量,所以为了做到这一点:
我首先像您一样创建了 2 个 tables,它只包含 id 列,我曾经创建过 2 个切片器。
然后我使用了以下措施:
Measure =
VAR __selectedType = SELECTEDVALUE( Table1[ID] )
VAR __selectedCurrency = SELECTEDVALUE( Table2[ID] )
VAR __type =
SWITCH(
__selectedType,
1, SUM( 'Table'[Type1] ),
2, SUM( 'Table'[Type2] ),
0
)
VAR __currency =
SWITCH(
__selectedCurrency,
1, SUM( 'Table'[Currency1] ),
2, SUM( 'Table'[Currency2] ),
0
)
Return __type * __currency * SUM( 'Table'[Data] )
然后将度量拖动到 table 视觉对象中。这是预期的结果。
我是 Tableau 用户,最近开始使用 PowerBI。但是,我在做一些内部计算的方法上遇到了一些麻烦。
假设我有一个包含 5 列的玩具数据,如下所示,
Data | Type1 | Type2 | Currency1 | Currency2 |
---|---|---|---|---|
5 | 2 | 3 | 1.1 | 0.7 |
10 | 9 | -5 | 1.3 | 0.74 |
8 | 12 | 22 | 1.6 | 0.8 |
我想要实现的是通过使用一些单选按钮(在 Tableu 中称为参数字段)创建一个新列(在 Tableau 中称为计算字段),如下所示,
单选按钮 1 : 包括 Type1 和 Type2
单选按钮 2: 包括 Currency1 和 Currency2
我的新计算必须根据这些计算的选择来完成。
说,如果选择 Type2
和 Currency1
,我想将数据列与所选数据列的乘积作为新列,例如
Data | Type1 | Type2 | Currency1 | Currency2 | NewColumn |
---|---|---|---|---|---|
5 | 2 | 3 | 1.1 | 0.7 | 16.5 |
10 | 9 | -5 | 1.3 | 0.74 | -65 |
8 | 12 | 22 | 1.6 | 0.8 | 281.6 |
当然应该是动态选择的组合。
我尝试了什么?
我在 this link 的指导下创建了按钮并实现了单曲。
Currency =
SWITCH(
SELECTEDVALUE(Table1[Id])
,1,Data[Currency1]
,2,Data[Currency2]
)
Type=
SWITCH(
SELECTEDVALUE(Table2[Id])
,1,Data[Type1]
,2,Data[Type2]
但是当然没有用。因为它在计算中需要 SUM
等。
我的最终目标是在我的图形、表格等中使用动态创建的新列
我也想过宽长格式转换,但我不太确定!
感谢任何帮助!
您不能使用计算列来实现此目的,因为列中显示的数据是静态的。
您需要创建一个度量,所以为了做到这一点:
我首先像您一样创建了 2 个 tables,它只包含 id 列,我曾经创建过 2 个切片器。 然后我使用了以下措施:
Measure =
VAR __selectedType = SELECTEDVALUE( Table1[ID] )
VAR __selectedCurrency = SELECTEDVALUE( Table2[ID] )
VAR __type =
SWITCH(
__selectedType,
1, SUM( 'Table'[Type1] ),
2, SUM( 'Table'[Type2] ),
0
)
VAR __currency =
SWITCH(
__selectedCurrency,
1, SUM( 'Table'[Currency1] ),
2, SUM( 'Table'[Currency2] ),
0
)
Return __type * __currency * SUM( 'Table'[Data] )
然后将度量拖动到 table 视觉对象中。这是预期的结果。