【问题标题】:What changes should be made to the datamodel in power-bi to accommodate the following?应该对 power-bi 中的数据模型进行哪些更改以适应以下内容?
【发布时间】:2020-12-23 20:29:56
【问题描述】:

我有一个要求,我必须在矩阵视觉中显示值。

数据是这样的:

level2 和 level3 中的“null”值表示该分数是针对该特定 Level1。

例如:第1行,level2和level3的值为null,表示Level 1的score1和score 2分别为3.5和3.5。

共有 3 个级别。它们应该以层次结构显示,例如:

Level 1 

            Level 2

                        Level 3.

例如:2 级层次结构,如下所示:

Level 2             score1           score2

A                     3.5                  3,5
   AA                 3                    3
   AB                 4                    3
   AC                 4                    3

B                     3.2                 3.2
   BA                 3                    4
   BB                 4                    3

我应该对数据模型/列进行哪些更改以适应这种情况? 最终结果应如下所示:

感谢任何帮助。谢谢。

【问题讨论】:

    标签: powerbi data-modeling datamodel


    【解决方案1】:

    您可以编写一个度量来考虑级别。

    这不是很漂亮,但可能会让您了解如何处理此类事情:

    Score1 Switch = 
    VAR CurrentLevel =
        SWITCH (
            TRUE (),
            ISINSCOPE ( Table1[Level 3] ), 3,
            ISINSCOPE ( Table1[Level 2] ), 2,
            ISINSCOPE ( Table1[Level 1] ), 1,
            0
        )
    VAR CurrentLevelIsBlank =
        SWITCH (
            CurrentLevel,
            3, ISBLANK ( SELECTEDVALUE ( Table1[Level 3] ) ),
            2, ISBLANK ( SELECTEDVALUE ( Table1[Level 2] ) ),
            1, ISBLANK ( SELECTEDVALUE ( Table1[Level 1] ) )
        )
    RETURN
        IF (
            NOT ( CurrentLevelIsBlank ),
            SWITCH (
                CurrentLevel,
                1, CALCULATE ( SELECTEDVALUE ( Table1[score 1] ), ISBLANK ( Table1[Level 2] ) ),
                2, CALCULATE ( SELECTEDVALUE ( Table1[score 1] ), ISBLANK ( Table1[Level 3] ) ),
                3, SELECTEDVALUE ( Table1[score 1] )
            )
        )
    

    编辑:一些有用的参考资料

    【讨论】:

    • 谢谢亚历克西斯。非常感谢您的帮助。你太棒了:)
    • 嗨,Alexis,我刚刚检查了 level3,它似乎显示了相同的空白。
    【解决方案2】:

    您可以将矩阵内置视觉对象与为级别创建的层次结构一起使用。这样做你会得到问题中描述的东西。下面是它在 Power BI 中的外观:

    以下是实现上述目标的步骤:

    创建层次结构:

    1. 右键单击列 Level 1 ---> 新建层次结构
    2. 将 Level 2 和 Level 3 一张一张拖到创建的 Level 1 层次结构上,得到如下图所示:

    创建层次结构后,将层次结构拖放到行上,字段得分 1 和得分 2 在矩阵视觉对象中的值下,如下所示:

    希望这对你有用。

    如果可行,请不要忘记为答案投票。

    【讨论】:

    • 您好,感谢您的回复。但是,我的要求是第一个空白行描述了整个 level1 的值。但是,在您的方法中,无法显示该列的值。请看一下我在问题中提供的示例。
    • 请看一下我刚才在问题中上传的图片。这就是我希望最终结果的样子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多