动力双 |从 YYYY Q 格式的日期类型列创建计算列。例如,2018年第三季度

Power BI | Creating calculated column from date type column in YYYY Q format. E.g., 2018 Q3

我们有一个日期列,我想在 Power BI 中以 YYYY Q(季度编号)格式创建一个新列。

例如,如果日期是 2017 年 11 月 21 日,那么新列应该存储 2017 年第 4 季度。 稍后我们想将新计算的列用作我们报告的切片器。

实现此目标的最佳方法是什么?
例如,请在下面找到示例数据。
11/21/2018 将是新栏中的 2018 Q4
10/12/2017 将是 2017 Q4 在新栏中
02/11/2016 将是新列中的 2016 Q1
2018 年 7 月 10 日将是新列中的 2018 年第 3 季度

我不认为 Bower BI 带有预设的 Quarter 切片器。我的组织实现这一目标的方法是创建三个月增量的汇总。基本上构建我们自己的 quarter 变量并使用它。

我们的计算字段等同于类似于

CALCULATE(SUM('TableName'[TargetColumn]),
 FILTER(
    ALL( 'TableName'[YearMonthNumber] ),
         'TableName'[YearMonthNumber] 
          = EARLIER ( 'TableName'[YearMonthNumber] ) – 3)

它将对前三个月的指定列的值求和。使用一些 IF-ELSE 语句,您可以针对其他时间段而不是最近三个月的时间跨度修改它。可以参考this Dax Pattern article for more information

坦率地说,如果您有权访问数据,则创建一行可能更容易,该行是您想要的时间段内其他列的总和,而不是在您的数据服务器中,而不是在 Power BI 中。此外,通过在您的服务器中对其进行格式化,您可以将其传递给 Power BI 以外的其他服务。

您应该可以使用 FORMAT 执行此操作,其中 TableName[ColumnName] 是您的日期所在的 table 列:

= FORMAT(TableName[ColumnName], "yyyy \Qq")

这里的 \ 是一个转义字符,所以它知道按字面解释 Qyyyy 是年份,q 是季度数。