在 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应该是,
- 我只想显示版本(0.1 到 <=1.0)中版本为 1.0 的引用
我想显示每个报价的最低版本和最高版本(1.0)以及最低版本日期和版本 1.0 日期之间的天数
- 我只想显示那些在版本(1.1 到 <=2.0)版本中有 2.0 版本的引用
我想显示每个报价的最低版本和最高版本 (2.0) 以及最低版本日期和版本 2.0 日期之间的天数
示例输出:
- 我想显示版本为 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 到 <=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
)
我是 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应该是,
- 我只想显示版本(0.1 到 <=1.0)中版本为 1.0 的引用 我想显示每个报价的最低版本和最高版本(1.0)以及最低版本日期和版本 1.0 日期之间的天数
- 我只想显示那些在版本(1.1 到 <=2.0)版本中有 2.0 版本的引用 我想显示每个报价的最低版本和最高版本 (2.0) 以及最低版本日期和版本 2.0 日期之间的天数
示例输出:
- 我想显示版本为 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 到 <=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
如果公式的任何部分令人困惑,请告诉我。
按照以下步骤操作:
根据版本建群:
创建以下措施:
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
)