我无法按计算列对表格列进行排序

时间:2019-10-15 14:13:31

标签: powerbi dax

尝试通过同一表中的计算列对我的自定义日期表(csv文件)中的列进行排序,但看到错误。计算列未引用我希望排序的列。这是计算列的DAX:

PeriodOffset =
Dates[Period] + Dates[FiscalYear] * 13
    - CALCULATE ( VALUES ( Dates[Period] ), Dates[Date] = TODAY () )
    - CALCULATE ( VALUES ( Dates[FiscalYear] ), Dates[Date] = TODAY () ) * 13

我的日期表包含从2003/4到2034/35的每个日期,以及自定义期间编号,日历和会计年度等。我要排序的列称为PeriodFiscalYear。该列中的每个值在PeriodOffset列中只有一个条目,因此并非如此。

奇怪的是,我在以前的报告中已经做了这项工作。在这种情况下,我只是试图重新创建功能,但不会这么做。甚至更陌生的是,如果我将PeriodFiscalYear列创建为计算列(当前它在csv文件中进行了硬编码),那么它将起作用!所以我有一个解决方法,我只想了解发生了什么。

谢谢

2 个答案:

答案 0 :(得分:0)

我认为这与以下事实有关:在将数据提取到PBI中时data column被排序。 计算列仅在以后计算。

因此:

  • 您只能将data column与其他data columns进行排序(因为尚未计算出的列
  • 您可以将calculated column和{strong> data column
  • 一起对calculated column进行排序

解决方案:
A)PeriodFiscalYear成为calculated column
B)PeriodOffset成为data column(在您的CSV或超级查询中)

答案 1 :(得分:0)

我实际上想通了。问题出在我的数据模型上-我在那里有一个循环关系,因为我正在使用日历表在一个表中导出“周期”列,然后将它们链接回关系中!

我用两个键创建了一个链接表以建立关系,然后将其隐藏。

谢谢