Разделение имени файла (заголовка таблицы) на две отдельные строки

#header #qlikview #qliksense

#заголовок #qlikview #qliksense

Вопрос:

У меня есть набор данных следующей структуры:

 Company.ID  DDR (25632) PTL (89567)
2512             89         74
9875             78         96
7892             14         73
  

Я хотел бы разделить заголовок на две разные строки. Другими словами, вторая часть заголовка должна или может быть первой переменной. Как можно преобразовать набор данных в желаемую форму (см. Ниже):

 Company.ID          DDR         PTL 
     -            (25632)     (89567)
    2512             89         74
    9875             78         96
    7892             14         73
  

Чтобы повторить приведенный выше пример в Qlik, запустите приведенный ниже код:

 LOAD * Inline [
        [Company.ID], [DDR (25632)], [PTL (89567)]
        2512,89,74
        9875,78,96
        7892,14,73
    ];
  

Любая помощь или подсказка будут высоко оценены!

Комментарии:

1. Вы хотите преобразовать исходные данные специально, или это средство для достижения цели, чтобы заставить заголовок отображаться в нескольких строках в прямой таблице или динамической таблице?

Ответ №1:

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

 table:
LOAD * Inline [
        Company.ID, DDR (25632), PTL (89567)
        2512,89,74
        9875,78,96
        7892,14,73
    ];


For i=1 to NoOfFields('table')

    LET vField = FieldName($(i),'table');
    LET vFieldName_$(i) = SubField('$(vField)',' ',1);
    LET vFieldValue_$(i) = SubField('$(vField)',' ',2);

    If '$(vField)' <> '$(vFieldName_$(i))' THEN

        Rename Field '$(vField)' TO '$(vFieldName_$(i))'; 

    EndIf

next

Concatenate(table)
Load * Inline [
    '$(vFieldName_1)', '$(vFieldName_2)', '$(vFieldName_3)'
    '$(vFieldValue_1)', '$(vFieldValue_2)', '$(vFieldValue_3)'
];
  

Комментарии:

1. Спасибо за ваш ответ, сообщество Qlik здесь довольно маленькое. Ваш код, безусловно, будет работать для небольшой таблицы, но если у вас таблица длиной 100, поэтому было бы целесообразно объединить каждое из vFieldNames и vFieldValues только в одном vFieldNameConsolidated и vFieldValuesConsolidated. Я уже реализовал это! Рад с вами познакомиться.

2. Привет, спасибо. Можете ли вы выбрать мой ответ как правильный или добавить ответ самостоятельно, чтобы закрыть этот вопрос как отвеченный? Наилучшие пожелания Хьюберту