如何在具有共享轴和图例的折线图上绘制多个度量

时间:2019-02-21 16:15:43

标签: powerbi dax

我有两个折线图,它们来自测量公式中的不同列,但都共享时间轴。

这是第一个情节:

enter image description here

第二个:

enter image description here

在这种情况下,第二个图只是第一个图的缩放版本,但是原理保持不变,我无法将两个测量值拖放到相同的“ valores”框中,只是iverwrites:

enter image description here

如何将这两个测量值绘制在同一盒子上? 类似堆积区域的图,但没有偏移。

这是我的数据:

enter image description here

我正在使用的测量结果的表达式:

private void LoadServerList(object parameter)
{
    try
    {
        //throw new InvalidOperationException("test");
        ServerCollection.Clear();
        ///... Load();
        Error = string.Empty;
    }
    catch (InvalidOperationException ex)
    {
        Error = ex.Message;
    }
}

private string _error;
public string Error
{
    get { return _error; }
    set { _error = value; NotifyPropertyChanged(); }
}


public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
    if (PropertyChanged != null)
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}

还有一个Google驱动器链接,用于以CSV格式下载使用的数据:

https://drive.google.com/file/d/1dEdUwwofv1OQ9rOGQMuyfYKO9_YJDTcl/view?usp=sharing

1 个答案:

答案 0 :(得分:1)

我认为没有一种很好的内置方法可以做到这一点,但这是一种可能的解决方法:

为图例创建一个新表,该表将是分数和度量的笛卡尔积。

Legend =
ADDCOLUMNS(
    CROSSJOIN(VALUES(test_data[Score]), {1,2}),
    "Legend", [Score] & [Value]
)

此表应如下所示:

| Score | Value | Legend |
|-------|-------|--------|
| A     |   1   |   A1   |
| C     |   1   |   C1   |
| B     |   1   |   B1   |
| A     |   2   |   A2   |
| C     |   2   |   C2   |
| B     |   2   |   B2   |

现在创建一个在[Medida][Medida2]之间切换的组合量度:

Combo = 
IF(
    SELECTEDVALUE(Legend[Value]) = 1,
    CALCULATE([Medida], test_data[Score] in VALUES(Legend[Score])),
    CALCULATE([Medida2], test_data[Score] in VALUES(Legend[Score]))
)

然后,如果将Legend放在图例框中,将Combo放在值框中,则应该得到如下图:

Combo Chart

如果要在视觉上对线条进行分组,也可以更改颜色。

Chart Recolored