具有多个组的Power BI相关性度量

时间:2019-05-28 19:00:06

标签: r powerbi dax measure

我有一个简单创建的数据:

String delayString = "Delay = " + Integer.toString(Delay);
Toast.makeText(WaitingActivity.this, delayString, Toast.LENGTH_LONG).show();

我想在Col1 Col2 Col3 Col4 2014/1/1 A Y 10 2014/4/1 A Y 15 2015/1/1 A Z 15 2015/4/1 A Z 30 2014/1/1 B Y 20 2014/4/1 B Y 30 2015/1/1 B Z 40 2015/4/1 B Z 80 中创建一个measure,以便创建交互式可视化。例如,以上数据是创建的,因此我们需要假设Power BIcol2具有多个因素。

我想要的col3measurerelativity中的值将Col4Col1下的第一个值相除。

我猜想是结果,但是我不需要在数据表中使用它,因为当我创建可视化并为其他未显示的列Col2Col5等添加过滤器时,这个例子:

Col6

因此我将其绘制并在该图旁边添加过滤器。当我在过滤器Col1 Col2 Col3 Col4 relativity_Col3ALL relativity_Col3EqualsYorZ 2014/1/1 A Y 10 1 1 2014/4/1 A Y 15 1.5 1.5 2015/1/1 A Z 15 1.5 1 2015/4/1 A Z 30 3 2 2014/1/1 B Y 20 1 1 2014/4/1 B Y 30 1.5 1.5 2015/1/1 B Z 40 2 1 2015/4/1 B Z 80 4 2 中选择Y时,图将自动更改。

我在Col3中提供了我认为的代码:

R

但是上面的代码不正确,因为它没有考虑dt <- data.table::as.data.table(dt) dt[, relativity := Col4 / Col4[1], by = .(Col1, Col2)] 。我只想提及Col3Col4 / Col4[1]

我在Power BI中尝试过测量:

Col4 / first(Col4)

我知道这是错误的。
有人可以帮忙吗?

更新
我尝试了@Alexis Olson的代码,并修改为:

relativity = CALCULATE(DIVIDE(dt[Col4], dt[AnotherMeasure]), MIN(dt[Col1]))

但是,当我在报表中可视化时,它们都显示relativity = VAR YR = MIN(dt[Col1].[Year]) VAR QT = MIN(dt[Col1].[Quarter]) VAR PF = CALCULATE(TOTALQTD(SUM(dt[Col4]), dt[Col1].[Date]), dt[Col1].[Year] = YR, dt[Col1].[Quarter] = QT) RETURN DIVIDE(SUM(dt[Col4]), PF)

我也尝试过:

1

均失败

1 个答案:

答案 0 :(得分:0)

使用this Q&A中的逻辑,您可以创建一个计算列,如下所示:

relativity =
VAR FirstCol1 = CALCULATE ( MIN ( dt[Col1] ), ALLEXCEPT ( dt, dt[Col2], dt[Col3] ) )
VAR FirstCol4 = CALCULATE ( VALUES ( dt[Col4] ), dt[Col1] = FirstCol1 )
RETURN
    DIVIDE ( dt[Col4], FirstCol4 )

Col2Col3是相同的值时,它将查找第一个日期,然后在该第一个日期找到Col4的值,最后将当前的Col4除以值乘以第一个Col4值。

ALLEXCEPT除去您指定的列之外的行上下文。如果您想要relativity_Col3_All,只需从ALLEXCEPT规范中删除该列。

相关问题