繁体   English   中英

Power BI / DAX 中的多个时间段比较

[英]Multiple time periods comparison in Power BI / DAX

我有一个关于 Power BI 和 DAX 中的多年比较报告的问题。 下表中的前五列显示示例数据,第六列显示两个要求,最后一列显示第一列中的计划_ID 是否满足要求。 我希望计算满足特定季节(例如 2018 年春季)这两个要求的 plan_ID 的数量。

在此处输入图片说明

从上一列可以看出,2018 年春季有 3 个“是”,而 2019 年春季有 6 个。因此,对于 2019 年春季,“今年计划数”为 6,而“去年计划数”为 6为 3,如下表所示。 桌子是我想要的。

在此处输入图片说明

我的问题是如何计算满足特定季节/季节编号(例如Spring 2019/190)这两个要求的计划。

我已经在这种情况下挣扎了很长时间。 任何想法或建议将不胜感激。

如果我的理解(如评论)是正确的,只需在Power Query 编辑器中将自定义列添加到您的表中,如下所示 -

第 2 行中更改的类型基本上是Previous Step Name 相应地进行调整。

= Table.AddColumn(
    #"Changed Type", 
    "counter or not", 
    each 
    let 
        current_year = Date.Year(DateTime.LocalNow()),
        year_difference = current_year - [year] + 1,
        current_date = DateTime.Date(DateTime.LocalNow()),
        date_to_check_with = Date.AddYears(current_date,-(year_difference)),
        meet_req = if [plan_date] <= date_to_check_with then "Yes" else "No"
    in meet_req
)

这是最终的输出——

在此处输入图片说明

现在您的列具有是/否值。 要每年计算 Yes,请返回报告并在下面创建此Measure -

yearly_yes_count = 
CALCULATE(
    COUNT(your_table_name[counted or not]),
    FILTER(
        ALLEXCEPT(your_table_name,your_table_name[year]),
        your_table_name[counted or not] = "Yes"
    )
)

这是去年的计数-

last_year_yes_count = 

VAR current_row_year = MIN(your_table_name[year])

RETURN
CALCULATE(
    COUNT(your_table_name[counted or not]),
    FILTER(
        ALL(your_table_name),
        your_table_name[counted or not] = "Yes"
        && your_table_name[Year] = current_row_year - 1
    )
)

现在将Year和新度量yearly_yes_count添加到表视觉中,输出将如下所示 -

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM