9 Replies Latest reply: Aug 4, 2014 2:44 AM by natalia siglina RSS

    Регистр и заполнение пустых

      Добрый день, коллеги.

      Назрело 2 вопроса, гугл не помог:

      1. Можно ли заставить QV  игнорировать регистр (в названиях полей и в записях) ?

       

      2. Как можно заполнить пустые ячейки значениями сверху?

      gf9f8xi2.bmp

        • Re: Регистр и заполнение пустых

          Добрый день,

          1. в хелпе есть функция, попробуйте ее.

          The force statement forces QlikView to interpret field values of subsequent Load and Select (SQL) statements as written with only upper case letters, with only lower case letters, as always capitalized or as they appear (mixed). This statement makes it possible to associate field values from tables made according to different conventions.   The syntax is:

          force ( capitalization | case upper | case lower | case mixed )

          Force Capitalization;

          Force Case Upper;

          Force Case Lower;

          Force Case Mixed;

          2. С помощью трансформации в File Wizard.

            • Re: Регистр и заполнение пустых

              Спасибо. Со вторым вопросом всё заработало! А вот по первому...

              Почитал, про  'force case...'  но я правильно понимаю, что оно действует только для значений поля?

              Это уже хорошо, но необходимо так же приравнять и названия полей

              "код товара"="Код товара"="Код Товара".

              Т.е. по маске загружается пачка файлов, таблицы имеют одну структуру, но вот в названиях столбцов в каждом городе большие и маленькие буквы используют по своему, а нужно, чтоб QV  видел это всё как одну таблицу.

              • Re: Регистр и заполнение пустых

                А всё разобрался, проблема решается через использование явных меток, вместо встроенных, но всё равно полезно было бы иметь какой-то инструмент для загрузки, плохо формализованных данных,

                допустим загрузка полей по маске, что-то вроде:

                load

                *рода* as продажи

                from  продажи/*.xls;

                 

                И в поле продажи тогда бы загрузились  данные полей : продажи, Продажи, продано, Продажи за месяц...и т.д.  из всех документов в папке .

                 

                Нет ли чего-то подобного?

              • Re: Регистр и заполнение пустых
                Eugeny Ilyin

                Следующие переменные могут использоваться для обработки ошибок в скрипте:

                 

                ErrorMode

                ScriptError

                ScriptErrorDetails

                ScriptErrorCount

                ScriptErrorList

                Вот только, что критически что нет, решать в скрипте вам.
                Скрипт просто идет дальше и все, и ошибки могут нарастать снежным комом.

                  • Re: Регистр и заполнение пустых

                    Ага, спасибо. С ошибками буду что-нибудь делать само-собой (всё больше склоняюсь к варианту исправления путём криков и угроз тем, кто отсылает кривые данные) перед сдачей, но сейчас только начал разработку и они раздражают (не отойдешь покурить, пока пересчитывается- надо жать "ОК"), так что на текущий момент очень пригодится.

                      • Re: Регистр и заполнение пустых
                        Eugeny Ilyin

                        Что-то типа такого:

                        '$(Table)': SQL SELECT $(Fields) FROM $(vFrom);

                        let vScriptError = num(ScriptError);

                        // В случае отказа в доступе к таблице или другой ошибке

                        IF vScriptError>0 then

                        ....

                        Главное фиксировать ScriptError сразу после потенциально возможного оператора с ошибкой.
                        И можно записывать в табличку все моменты и условия возникновения ошибки.
                        Довольно удобно.

                         

                        А что касается заголовков, так первое что приходит на ум - сделать всем одинаковые заголовки и ввести санкции за нарушение Программисты, конечно, народ плечистый но зачем тратить свое время когда вопрос решается организационно.