forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要こんにちは、
私は2020年10月12日にJumpを使い始めたので、これらすべてに非常に慣れていません。 私はこのコミュニティボードでほとんどの問題を解決しましたが、私はこれで完全に立ち往生しています。
技術者トレーニング、時間ログなどのトラッカーを作成しようとしています。 forループを使用して情報を収集し、グラフ化するデータテーブルに変換しています。 次に、同じforループでボタンを作成し、各技術者のメインウィンドウに追加します。 ボタンを押すと、技術者のウィンドウが2つのアウトラインボックスのあるジャーナルとして表示されます。


さて、ここに問題があります:
ボタンを押すと、2つのアウトラインボックスと正しいアウトラインボックス内のグラフを含むジャーナルが開きますが、グラフはリストの最後の名前を表すだけです。 すべてのグラフは同じデータを示しています。 私はこの問題を解決するために数え切れないほどのことを試みましたが、私は自分が欠けているものを見るのに十分な経験がありません。
これが私のスクリプトです:(スクリプトの最初のセクションは、別のデータベースからライブデータをプルするために使用するSQLスクリプトです。 このスクリプトを実行することはできません)
// New Technician Tracker Script
//=== CLEAN UP WORKSPACE ===
Names Default To Here( 1 );
Clear Log();
//Close All(Windows, No Save);
Close All( Data Tables, No Save );
Close All( Journals, No Save );
Clear Symbols();
Write( "Cleaning up workspace\!N\!N" );
//Generating Main Page to append to
New Window( "Team Tracker",
Outline Box( "Team Tracker",
H List Box(
V List Box(
sh1 = Border Box( Left( 100 ), Right( 100 ), Top( 75 ), Bottom( 75 ), sides( 15 ),
V List Box(
Button Box( "Shift 1",
New Window( "Shift 1 Journal", <<JOURNAL>= '01-01-2020'
and a.istask = 0
and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtops << set name( "Year To Date OPS Hours" );
//YTD PM Hours
dtpm = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('PM')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtpm << set name( "Year To Date PM Hours" );
//YTD CM Hours
dtcm = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('CM')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtcm << set name( "Year To Date CM Hours" );
//YTD PR Hours
dtpr = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('PR')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtpr << set name( "Year To Date PR Hours" );
//YTD Trainee Hours
dttrainee = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and c.craft in ('TRAINEE')
--and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dttrainee << set name( "Year to Date Trainee Hours" );
//YTD Trainer Hours
dttrainer = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and c.craft in ('TRAINER')
--and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dttrainer << set name( "Year to Date Trainer Hours" );
//Compiling all Hours into single table
dtcombined = Data Table( "Year to Date OPS Hours" ) << Concatenate(
Data Table( "Year to Date CM Hours" ),
Data Table( "Year to Date PM Hours" ),
Data Table( "Year to Date PR Hours" ),
Data Table( "Year to Date Trainer Hours" ),
Data Table( "Year to Date Trainee Hours" )
);
dtcombined << set name( "Total Hours for all WO's" );
dtcombined << New Column( "Technician Full Name",
Character,
"Continuous",
Format( "Best", 12 ),
Formula(
If(
:IDSID == "AHUTCHEN", "Angela Hutchens",
:IDSID == "CTSPEARM", "Colby Spearman",
:IDSID == "EBROWN", "Eric Brown",
:IDSID == "EGILLIS", "Eric Gillispie",
:IDSID == "GJGOWENS", "Gary Gowens",
:IDSID == "NFATHERE", "Andy Fatheree",
:IDSID == "NMCENTE", "Nico Mcentee",
:IDSID == "RJDELAH", "Ricardo De La Hoya",
:IDSID == "SPHILLI1", "Steven Phillips",
:IDSID == "SSKELDI", "Scott Skelding",
:IDSID == "TBUCZKOW", "Tyler 'Buck' Buczkowski",
:IDSID == "TRISTONE", "Triston Evans",
:IDSID == "TYLERELL", "Tyler Ellis",
:IDSID == "TSFRAKES", "Tyler Frakes "
)
),
Set Display Width( 88 )
);
//Creating Tech list
tech_list = (dtcombined << Tabulate( Show Control Panel( 0 ), Add Table( Row Table( Grouping Columns( :Technician Full Name ) ) ) ));
list = tech_list << Make Into Data Table;
list << set name( "Technicians" );
list << delete column( :N );
ntechnicians = N Rows( list );
techlist = list:Technician Full Name << get values;
//Creating Data Tables for each technician individually
For( itechnician = 1, itechnician <= ntechnicians, itechnician += 1,
technician_name = techlist[itechnician];
dtcombined << Select Where( :Technician Full Name == technician_name );
dtcombined << Subset( (Selected Rows( 1 )), selected columns( 0 ), output table name( technician_name || "_Full_Data" ) );
//Extracting hour types by Work Type
Data Table( technician_name || "_Full_Data" ) << New Column( "PM Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "PM", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "Trainer Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Assignment Craft == "TRAINER", :Actual Labor Hours, 0 ) ),
Set Display Width( 88 )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "Trainee Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Assignment Craft == "TRAINEE", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "PR Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "PR", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "CM Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "CM", :Actual Labor Hours, 0 ) ),
);
Data Table( technician_name || "_Full_Data" ) << New Column( "OPS Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "OPS", :Actual Labor Hours, 0 ) ),
Set Selected
);
//Tabulating to prepare data for graphing
Tech_Tabulate_Temp = Data Table( technician_name || "_Full_Data" ) << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Trainer Hours ) ),
Column Table( Analysis Columns( :Trainee Hours ) ),
Column Table( Analysis Columns( :PR Hours ) ),
Column Table( Analysis Columns( :CM Hours ) ),
Column Table( Analysis Columns( :PM Hours ) ),
Column Table( Analysis Columns( :OPS Hours ) )
)
);
Tech_Tabulate = Tech_Tabulate_Temp << Make Into Data Table;
Tech_Tabulate << set name( technician_name || "Tabulated" );
//Changing labels for the sake of clarity
Column( Tech_Tabulate, 1 ) << Set Name( "Trainer Hours" );
Column( Tech_Tabulate, 2 ) << Set Name( "Trainee Hours" );
Column( Tech_Tabulate, 3 ) << Set Name( "PR Hours" );
Column( Tech_Tabulate, 4 ) << Set Name( "CM Hours" );
Column( Tech_Tabulate, 5 ) << Set Name( "PM Hours" );
Column( Tech_Tabulate, 6 ) << Set Name( "OPS Hours" );
//Transposing for optimal graphing
Prepared_Tech_Data = Tech_Tabulate << Transpose(
columns(
:Name( "Trainer Hours" ),
:Name( "Trainee Hours" ),
:Name( "PR Hours" ),
:Name( "CM Hours" ),
:Name( "PM Hours" ),
:Name( "OPS Hours" )
)
);
ptd = Prepared_Tech_Data << set name( technician_name || "_Tabulated Transposed" );
Column( 2 ) << Set Name( "Hours" );
//Creating a button for each technician for the main page
tb = Button Box( technician_name,
nw = New Window( "Technician Tracking",
<<JOURNAL></JOURNAL></JOURNAL>誰か、助けてください!
ありがとうございました、
カイル
データ表グラフィックススクリプティングRe:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要コードを作り直しましたが、正しく置換されているようです。ジムボタンが押された場合、グラフビルダーはデータテーブルJim_Tabulated Transposedで実行され、Steveボタンが押された場合、Steve_TabulatedTransposedデータテーブルに対して実行されると想定しています。
// New Technician Tracker Script
//=== CLEAN UP WORKSPACE ===
Names Default To Here( 1 );
Clear Log();
//Close All(Windows, No Save);
Close All( Data Tables, No Save );
Close All( Journals, No Save );
Clear Symbols();
Write( "Cleaning up workspace\!N\!N" );
//Generating Main Page to append to
New Window( "Team Tracker",
Outline Box( "Team Tracker",
H List Box(
V List Box(
sh1 = Border Box( Left( 100 ), Right( 100 ), Top( 75 ), Bottom( 75 ), sides( 15 ),
V List Box(
Button Box( "Shift 1",
New Window( "Shift 1 Journal",
<<JOURNAL>= '01-01-2020'
and a.istask = 0
and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtops << set name( "Year To Date OPS Hours" );
//YTD PM Hours
dtpm = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('PM')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtpm << set name( "Year To Date PM Hours" );
//YTD CM Hours
dtcm = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('CM')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtcm << set name( "Year To Date CM Hours" );
//YTD PR Hours
dtpr = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and a.worktype = ('PR')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dtpr << set name( "Year To Date PR Hours" );
//YTD Trainee Hours
dttrainee = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and b.craft in ('Waste')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and c.craft in ('TRAINEE')
--and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dttrainee << set name( "Year to Date Trainee Hours" );
//YTD Trainer Hours
dttrainer = Open Database(
"DSN=SQL Database;Trusted_Connection=Yes;APP=JMP;WSID=KGORSAGE-MOBL1;",
"select distinct a.siteid as 'Site ID', a.assetnum as 'Asset Number', a.wonum as 'Work Order Number',
a.description as 'Work Order Description', a.status as 'WO Status',
a.worktype as 'Work Type', a.actfinish as 'Finish Date', a.actlabhrs as 'Actual Labor Hours',
b.craft as 'Lead Craft', b.laborcode as 'IDSID', b.regularhrs as 'Assigned Hours',
c.craft as 'Assignment Craft'
from MAXINTEL.hpm.hpm_workorder as a
left join (select refwo, siteid, laborcode, craft, regularhrs from MAXINTEL.hpm.hpm_labtrans)
as b on a.wonum = b.refwo and a.siteid = b.siteid
left join MAXINTEL.hpm.hpm_assignment as c on a.wonum = c.wonum
where a.status in ('COMP', 'close')
and a.reportdate >= '01-01-2020'
and a.istask = 0
and c.craft in ('TRAINER')
--and a.worktype = ('OPS')
and a.glaccount = ('54150')
and b.laborcode in ('AHUTCHEN','EBROWN','EGILLIS','CTSPEARM','GJGOWENS','NFATHERE', 'NMCENTE', 'RJDELAH','SPHILLI1','SSKELDI','TBUCZKOW', 'TRISTONE','TSFRAKES', 'TYLERELL')
Order by a.actfinish desc, b.laborcode"
);
dttrainer << set name( "Year to Date Trainer Hours" );
//Compiling all Hours into single table
dtcombined = Data Table( "Year to Date OPS Hours" ) << Concatenate(
Data Table( "Year to Date CM Hours" ),
Data Table( "Year to Date PM Hours" ),
Data Table( "Year to Date PR Hours" ),
Data Table( "Year to Date Trainer Hours" ),
Data Table( "Year to Date Trainee Hours" )
);
dtcombined << set name( "Total Hours for all WO's" );
dtcombined << New Column( "Technician Full Name",
Character,
"Continuous",
Format( "Best", 12 ),
Formula(
If(
:IDSID == "AHUTCHEN", "Angela Hutchens",
:IDSID == "CTSPEARM", "Colby Spearman",
:IDSID == "EBROWN", "Eric Brown",
:IDSID == "EGILLIS", "Eric Gillispie",
:IDSID == "GJGOWENS", "Gary Gowens",
:IDSID == "NFATHERE", "Andy Fatheree",
:IDSID == "NMCENTE", "Nico Mcentee",
:IDSID == "RJDELAH", "Ricardo De La Hoya",
:IDSID == "SPHILLI1", "Steven Phillips",
:IDSID == "SSKELDI", "Scott Skelding",
:IDSID == "TBUCZKOW", "Tyler 'Buck' Buczkowski",
:IDSID == "TRISTONE", "Triston Evans",
:IDSID == "TYLERELL", "Tyler Ellis",
:IDSID == "TSFRAKES", "Tyler Frakes "
)
),
Set Display Width( 88 )
);
//Creating Tech list
tech_list = (dtcombined << Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :Technician Full Name ) ) )
));
list = tech_list << Make Into Data Table;
list << set name( "Technicians" );
list << delete column( :N );
ntechnicians = N Rows( list );
techlist = list:Technician Full Name << get values;
//Creating Data Tables for each technician individually
For( itechnician = 1, itechnician <= ntechnicians, itechnician += 1,
technician_name = techlist[itechnician];
dtcombined << Select Where( :Technician Full Name == technician_name );
dtcombined << Subset( (Selected Rows( 1 )), selected columns( 0 ), output table name( technician_name || "_Full_Data" ) );
//Extracting hour types by Work Type
Data Table( technician_name || "_Full_Data" ) << New Column( "PM Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "PM", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "Trainer Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Assignment Craft == "TRAINER", :Actual Labor Hours, 0 ) ),
Set Display Width( 88 )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "Trainee Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Assignment Craft == "TRAINEE", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "PR Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "PR", :Actual Labor Hours, 0 ) )
);
Data Table( technician_name || "_Full_Data" ) << New Column( "CM Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "CM", :Actual Labor Hours, 0 ) ),
);
Data Table( technician_name || "_Full_Data" ) << New Column( "OPS Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( If( :Work Type == "OPS", :Actual Labor Hours, 0 ) ),
Set Selected
);
//Tabulating to prepare data for graphing
Tech_Tabulate_Temp = Data Table( technician_name || "_Full_Data" ) << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Trainer Hours ) ),
Column Table( Analysis Columns( :Trainee Hours ) ),
Column Table( Analysis Columns( :PR Hours ) ),
Column Table( Analysis Columns( :CM Hours ) ),
Column Table( Analysis Columns( :PM Hours ) ),
Column Table( Analysis Columns( :OPS Hours ) )
)
);
Tech_Tabulate = Tech_Tabulate_Temp << Make Into Data Table;
Tech_Tabulate << set name( technician_name || "Tabulated" );
//Changing labels for the sake of clarity
Column( Tech_Tabulate, 1 ) << Set Name( "Trainer Hours" );
Column( Tech_Tabulate, 2 ) << Set Name( "Trainee Hours" );
Column( Tech_Tabulate, 3 ) << Set Name( "PR Hours" );
Column( Tech_Tabulate, 4 ) << Set Name( "CM Hours" );
Column( Tech_Tabulate, 5 ) << Set Name( "PM Hours" );
Column( Tech_Tabulate, 6 ) << Set Name( "OPS Hours" );
//Transposing for optimal graphing
Prepared_Tech_Data = Tech_Tabulate << Transpose(
columns(
:Name( "Trainer Hours" ),
:Name( "Trainee Hours" ),
:Name( "PR Hours" ),
:Name( "CM Hours" ),
:Name( "PM Hours" ),
:Name( "OPS Hours" )
)
);
ptd = Prepared_Tech_Data << set name( technician_name || "_Tabulated Transposed" );
Column( 2 ) << Set Name( "Hours" );
//Creating a button for each technician for the main page
Eval(
Substitute(
Expr(
tb = Button Box( technician_name,
nw = New Window( "Technician Tracking",
<<JOURNAL></JOURNAL></JOURNAL>Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要この問題を解決する方法に関する他のアイデアはありますか? あなたはそれが最後のテーブルから引っ張るだけであるということについて正しいです。 スクリプトでは、最後の技術のテーブルも要求します。 ボタンの名前を、プルアップしているテーブルの名前と照合する方法はありますか?
ご協力ありがとうございました
Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要私がジャーナルを選んだ主な理由は、すべてのグラフを1つのきれいなプレゼンテーションで表示することでした。 このプロジェクトの目標は、トレーニングの進捗状況、作業時間、認定の進捗状況などの複数のグラフを作成することです。私が読んでいたことから、ジャーナルは最良の選択のように思えました。 もっと簡単な方法があれば、ぜひ別の方法でやります!
特定の技術ボタンを押したときにグラフが表示されるように、ボタンボックスにフィルター機能を追加できますか? また、レイアウトを少し変更して、情報の並べ替えを簡単にするためにタブボックスに表示されるようにしました。 私の考えでは、各グラフを、それが属するタブページボックスに追加できると思いました。

。
Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要すべての技術者からのすべてのデータが1つのテーブルにある場合は、グラフビルダーの図を作成し、ローカルデータフィルターを追加して、技術者の各レベルのグラフの内容を変更できます。
ジャーナルは、このように扱うのはちょっと面倒です。 この表示方法を選択する特定の理由はありますか?
Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要それがどのようになるかわかりません。
私が言ったように、私は先週の月曜日に学び始めました、そしてここで外出先で学ぼうとしています。
!Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要ですお返事ありがとうございます!
このリビジョンでは問題が修正されていないようで、データテーブルをアクセスまたは評価で見つけることができず、グラフの引数が無効であると記載されています。 これを支援するために必要なデータがわかりません。 すべてのデータテーブルをコピーしてここに貼り付けることができますか? 少なくとも、表形式の転置テーブルは次のとおりです。
New Table( "Tyler Frakes_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Tyler FrakesTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Tyler FrakesTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[16.6666666666667, 67, 28.3666666666667, 277.383333333333,
340.533333333333, 823.533333333333]
)
),
Set Label Columns( :Label )
)New Table( "Tyler Ellis_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Tyler EllisTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Tyler EllisTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [90, 82, 326.45, 419.966666666667, 315.65, 650.816666666667] )
),
Set Label Columns( :Label )
)New Table( "Tyler 'Buck' Buczkowski_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Tyler 'Buck' BuczkowskiTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Tyler 'Buck' BuczkowskiTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0, 67, 17.5, 233.05, 223.883333333333, 736.566666666667] )
),
Set Label Columns( :Label )
)New Table( "Steven Phillips_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Steven PhillipsTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Steven PhillipsTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[27.5, 117, 93.9166666666667, 187.266666666667, 312.2, 632.333333333333]
)
),
Set Label Columns( :Label )
)New Table( "Triston Evans_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Triston EvansTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Triston EvansTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [6.5, 125, 658.533333333333, 259.233333333333, 281.7, 773.25] )
),
Set Label Columns( :Label )
)New Table( "Scott Skelding_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Scott SkeldingTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Scott SkeldingTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[82.5, 21.2666666666667, 67.4166666666667, 185.4, 113.25,
608.933333333333]
)
),
Set Label Columns( :Label )
)New Table( "Ricardo De La Hoya_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Ricardo De La HoyaTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Ricardo De La HoyaTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [25.5, 60.5, 7.25, 44.3333333333333, 96.5, 73] )
),
Set Label Columns( :Label )
)New Table( "Nico Mcentee_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Nico McenteeTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Nico McenteeTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [17, 76, 86.9666666666667, 211.45, 210, 634.016666666667] )
),
Set Label Columns( :Label )
)New Table( "Gary Gowens_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Gary GowensTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Gary GowensTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[16.5, 88.1666666666667, 58.5, 419.05, 236.083333333333,
663.966666666667]
)
),
Set Label Columns( :Label )
)New Table( "Eric Gillispie_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Eric GillispieTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Eric GillispieTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [10, 76.2, 229.25, 180.866666666667, 316, 635.266666666667] )
),
Set Label Columns( :Label )
)New Table( "Eric Brown_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Eric BrownTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Eric BrownTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[29.3333333333333, 57, 20.7166666666667, 88.8166666666667,
148.966666666667, 723.516666666667]
)
),
Set Label Columns( :Label )
)New Table( "Colby Spearman_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Colby SpearmanTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Colby SpearmanTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0, 24.3333333333333, 2.5, 54.5, 0, 116.8] )
),
Set Label Columns( :Label )
)New Table( "Angela Hutchens_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Angela HutchensTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Angela HutchensTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [69.5, 0, 0, 3, 6, 11] )
),
Set Label Columns( :Label )
)New Table( "Andy Fatheree_Tabulated Transposed",
Add Rows( 6 ),
New Script(
"Source",
Data Table( "Andy FathereeTabulated" ) <<
Transpose(
columns(
:Trainer Hours,
:Trainee Hours,
:PR Hours,
:CM Hours,
:PM Hours,
:OPS Hours
),
Output Table( "Transpose of Andy FathereeTabulated" )
)
),
New Column( "Label",
Character( 13 ),
"Nominal",
Set Values(
{"Trainer Hours", "Trainee Hours", "PR Hours", "CM Hours", "PM Hours",
"OPS Hours"}
)
),
New Column( "Hours",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [31.5, 23.9, 278.75, 109.2, 114.85, 793.516666666667] )
),
Set Label Columns( :Label )
)Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要問題は、Graph Builderプラットフォームが、最後の技術者用に作成された最後のテーブルに対して常に実行されていることだと思います。
私の知る限り、技術者ごとに個別のデータテーブルがあり、その特定のデータテーブルを指すグラフビルダーが必要です。
次のコードに変更すると、必要なものが得られると思います。注意として、実際のデータが投稿されていないため、これをテストできませんでした
tb = Button Box( technician_name,
nw = New Window( "Technician Tracking",
<<JOURNAL></JOURNAL>
Re:forループとボタンボックスを介したジャーナルの割り当てについてサポートが必要ローカルデータフィルターを使用してグラフを作成することは機能しますか?
そうすれば、グラフとデータ間のすべての動的リンクを取得できます。