清理数据计算字段Power Pivot Excel DAX

时间:2017-12-16 22:20:42

标签: excel powerpivot dax

我有一些状态数据看起来像这样从单元格F8

开始
WI_,
AL_,
MN_,
Minnesota_MN,
UT_,

我希望它看起来像这样

WI,
AL,
MN,
MN,
UT,

我可以用正常的excel公式清理它没问题。

=IF(LEN(F8)>3,RIGHT(F8,2),LEFT(F8,LEN(F8)-1))

我正在尝试将此实现到我的Power Pivot中的计算字段中。 我尝试使用以下但是出错了。

=IF(LEN(Customers[Customer_State])>3,RIGHT(Customers[Customer_State],2),LEFT(Customers[Customer_State],LEN(Customers[Customer_State])-1))

我收到以下错误:

度量计算错误'客户'[清除状态]:无法在当前上下文中确定表'客户'中列'Customer_State'的值。检查计算表达式中引用的所有列是否存在,并且没有循环依赖项。当度量的公式直接引用列而不对该列执行任何聚合(例如求和,平均值或计数)时,也会发生这种情况。该列没有单个值;它有许多值,表格的每一行一个,并且没有指定任何行。

有关如何在Power Pivot计算范围内使用此功能的任何建议?还是我想做一些不可能的事情?

感谢。

1 个答案:

答案 0 :(得分:0)

这是我最终使用的dax代码:= IF(LEN([Customer_State])> 3,RIGHT([Customer_State],2),LEFT([Customer_State],LEN([Customer_State]) - 1 ))

我没有意识到有几种方法可以创建计算字段。我使用的方法使它有点令人困惑。我找到了这个教程,它使它更容易一些。 https://www.sqlbi.com/articles/calculated-columns-and-measures-in-dax/

我知道这有点令人困惑,感谢那些伸出援手的人。