Запрос с датой Pivot и датой заказа - PullRequest
1 голос
/ 15 октября 2019

У меня есть эта простая таблица и запрос:

https://docs.google.com/spreadsheets/d/1MwdP08WWmkG13fGmKjB5hpL-D_uqgAu0lsXrO8WcE1M

проблема в том, что я не могу получить столбцы, которые будут упорядочены по дате. Я попытался транспонировать + сортировать + транспонировать, но он не работает, так как ставит «2019-10-1» перед «2019-9-1» (потому что он интерпретирует дату как текст). Есть ли способ получить это отсортировано?

1 Ответ

1 голос
/ 15 октября 2019

вы можете сделать:

=ARRAYFORMULA(QUERY(QUERY(A:D; 
 "select B,sum(C),sum(D) 
  where B is not null 
  group by B 
  pivot A"); 
 "select Col1,"&TEXTJOIN(","; 1; 
  {"Col"&ROW(INDIRECT("A2:A"&COUNTUNIQUE(A2:A)+1))\ 
   "Col"&ROW(INDIRECT("A"&2+COUNTUNIQUE(A2:A)&":A"&COUNTUNIQUE(A2:A)*2+1))})))

0

и, если вы хотите удалить эту сумму:

=ARRAYFORMULA(REGEXREPLACE(TO_TEXT(QUERY(QUERY(A:D; 
 "select B,sum(C),sum(D) 
  where B is not null 
  group by B 
  pivot A "); 
 "select Col1,"&TEXTJOIN(","; 1; 
  {"Col"&ROW(INDIRECT("A2:A"&COUNTUNIQUE(A2:A)+1))\ 
   "Col"&ROW(INDIRECT("A"&2+COUNTUNIQUE(A2:A)&":A"&COUNTUNIQUE(A2:A)*2+1))})));
  " sum "; " "))

0


где я могу добавить фильтр даты where A >= date '2019-07-01'. Я пытался добавить его в первом блоке, но получаю сообщение об ошибке: "Error Unable to parse query string for Function QUERY parameter 2: NO_COLUMN: ColXX"

=ARRAYFORMULA(REGEXREPLACE(TO_TEXT(QUERY(QUERY(A:D; 
 "select B,sum(C),sum(D) 
  where B is not null 
    and A >= date '2019-7-1'
  group by B 
  pivot A "); 
 "select Col1,"&TEXTJOIN(","; 1; 
  {"Col"&ROW(INDIRECT("A2:A"&COUNTUNIQUEIFS(A2:A; A2:A; ">="&DATE(2019;7;1))+1))\ 
   "Col"&ROW(INDIRECT("A"&2 +COUNTUNIQUEIFS(A2:A; A2:A; ">="&DATE(2019;7;1))&":A"&
                             COUNTUNIQUEIFS(A2:A; A2:A; ">="&DATE(2019;7;1))*2+1))})));
  " sum "; " "))

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...