【问题标题】:How to create column that would aggregate data for each quarter in Power BI Desktop如何在 Power BI Desktop 中创建将聚合每个季度的数据的列
【发布时间】:2019-01-10 07:23:43
【问题描述】:

问题是最终用户希望将数据从矩阵导出到 excel 并查看数据集中的所有列。

但是,如果我创建一个度量并将其放入视觉对象中,然后“导出数据”- 只带来 3 列。

RunningTotal_QtrLoss = 
    CALCULATE( 
    SUM(fact_Losses[PaymentAmount]),
    FILTER(ALL(fact_Losses[DevQtr]),fact_Losses[DevQtr]<=MAX(fact_Losses[DevQtr])))

所以我尽量避免在 Power BI 中使用measure,以便在导出到 excel 时能够查看所有列。

为此,我在 SQL 中计算了 RunningTotal。但是当我在矩阵中使用它时 - 它总结了价值。我不知道如何使不总结。

为了解决这个问题,我想尝试在 Power BI 中创建列(不是度量),希望它能让我提取所有列的原始数据。
--================================================== ===============

我怎样才能简单地创建一个自定义列(来自编辑查询)Sum_Qtr,它会为我提供季度和年度的sum(Premium)

【问题讨论】:

  • 它必须有零还是可以重复总和?

标签: powerbi dax powerquery m powerbi-desktop


【解决方案1】:

一种方法 .. 为所有实例输入一个总数,然后使用 if 根据相邻行将它们中的大多数替换为空值

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
TotalAmountAdded = Table.AddColumn(Source, "Total Amount",(i) => List.Sum(Table.SelectRows(Source, each ([Year] = i[Year] and [Quarter] = i[Quarter]))[Premium]), type number),
#"Added Index" = Table.AddIndexColumn(TotalAmountAdded, "Index", 0, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Sum_Qtr", each if [Index] = 0 then [Total Amount] else if Source{[Index]}[Quarter]=Source{[Index]-1}[Quarter] and Source{[Index]}[Year]=Source{[Index]-1}[Year] then null else [Total Amount]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Total Amount", "Index"})
in #"Removed Columns"

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多