我需要您在PowerBI上的帮助。我想根据用户选择的切片器来计算一些东西。我读到我最初想做的事情是不可能的(我想根据用户选择的切片器添加计算列),但是也许您会找到另一种成功的方法。让我解释一下。
我有2张桌子,没有关联。
表1将用于添加3个切片器:切片器Category
,切片器Type
,切片器Rp
。
Category Type Rp
c1 A X
c1 B X
c2 C X
c2 D Y
表2将包含我的数据(我的日期格式为dd / mm / yyyy)。
ID TheoreticalDeadline RealDeadline Done Type _A Type _B Type _C Type _D
Abc 01/05/2018 02/05/2018 Y 5 0 0 3
Def 05/04/2018 05/04/2018 Y 0 0 2 0
Ghi 12/03/2018 18/03/2018 N 0 0 0 1
我已经采取了以下措施(效果很好):
Done_Where = if(Table2[Done]="Y"; 1; 0)
DoneGood_Where=if(Table2[Done]="Y";
if(Table2[RealDeadline]<=Table2[TheoreticalDeadline]; 1; 0))
Result1 = SUM(Table2[DoneGood_Where])/sum(Table2[Done_Where])
在我的示例中,Result1 = 1 /
2是因为:
Def
的{{1}}等于RealDeadline
TheoreticalDeadline
有Ghi
,因此未考虑在内我要创建一个Done = N
,具体取决于用户的选择。
Result2
问题是要计算Result2 = SUM(Table2[DoneGood_WhereSelected])/sum(Table2[Done_Where])
。我想要这样的东西:
DoneGood_WhereSelected
例如,如果用户单击切片器DoneGood_WhereSelected =
if(Table2[Done]="Y"; if(Table2[RealDeadline]<=Table2[TheoreticalDeadline] +
values from Table2 stored in the columns for which the user has clicked;1;0))
,则:
Resp=X
:Abc
(因为TheoreticalDeadline + 5
属于Type_A
)= 06/05/2018 X
:Def
(因为TheoreticalDeadline + 2
属于Type_C
)= 2018年7月4日然后X
因为:
Result2 = 2/2
和Abc
已存储Def
<RealDeadline
+个值在我的示例中,用户仅单击一个切片器的一个复选框,但实际上,我想授权他在不同的切片器上进行多个选择(示例:用户单击TheoreticalDeadline
和( Rp=X
或Type=A
)。在现实生活中,我有15个Type=B
,5个Types
和2个categories
,因此并未针对计算每种可能的组合进行优化加载数据时。
那么,我可以使用哪种公式?