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

У меня есть такая таблица:

<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
.tg .tg-baqh{text-align:center;vertical-align:top}
</style>
<table class="tg">
  <tr>
    <th class="tg-baqh">Store Name</th>
    <th class="tg-baqh">Week Number</th>
    <th class="tg-baqh">Sales</th>
    <th class="tg-baqh">Sales-LY</th>
  </tr>
  <tr>
    <td class="tg-baqh">Store A</td>
    <td class="tg-baqh">1</td>
    <td class="tg-baqh">20</td>
    <td class="tg-baqh">15</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store A</td>
    <td class="tg-baqh">2</td>
    <td class="tg-baqh">25</td>
    <td class="tg-baqh">20</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store A</td>
    <td class="tg-baqh">3</td>
    <td class="tg-baqh">30</td>
    <td class="tg-baqh">25</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store B</td>
    <td class="tg-baqh">1</td>
    <td class="tg-baqh">15</td>
    <td class="tg-baqh">10</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store B</td>
    <td class="tg-baqh">2</td>
    <td class="tg-baqh">15</td>
    <td class="tg-baqh">15</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store B</td>
    <td class="tg-baqh">3</td>
    <td class="tg-baqh">20</td>
    <td class="tg-baqh">15</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store C</td>
    <td class="tg-baqh">1</td>
    <td class="tg-baqh">30</td>
    <td class="tg-baqh">25</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store C</td>
    <td class="tg-baqh">2</td>
    <td class="tg-baqh">0</td>
    <td class="tg-baqh">20</td>
  </tr>
  <tr>
    <td class="tg-baqh">Store C</td>
    <td class="tg-baqh">3</td>
    <td class="tg-baqh">25</td>
    <td class="tg-baqh">20</td>
  </tr>
</table>

Я хотел бы вернуть (скажем так) сводную таблицу с

Salex IDX = SUM (Продажи) / SUM (Продажи-LY) в качестве меры, игнорируя точки данных для «Недели 2 для магазина C». Таким образом, это не фильтр только по номеру недели или хранилищу, а фильтр по конкретной строке (строкам), определяемой несколькими параметрами.

По сути, я хотел бы получить результаты типа «нравится», за исключением недель, когда столбцы «Продажи» или «Продажи-LY» равны нулю (или равны нулю).

Любые идеи?


person Mari    schedule 20.06.2016    source источник
comment
Я думаю, что решение - это что-то, использующее CALCULATETABLE, но не могу найти решение, которое еще работает.   -  person Mari    schedule 20.06.2016


Ответы (1)


Я бы добавил вычисляемый столбец для объединения Store и Week, примерно так:

=[Store Name]&", Week: "&[Week Number]

Затем вы можете использовать фильтр или срез, чтобы исключить нужную комбинацию Store & Week.

person Mike Honey    schedule 21.06.2016
comment
Конечно, это способ, еще один способ, который я сейчас использую, - это создание условного столбца, который дает 1, если Sales или Sales-LY равны 0 для данного дня. Но мне все еще любопытно, есть ли для этого решение на основе DAX. - person Mari; 21.06.2016
comment
Решение для чего? Я думаю, вам нужно расширить свой вопрос. Каковы ваши ожидаемые результаты? - person Mike Honey; 21.06.2016
comment
Я думал, что ясно дал понять в своем первоначальном вопросе. Я хотел бы получить решение в рамках расчетной меры (без изменения таблиц данных). Например, «Изменение продаж», при котором будут исключены строки, когда строка «Продажи LY» или «Продажи TY» имеет нулевое или нулевое значение. - person Mari; 21.06.2016
comment
Хорошо, подумай еще раз. У меня уже есть решение, вычисляемый столбец не изменяет исходные таблицы ... Спасибо. Теперь у меня есть дополнительный вопрос: как я могу идентифицировать магазины с последовательными (спина к спине) нулями, а затем отфильтровать строки, в которых по крайней мере две недели подряд были нулевые продажи? есть идеи по этому поводу? - person Mari; 21.06.2016
comment
Насколько я понимаю соглашения SO, это должен быть отдельный вопрос. - person Mike Honey; 22.06.2016