Как построить несколько мер на линейном графике с общей осью и легендой - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть два линейных графика, которые взяты из разных столбцов в формулах измерений, но оба имеют общую временную ось.

Это первый сюжет:

enter image description here

Второй:

enter image description here

В этом случае второй график - это только масштабированная версия первого, но принцип остается тем же, я не могу просто перетащить значения из обоих измерений в одно и то же ""valores", просто пишет:

enter image description here

Как можно изобразить эти два измерения на одном поле?Что-то вроде графика с накоплением областей, но без смещения.

Это мои данные:

enter image description here

И выражение для измерений IЯ использую:

Medida = CALCULATE(sum(test_data[Percentage_By_Class]);filter(test_data;test_data[Date]=max(test_data[Date]));
ALLEXCEPT(test_data;test_data[Score]))/ CALCULATE(sum(test_data[Percentage_By_Class]);
filter(all(test_data);test_data[Date]=max(test_data[Date])))


Medida2 = CALCULATE(sum(test_data[Percentage_By_Class]);filter(test_data;test_data[Date]=max(test_data[Date]));
ALLEXCEPT(test_data;test_data[Score]))/ CALCULATE(1.3*sum(test_data[Percentage_By_Class]);
filter(all(test_data);test_data[Date]=max(test_data[Date])))

и ссылку Google Drive для загрузки используемых данных в формате CSV:

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

1 Ответ

0 голосов
/ 22 февраля 2019

Я не думаю, что есть хороший встроенный способ сделать это, но вот возможный обходной путь:

Создайте новую таблицу для легенды, которая будет декартовым произведением оценок и мер.

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

...