使用“直接查询”表时,PowerBI表不显示值

Zayfaya83

我在表A和表B之间建立了“多对一”关系。表A包含字段Date,Product,SalesValue,表B包含:Product和Selection。样本数据:表A(从上到下按值排序):

Date       Product   Subproduct   Value
1-1-2020   Red       A            200
1-1-2020   Red       B            500
1-1-2020   Red       C            600
1-1-2020   Red       D            1500

表B:

Product  Subproduct    Exclude
Red      A             Yes
Red      B             Yes

当我将“导入模式”用于表B时,请在产品上建立多对一关系。使表格可视化后,输出为以下内容:

Date       Product  Subproduct      Value   Exclude
1-1-2020   Red      A                200    Yes
1-1-2020   Red      B                500    Yes
1-1-2020   Red      C                600
1-1-2020   Red      D                1500

但是,当我对表B使用“直接查询”模式并在产品上使用多对一关系时。我的输出如下:

Date       Product  Subproduct       Value  Exclude
1-1-2020   Red      A                200    Yes
1-1-2020   Red      B                500    Yes
1-1-2020   Red      C                
1-1-2020   Red      D                

我的目标是获得以下输出,在该输出中,我采用了Value的最小值并将表示为“已排除-是”的产品排除在外。

Date       Product   MinValue  
1-1-2020   Red       600    

我现在正在使用以下DAX公式

MinValue = Calculate(Min('TableA'[Value]),'TableB'[Excluded] <> "Yes")

但是,使用此公式,我得到以下输出:

Date       Product   MinValue  
1-1-2020   Red          

如何在某种程度上通过“直接查询模式”获得所需的输出作为“导入模式”结果?

谢谢。

mkRabbani

在2个度量值以下创建这些-

exclude = 

VAR current_row_product = MIN('Table A'[Product])
VAR current_row_sub_product = MIN('Table A'[Subproduct])

VAR find_table_B_exclude = 
CALCULATE(
    MIN('Table B'[Exclude]),
    FILTER(
        ALL('Table B'),
        'Table B'[Product] = current_row_product
            && 'Table B'[Subproduct] = current_row_sub_product
    )
)

RETURN find_table_B_exclude
exclude_final = 

VAR current_row_value = MIN('Table A'[Value])

VAR Table_A_min_value = 
CALCULATE(
    MIN('Table A'[Value]),
    FILTER(
        ALL('Table A'),
        'Table A'[exclude] <> "Yes"
    )
)

RETURN
if(
    [exclude] = "Yes",
    "Yes",
    IF(
        current_row_value = Table_A_min_value,
        "NO",
        "Yes"
    )
)   

这是2小节的输出-

在此处输入图片说明

现在应用可视化级别过滤器以仅显示Final_exclude = NO且输出如下的行:

在此处输入图片说明

- - -第2部分 - -

在直接查询中,您需要使用左连接查询,如下所示:

select A.Date,A.Product,A.Value,B.Selection
from table_a A
left join table_b B on A.Product = B.Product 

上面的查询将保持在你的列值的价值绿色黄色的地方,你在你需要的输出显示空白它们。如果确实需要,您可以在下面的查询中使用此命令-

select 
A.Date,
A.Product,
case when B.Selection is null then null else A.Value end as Value,
B.Selection
from table_a A
left join table_b B on A.Product = B.Product 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章