在 powerBI 中使用 where 条件获取 2 个值之间的数据

Get data in between 2 values with where condition in powerBI

我是 PowerBI 的新手,我需要像您这样的专家的帮助..

我正在连接 MySQL 数据库并获取数据。

我附上了从 table visual.

导出的 csv here 示例数据

我的每个引文都有 0.1 到 2.0 的版本(即 0.1、0.2、0.3 ..... 0.9、1.0、1.1、.... 2.0)。即每个引用可以有多个版本,从 0.1 到 2.1

我想要的table应该是,

  1. 我只想显示版本(0.1 到 <=1.0)中版本为 1.0 的引用 我想显示每个报价的最低版本和最高版本(1.0)以及最低版本日期和版本 1.0 日期之间的天数
  2. 我只想显示那些在版本(1.1 到 <=2.0)版本中有 2.0 版本的引用 我想显示每个报价的最低版本和最高版本 (2.0) 以及最低版本日期和版本 2.0 日期之间的天数

示例输出:

  1. 我想显示版本为 1.0 的报价(0.1 到 <=1.0)version.I 想显示每个报价的最小版本和最大版本 (1.0) 以及最小版本日期和之间的天数版本 1.0 日期
 Quation#  |  min version | max version|  duration 
 quote1       0.1              1.0           10 days
  quote3       0.3              1.0          3 days
  1. 我想显示版本(1.1 到 <=2.0)中版本为 2.0 的引用。我想显示每个报价的最低版本和最高版本(2.0)以及最低版本日期和版本 2.0 日期之间的天数
Quation#  |  min version | max version|  duration  
quote2       1.1              2.0          4 days 
quote3       1.3              2.0          8 days

如果您得到输出,请分享 pbix 文件。

请帮我实现这个。提前致谢

您只需要在查询中添加第三个比较,以检查当前 Quote# 是否有版本为 1.0 的行。考虑到这一点,我会将您当前的查询编辑为以下内容。

Bucket = 'prod_check dw_proposal'[version] >= 0.1 &&
    'prod_check dw_proposal'[version] < 1.1 &&
    CALCULATE(COUNTROWS('prod_check dw_proposal'), 
        FILTER('prod_check dw_proposal', 
            'prod_check dw_proposal'[Quote#] = EARLIER('prod_check dw_proposal'[Quote#]) && 
            'prod_check dw_proposal'[version] = 1.0
        )
    ) = 1

如果公式的任何部分令人困惑,请告诉我。

按照以下步骤操作:

根据版本建群:

这也可以使用 DAX 来制作,但像这样更容易(如果你想要,我可以将 DAX 公式发给你)。

创建以下措施:

Duration = 
DATEDIFF (
CALCULATE (
    MIN ( 'sample'[businessDate] ),
    ALLSELECTED ( 'sample'[businessDate] )
),
CALCULATE (
    MAX ( 'sample'[businessDate] ),
    ALLSELECTED ( 'sample'[businessDate] )
),
DAY)

在 table 视觉对象中添加以下字段: QuoteNo - 不要总结 版本 - 第一个版本(重命名为最小版本) 版本 - 最新版本(重命名为最大版本) 期间 versions(group) - 减少列的大小直到被隐藏 最终版本:

将此度量添加到您的 table 并将其添加到 table 结果的过滤器中,如下所示:

Validation =
IF (
    MAX ( 'sample'[version] ) = INT ( MAX ( 'sample'[version] ) )
       = TRUE (),
    1,
    0
 )