记录排除措施在 Matrix Visual 中不起作用
Record Exclusion Measure Not Working in Matrix Visual
我正在研究一项措施,该措施基本上只是对与某些在预定义范围内的序列 ID 相关联的付费值求和,但是当我在矩阵中使用该措施时,我在尝试解决问题时遇到了问题视觉的。
措施概述如下:
Filtered Paid :=
VAR Selection =
SELECTEDVALUE ( 'Selection'[ID], 1 )
VAR ThreeSigma =
3 * STDEV.P ( Data[PAID] )
VAR SeqMean =
AVERAGE ( Data[PAID] )
VAR ExcludedSeqs =
CALCULATETABLE (
VALUES ( Data[SequenceId] ),
KEEPFILTERS (
FILTER (
ALL ( Data[PAID] ),
Data[PAID] < SeqMean + ThreeSigma
&& Data[PAID] > SeqMean - ThreeSigma
)
)
)
RETURN
SWITCH (
Selection,
3, CALCULATE ( SUM ( Data[PAID] ), ExcludedSeqs ),
CALCULATE ( SUM ( Data[PAID] ) )
)
当我在卡片或地图中使用它时,该度量工作得很好,但当我尝试在矩阵视觉中使用它作为 'Values' 字段,Data[SequenceId]
作为 'Rows' 字段度量永远不会呈现它只是永远旋转的任何值。我已经尝试使用此措施的几种不同变体,但似乎都给我同样的问题。我也尝试过视觉级别过滤器来排除这些记录,但我似乎无法将其删除。
如有任何帮助,我们将不胜感激!
谢谢!!
我最终找到了使用视觉级别过滤器的解决方案:
Visual Level Filter :=
VAR Selection =
SELECTEDVALUE ( 'Selection'[ID], 1 )
VAR ThreeSigma =
CALCULATE ( 3 * STDEV.P ( Data[PAID] ), ALL ( Data[SequenceId] ) )
VAR SeqMean =
CALCULATE ( AVERAGE ( Data[PAID] ), ALL ( Data[SequenceId] ) )
VAR Total =
SUM ( Data[PAID] )
RETURN
SWITCH (
Selection,
3, IF ( AND ( Total < SeqMean + ThreeSigma, Total > SeqMean - ThreeSigma ), 1, 0 ),
1
)
基本上我只是将它设置为等于 1 作为视觉级别过滤器,并在矩阵上使用 calculate(sum(data[paid]))
。它有效,但如果有人有更优雅的解决方案,可能性能更好,我会洗耳恭听。
我正在研究一项措施,该措施基本上只是对与某些在预定义范围内的序列 ID 相关联的付费值求和,但是当我在矩阵中使用该措施时,我在尝试解决问题时遇到了问题视觉的。
措施概述如下:
Filtered Paid :=
VAR Selection =
SELECTEDVALUE ( 'Selection'[ID], 1 )
VAR ThreeSigma =
3 * STDEV.P ( Data[PAID] )
VAR SeqMean =
AVERAGE ( Data[PAID] )
VAR ExcludedSeqs =
CALCULATETABLE (
VALUES ( Data[SequenceId] ),
KEEPFILTERS (
FILTER (
ALL ( Data[PAID] ),
Data[PAID] < SeqMean + ThreeSigma
&& Data[PAID] > SeqMean - ThreeSigma
)
)
)
RETURN
SWITCH (
Selection,
3, CALCULATE ( SUM ( Data[PAID] ), ExcludedSeqs ),
CALCULATE ( SUM ( Data[PAID] ) )
)
当我在卡片或地图中使用它时,该度量工作得很好,但当我尝试在矩阵视觉中使用它作为 'Values' 字段,Data[SequenceId]
作为 'Rows' 字段度量永远不会呈现它只是永远旋转的任何值。我已经尝试使用此措施的几种不同变体,但似乎都给我同样的问题。我也尝试过视觉级别过滤器来排除这些记录,但我似乎无法将其删除。
如有任何帮助,我们将不胜感激!
谢谢!!
我最终找到了使用视觉级别过滤器的解决方案:
Visual Level Filter :=
VAR Selection =
SELECTEDVALUE ( 'Selection'[ID], 1 )
VAR ThreeSigma =
CALCULATE ( 3 * STDEV.P ( Data[PAID] ), ALL ( Data[SequenceId] ) )
VAR SeqMean =
CALCULATE ( AVERAGE ( Data[PAID] ), ALL ( Data[SequenceId] ) )
VAR Total =
SUM ( Data[PAID] )
RETURN
SWITCH (
Selection,
3, IF ( AND ( Total < SeqMean + ThreeSigma, Total > SeqMean - ThreeSigma ), 1, 0 ),
1
)
基本上我只是将它设置为等于 1 作为视觉级别过滤器,并在矩阵上使用 calculate(sum(data[paid]))
。它有效,但如果有人有更优雅的解决方案,可能性能更好,我会洗耳恭听。