Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Have to tabel with times a key wich could be like:
000001|001/000007|001/000009|001/000002|001/,000006|001/,000008|002
where 000001/ and 000007/ and 000009/ etc are the needed values in the string
they must trigger a graphic choice object (see jpg please) based on value
how to set this to show ?
Hi, there are a few missing info from your post -
1. what is the expected behavior when the dashboard is opened - did you want the specific codes in demo$ to be auto selected?
2. if so, then that happens only on OPEN. selection is triggered by an action. so if the user clicks CLEAR - whats the expectation?
3. or did you just want a visualization that shows what the inputted codes are and no matter what the user clicks wont impact the visualization?
either way, hope this helps:
if you which to capture the codes in your script:
let demo$='000001|001/000007|001/000009|001/000002|001/000006|001/000008|002';
let count$=SubStringCount('$(demo$)','|'); //counts the codes
//in case you want to save the codes in a table-----
NoConcatenate
table:
load null() as C
AutoGenerate (0);
for i$=1 to $(count$)
Concatenate (table)
load text(subfield(subfield( '$(demo$)','|',$(i$)),'/',-1)) as C
AutoGenerate(1);
next;
//---------------------------------------
//if you just need the codes in a variable-----------
let codes$='(';
for i$=1 to $(count$)
let codes$= '$(codes$)' & text(subfield(subfield( '$(demo$)','|',$(i$)),'/',-1)) & '|' ;
next;
let codes$=left('$(codes$)',len('$(codes$)')-1) & ')';
//the variable is in a format (xxx|xxx|xxx)
//to allow you to add this in your trigger at open
//to select the codes
//------------------------------------------------------
having said all that, another option is to not handle the selection of codes in your script, instead just do it in your visualization. all you need is the variable demo$:
1. create a straight table
2. add the description and code as dimensions
3. add the following expressions:
= 1 // this allows you to show all codes
=SubStringCount( demo$, Code&'|') // this results in 0 or 1 depending if the code is in demo$ or not
4. in presentation hide expression column 1
5 set the 2nd expression as an LED
@JACKNIEKERK can you elaborate
can you share the expected output ?
ok please take look at jpg
If I understood correctly you want to convert String from 0001|001/0004|001/0006|001/0005|001/ to 0001 0004 0005 0006 ?
you can use for example this version :
Table:
load *,subfield(FieldTmp,'|',1) as FieldTmp2;
load *,subfield(Field,'/') as FieldTmp inline [
Field
0001|001/0004|001/0006|001/0005|001/
];
Final:
load concat(FieldTmp2,' ') as NewField resident Table where len(trim(FieldTmp2))>0 group by Field;
drop table Table;
input :
0001|001/0004|001/0006|001/0005|001/
output:
let me show how we do it now in visual
demo$ = "0001|001/0004|001/0006|001/0005|001/"
For i = 1 To Len(demo$) Step 9
Itemnumber = Mid$(demo$, i, 4)
For y = chkgroup.LBound To chkgroup.UBound 'this is in qlik the graphic choice object (see 1e jpg please)
If chkgroup(y).Caption = Itemnumber Then
chkgroup(y).Value = True ' turn it on , in qlik it should be a connection to graphic choice object
Exit For
End If
Next y
Next i
thus lookiing for a script wich will extract this in visual and connect and active the chkgroup(x) on screen
In qlik we load like
Directory;
LOAD @1 as Group,
@3 as GroupName
FROM
[J:\PDS\QMAIN.TXT]
(txt, codepage is 1252, no labels, delimiter is ' ', msq;
// 00001 = BEEF
ItemsTabel:
//============================
load
Itemnumber ,
Name ,
Group ; // COULD CONTAIN LIKE "0001|001/0004|001/0006|001/0005|001/"
SQL SELECT * from WEBITEMS;
Hi, there are a few missing info from your post -
1. what is the expected behavior when the dashboard is opened - did you want the specific codes in demo$ to be auto selected?
2. if so, then that happens only on OPEN. selection is triggered by an action. so if the user clicks CLEAR - whats the expectation?
3. or did you just want a visualization that shows what the inputted codes are and no matter what the user clicks wont impact the visualization?
either way, hope this helps:
if you which to capture the codes in your script:
let demo$='000001|001/000007|001/000009|001/000002|001/000006|001/000008|002';
let count$=SubStringCount('$(demo$)','|'); //counts the codes
//in case you want to save the codes in a table-----
NoConcatenate
table:
load null() as C
AutoGenerate (0);
for i$=1 to $(count$)
Concatenate (table)
load text(subfield(subfield( '$(demo$)','|',$(i$)),'/',-1)) as C
AutoGenerate(1);
next;
//---------------------------------------
//if you just need the codes in a variable-----------
let codes$='(';
for i$=1 to $(count$)
let codes$= '$(codes$)' & text(subfield(subfield( '$(demo$)','|',$(i$)),'/',-1)) & '|' ;
next;
let codes$=left('$(codes$)',len('$(codes$)')-1) & ')';
//the variable is in a format (xxx|xxx|xxx)
//to allow you to add this in your trigger at open
//to select the codes
//------------------------------------------------------
having said all that, another option is to not handle the selection of codes in your script, instead just do it in your visualization. all you need is the variable demo$:
1. create a straight table
2. add the description and code as dimensions
3. add the following expressions:
= 1 // this allows you to show all codes
=SubStringCount( demo$, Code&'|') // this results in 0 or 1 depending if the code is in demo$ or not
4. in presentation hide expression column 1
5 set the 2nd expression as an LED
@JACKNIEKERK What is the actual expectation is not clear here. Would be good if you can show snippet of your sample data and then clearly state the expectation as what you want to achieve