在 Power BI/Power Query 中添加缺失的日期行并获取上面行的值

Mat*_* C. 5 m powerquery powerbi

假设我正在将以下内容导入 PowerBI:

          Date        |     Quantity       
|---------------------|------------------|
|       1/1/2018      |        22        |
|       1/3/2018      |        30        |
|       1/4/2018      |        10        |
|---------------------|------------------|
Run Code Online (Sandbox Code Playgroud)

其中外部源表是一系列日期、值行,其中缺少一些日期值。我想执行一些 DAX/M 将任何缺失的日期行添加到数据集中,其中“数量”值取自之前的第一个日期。所以我得到的数据集会像这样:

          Date        |     Quantity       
|---------------------|------------------|
|       1/1/2018      |        22        |
|       1/2/2018      |        22        |
|       1/3/2018      |        30        |
|       1/4/2018      |        10        |
|---------------------|------------------|
Run Code Online (Sandbox Code Playgroud)

这可以在 PowerBI 中完成吗?

非常感谢帮助!

Ale*_*son 5

您可以在 DAX 中通过创建一个包含范围内所有日期的新表来执行此操作,如下所示:

FullTable = 
ADDCOLUMNS(
    CALENDAR(MIN(Table1[Date]), MAX(Table1[Date])),
    "Quantity",
    LOOKUPVALUE(
        Table1[Quantity],
        Table1[Date],
        MAXX(
            FILTER(Table1, Table1[Date] <= EARLIER([Date])),
            [Date]
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

CALENDAR函数为您提供原始表中从最小日期到最大日期的日期范围。从那里,我们添加一个新列 ,并将其定义为在原始表中查找当前行中的日期或之前出现的最大日期Quantity时获得的值。Quantity