【问题标题】:Convert SQL to Power BI将 SQL 转换为 Power BI
【发布时间】:2020-11-23 11:29:23
【问题描述】:

我是 Power BI 的新手,因此请多多包涵 :D

实际上,我有 2 个表,分别称为 Report 和 Mails。在 Report 表中有一个 Racine 列,在 Mails 表中有一个名为 Body 的列,其中可能包含 Racine。

我想将此 sql 转换为 Power BI

select Report.Racine, Mails.Body 
from Report, Mails
where Mails.Body LIKE '%' + Report.UserId + '%'; 

例子:

表格报告

Racine
1234
5678
9012
0987

餐桌邮件

Body
'abc 1234 AZER'
'PO5678 tgcv'
'YF1234GHQ'

结果应该是

Racine             Body
1234               'abc 1234 AZER'
1234               'YF1234GHQ'
5678               'PO5678 tgcv'
9012               *null*
0987               *null*

有可能吗?

提前致谢。

【问题讨论】:

    标签: sql powerbi


    【解决方案1】:

    如果您遇到这些表来自不同数据源的情况,您可以通过 DAX (Data -> New Table) 计算一个新表:

    VAR __tmp1 =
        FILTER (
            SUMMARIZECOLUMNS (
                Report[Racine],
                Mails[Body],
                "condition",
                    CONTAINSSTRING (
                        SELECTEDVALUE ( Mails[Body] ),
                        SELECTEDVALUE ( Report[Racine] )
                    )
            ),
            [condition]
        )
    VAR __tmp2 =
        ADDCOLUMNS (
            CALCULATETABLE (
                Report,
                NOT ( Report[Racine] IN ( CALCULATETABLE ( Report, __tmp1 ) ) )
            ),
            "Body", BLANK (),
            "condition", FALSE
        )
    RETURN
        UNION ( __tmp1, __tmp2 )
    

    【讨论】:

    • 非常好,完美运行。非常感谢。
    【解决方案2】:

    有两种选择。

    1. 您可以按照下图导入您的确切查询。

    2. 您在 PowerBI 中导入两个源表。您需要在 PowerBI 中的 PowerQuery (M) 中编写一个查询,以从正文中提取数字 Racine。然后,您可以在另一个 M Query 中合并数据或加入您的模型。如果使用后者,您需要在视觉对象上“显示没有数据的项目”,以便出现空白/空值。

    你可以找到你需要编写的M代码的例子here。为方便起见,粘贴在下方。

    #"Added Custom" = Table.AddColumn(#"Promoted Headers", "Custom", each Text.Combine(List.RemoveNulls(List.Transform(Text.ToList([Name]),each if Value.Is(Value.FromText(_), type number) then _ else null))))
     
    

    【讨论】:

    • 您好,谢谢您的 2 个答案。但是这2个表来自excel,不能使用SqlServer的GetData,我不知道M代码。使用 DAX 的 msta42a 的答案正如我所料。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 2021-05-09
    相关资源
    最近更新 更多