7 ноября 2011 г.

Строки-дубликаты в QlikView таблицах

Всем привет.
Как часто при разработке того или иного чарта вы сталкиваетесь с ситуацией, когда видите значения в один или может быть даже в несколько раз превышающие ожидаемые вами величины? У меня и моих коллег на проекте это случается достаточно часто. И вот вы копаетесь в скрипте, просматриваете исходные данные, в надежде понять, что же вы не так сделали, где кроется отгадка… Причем частенько и скрипт и данные могут быть совсем простыми и казалось бы ошибиться-то негде…  ан нет – цифири не бьются в разы… И после долгих, мучительных и, зачастую, не очень успешных поисков, в голову наконец-то приходит мысля о за двоениях в факт-таблице (мне почему-то эта мысль приходит обычно далеко не в первых рядах). Вопрос как их отловить, так чтобы цифири в чартах таки стали красивыми и ожидаемыми нами? 
Я упомянул, про за двоения в факт-таблицах, но, конечно, они могут встречаться и в справочниках. Однако, такие дубликаты обычно не так критичны, потому что они не оказывают влияние на калькулируемые величины. Как я уже сказал, эти злосчастные за двоения в фактах обычно не так просто обнаружить ни при помощи чартов, ни при использовании простой таблицы (TableBox). Ведь в чартах мы получаем уже агрегированные значения, а TableBox вообще, по сути своей, является сложным списком значений, состоящим из нескольких полей Улыбка. В том смысле, что данный страничный объект, также как и список, отображает только уникальные значения. Для борьбы с такими ситуациями в нашем распоряжении есть замечательная функция RowNo() (НЕ ПУТАТЬ с RecNo()), которая индексирует каждую строчку в результирующей факт-таблице. Перефразируя немного рекламу из 90-х, решение кроется во фразе: “Просто добавь RowNo() !” Улыбка. Делаю я это обычно примерно вот так:
RENAME TABLE FactTable TO tmpTable;
FactTable:
LOAD *, RowNo() as RowNo RESIDENT tmpTable;
DROP TABLE tmpTable;
На этом позвольте закончить мой небольшой поток мысли на заданную тему Улыбка. До скорой встречи на страницах этого блога!

2 комментария:

  1. Кто хочет последнюю документацию на русском
    заходите на
    http://depositfiles.com/folders/KPG6OIIGD
    и качайте
    особенно обратите внимание на файлы

    QlikView11- Reference Manual Rus.rar
    Russian_Help_11.rar

    Классно!!!. Все что нужно...

    ОтветитьУдалить
  2. magnificent publish, very informative. I wonder why the other specialists of this sector don’t notice this. You should continue your writing. I’m confident, you’ve a great readers’ base already!planning for qlikview implimentation

    •Process Driven Needs Definition is the Key
    •Planned Validation is an important success factor
    •Enhanced ETL, Modeling and Visualization methods available
    •User based needs and deployment planning is essential
    •Best Practices available for every step – demand for bestpractices to be implemented
    •Best Practice – Review of Progress of Usage of ApplicationsCreated•KPI: How Much we have increased Intelligent Management of Business at all levels?thanks.qlikview training in hyderabad

    ОтветитьУдалить