Size: a a a

2020 March 31

НБ

Нурсултан Бексултано... in Qlik BI chat
Добрый день! Имеется таблица поля:склад, номенклатура, дата, суммаостатка, как пронумировать чтобы новая нумерация начиналась когда наступала новая дата
источник

НБ

Нурсултан Бексултано... in Qlik BI chat
?
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
Oleg Troyansky
Ну, практически правильно. Есть ещё одна маленькая тонкость, но похоже тема не вызвала ожидаемого интереса, так что ответ засчитывается :)
Какая тонкость?)
источник

OT

Oleg Troyansky in Qlik BI chat
Нурсултан Бексултанов
Добрый день! Имеется таблица поля:склад, номенклатура, дата, суммаостатка, как пронумировать чтобы новая нумерация начиналась когда наступала новая дата
Добрый день. Есть много вариантов. Один из простых:

AutoNumber(склад&номенклатура&дата.....   , Дата)
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
Oleg Troyansky
Добрый день. Есть много вариантов. Один из простых:

AutoNumber(склад&номенклатура&дата.....   , Дата)
Знаете, у меня тут был пример такой конструкцией, она работала гораздо медленнее чем аналогичная логика через peek()

if(previous(склад&номенклатура&дата)<>склад&номенклатура&дата,1,1+peek('RowNumber')) as RowNumber
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
ну и для обоих способов нужно писать правильный порядок загрузки строк через order by
источник

ЖШ

Жандос Шотан... in Qlik BI chat
Нурсултан Бексултанов
Добрый день! Имеется таблица поля:склад, номенклатура, дата, суммаостатка, как пронумировать чтобы новая нумерация начиналась когда наступала новая дата
Ну поле даты и так пронумеровано, имеет числовое значение. Можно от даты отнимать первую дату в данных и у вас будет порядковый номер. И это помоему самый быстрый вариант в конкретном случае:
Num(DateField)-$(vMinDate) & F1&F2 as DateKey
источник

GE

Galina E in Qlik BI chat
Oleg Troyansky
Ну, практически правильно. Есть ещё одна маленькая тонкость, но похоже тема не вызвала ожидаемого интереса, так что ответ засчитывается :)
Так какая тонкость. Я то же только ответ Евгения, кажется, знаю . И мне то же интересно.
источник

OT

Oleg Troyansky in Qlik BI chat
Евгений Стучалкин
Какая тонкость?)
Когда-то давно, только функция Exists с одним параметром сохраняла оптимизацию, что исключало возможность переименования ключей. Приходилось изворачиваться и переименовать ключи предварительно. Со временем функцию усовершенствовали, и теперь два параметра допускаются, при условии что второе название поля возникл о в результате переименования. То есть такая форма теперь допустима:

Load
  Cust as Customer,
...
Where exists (Customer, Cust)

Эта деталь и сегодня остаётся малоизвестным фактом...
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
Oleg Troyansky
Когда-то давно, только функция Exists с одним параметром сохраняла оптимизацию, что исключало возможность переименования ключей. Приходилось изворачиваться и переименовать ключи предварительно. Со временем функцию усовершенствовали, и теперь два параметра допускаются, при условии что второе название поля возникл о в результате переименования. То есть такая форма теперь допустима:

Load
  Cust as Customer,
...
Where exists (Customer, Cust)

Эта деталь и сегодня остаётся малоизвестным фактом...
Круто, спасибо!
источник

GE

Galina E in Qlik BI chat
Oleg Troyansky
Когда-то давно, только функция Exists с одним параметром сохраняла оптимизацию, что исключало возможность переименования ключей. Приходилось изворачиваться и переименовать ключи предварительно. Со временем функцию усовершенствовали, и теперь два параметра допускаются, при условии что второе название поля возникл о в результате переименования. То есть такая форма теперь допустима:

Load
  Cust as Customer,
...
Where exists (Customer, Cust)

Эта деталь и сегодня остаётся малоизвестным фактом...
Спасибо, надо попробовать. Не обращала внимание, кстати на это, так как такое делала для маленьких таблиц только
источник

OT

Oleg Troyansky in Qlik BI chat
Евгений Стучалкин
Знаете, у меня тут был пример такой конструкцией, она работала гораздо медленнее чем аналогичная логика через peek()

if(previous(склад&номенклатура&дата)<>склад&номенклатура&дата,1,1+peek('RowNumber')) as RowNumber
Вполне допускаю, AutoNumber бывает медленным, особенно в совмещении с конкатенацией
источник

OT

Oleg Troyansky in Qlik BI chat
Galina E
Спасибо, надо попробовать. Не обращала внимание, кстати на это, так как такое делала для маленьких таблиц только
👍
источник

J

Jack in Qlik BI chat
Раз уж мы заговорили о быстродействии, а load distinct сильно медленнее простого load?
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Oleg Troyansky
Ну, практически правильно. Есть ещё одна маленькая тонкость, но похоже тема не вызвала ожидаемого интереса, так что ответ засчитывается :)
там много тонкостей, не нарушается и с функцией кросстейбл, но тогда, если будет оптимайз лоад, тогда вместо 1 таблицы, будет сдесяток таблиц из 1 поля, острова.
источник

ZS

Zhenya Skrebanov in Qlik BI chat
Jack
Раз уж мы заговорили о быстродействии, а load distinct сильно медленнее простого load?
есть случаи, когда нет разницы, есть когда есть, кроме того, дистинкт может наследоваться переходя от одного действия к другому, а еще очень прикольно работает джоин с дистинктом)
источник

A

Andrew in Qlik BI chat
Коллеги, есть задача при вычислении средней цены в чарте игнорировать заведомо неправильные (>1000) цены. Через сет анализ не понял как получить, тут без агрегации не обойтись? Попробовал ифом, бестолку:
=IF
(
EDLP.Shelf_Price > 1000,
Null(),
AVG(EDLP.Shelf_Price)
)
источник

ЕС

Евгений Стучалкин... in Qlik BI chat
Jack
Раз уж мы заговорили о быстродействии, а load distinct сильно медленнее простого load?
стоит помнить, что при загрузке distinct - это дополнительная операция поверх простой загрузки строк. Т.е. сначала таблица грузится как обычно, а потом схлопывается до уникальных значений.
источник

IB

Igor Burobin in Qlik BI chat
сет анализ не будет работать вне функции агрегации
источник

IB

Igor Burobin in Qlik BI chat
only({<Цена={"<1000"}>} Цена)
источник