首页 > 解决方案 > 从现有表构建表

问题描述

我有一个 SQL 查询,它生成一个表,该表又填充了一个自定义视觉对象,它按预期工作。但是,我现在想使用这个表来避免调用另一个 SQL 脚本来填充一个新表。

原始 SQL 创建一个表,如下所示:

在此处输入图像描述

现在我想使用这些信息来填充另一个表,如果我使用原始 SQL 查询作为起点,我会写:

SELECT
    2 AS 'Level',
    'Warning' AS 'Text',
    [Heading] AS 'Department'
FROM
    #t
WHERE
    [Inventory Days] > 4

UNION ALL

SELECT
    1,
    'CodeRedAlert',
    [Heading]
FROM
    #t
WHERE
    [Capacity Warning] > 3

这将输出以下内容:

Level   Text            Department
2       Warning         Section 1
2       Warning         Section 2
2       Warning         Section 3
1       CodeRedAlert    Section 2

然后可以使用它来填充 Power BI 中的表格视觉对象,其中包含警告图标和代码红色警报。

虽然这在 SQL 中是可以实现的,但考虑到我在 Power BI 中的表中有数据,有没有办法在 Power BI 的范围内使用 DAX 构建这个新表?

为提供的任何帮助欢呼。

标签: powerbidax

解决方案


我认为您可以通过以下方式到达您想去的地方:

Table = UNION(
    SELECTCOLUMNS(
        FILTER(Table1, [Inventory Days] > 4)
        , "Level", 2
        , "Text", "Warning"
        , "Department", 'Table1'[Heading]
    ) 
    , SELECTCOLUMNS(
        FILTER(Table1, [Inventory Days] > 3)
        , "Level", 1
        , "Text", "CodeRedAlert"
        , "Department", 'Table1'[Heading]
    )
)

这是使用 SelectColumns 函数从原始表中提取数据并设置常量字段。我已经用过滤器替换了 SQL 示例中的“where”子句。然后将两个不同的集合用Union缝合在一起。

希望能帮助到你


推荐阅读