从现有表构建表

时间:2019-03-20 15:05:22

标签: powerbi dax

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

原始SQL创建一个像这样的表:

enter image description here

现在我想使用此信息来填充另一个表,如果我使用原始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中的表中有数据,有没有办法使用DAX在Power BI的范围内构建这个新表?

为获得的任何帮助而欢呼。

1 个答案:

答案 0 :(得分:1)

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

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缝合在一起。

希望有帮助