1 Table of Contents
1. TableofContents 1-2
2. AboutJet 3
3. InstallationandConfiguration 4
3.1. QuickInstallationGuide 4
3.2. Prerequisites 4
3.3. InstallingJet 4-5
3.4. ConfiguringJet 5
3.4.1. ApplicationSettings 5
3.4.2. DataSourceSettings 6
3.4.2.1. ConfiguringaDynamicsNAVDataSource 6-7
3.4.3. AdvancedDynamicNAVConfiguration 7
3.4.3.1. SerenicNavigatorUserAccessRules 7-8
3.4.4. JetwithCitrix 8
4. JetUserInterface 9
4.1. ReportModes 9
4.2. GeneralLedger 9
4.3. JetFunctionWizard(Jfx) 9
4.4. TableBuilder 9
4.5. Drilldown 9
4.5.1. GridDrilldown 9-10
4.6. Debug 10
5. Reference 11
5.1. NLFunction 11-12
5.1.1. FilteringData 12
5.1.1.1. BlankFilters 12
5.1.1.2. SpecialCharactersinaFilter 12
5.1.1.3. SpecifyingMoreThanTenFiltersintheNLFunction 13
5.1.1.4. LimitingtheNumberofRecordsinaQuery 13
5.1.1.5. DynamicsNAVSpecificFiltering 13
5.1.2. RetrievingSpecialFieldswithNL(Table) 13-15
Jet Express 1
©2011 Jet Reports, Inc.. All Rights Reserved.
5.1.3. Sorting 15
5.2. GLFunction 15
5.2.1. DynamicsNAVGLFunction 15-16
5.3. Filtering 16-17
5.4. KeyboardShortcuts 17
5.5. AutomaticReportFormatting 17
5.6. DistributingReports 17
5.6.1. ReportViewers 17-18
5.6.2. LockedWorksheets 18
5.6.3. ViewerEditableWorksheets 18
5.6.4. ReportOptions 18
6. Index 19-21
Jet Express 2
©2011 Jet Reports, Inc.. All Rights Reserved.
2 About Jet
WhatisJet?
JetisaMicrosoftExceladd-inthatintegratesExcelwithyourdatabasesothatyoucancreatereportswithsimpleworksheetfunctions.Thefunctionsreaddirectlyfromyourdatabasesothatinsteadofcopyingandpasting,youcanrefreshthedatarightinExcel.MoreinformationabouttheJetfunctionscanbefoundintheReferencesection.
PrerequisiteKnowledge
TouseJetyoushouldhaveexperiencewithMicrosoftExcel,includingcellreferencingandworksheetfunctions.Youshouldalsohaveabasicunderstandingofyourdatabasestructure.
{Discard}
Jet Express 3
©2011 Jet Reports, Inc.. All Rights Reserved.
3 Installation and Configuration
3.1 Quick Installation Guide
IMPORTANT:Ensurethatyouhaveadministrativeprivilegespriortoinstallation.
1. RuntheJetExpressinstallationfile.2. TheJetExpressadd-inwillbeautomaticallyactivatedinExcelforthecurrentuseruponcompletionofthe
installation.SeethesectiononActivatingJetExpress('InstallingJet'intheon-linedocumentation)toactivatetheadd-inforadditionalusers.
3. SeeadditionalPrerequisites(Section3.2)foryourdatabasetype.4. ConfigureaconnectiontoyourdatabaseintheDataSourceSettings(Section3.4.2).
3.2 Prerequisites
AllUsers
SupportedOperatingSystems
MicrosoftWindowsXPMicrosoftWindowsServer2003MicrosoftWindowsVistaMicrosoftWindowsServer2008MicrosoftWindows7
SupportedversionsofMicrosoftOffice
MicrosoftOffice2007MicrosoftOffice2010(32-bitand64-bit)
SupportedDatabases
MicrosoftDynamicsNAV6.0(executables)orlater
DynamicsNAVUsers
BeforeyoucanuseJetExpresswithDynamicsNAV,youmusthavethefollowingadditionalsoftwareinstalled:
TheDynamicsNAVClassicClientwithexecutableversion6.0orlater.
TheDynamicsNAVClassicClientmustbepresent,evenforDynamicsNAV2009RTCusers.
ItmayalsobenecessarytoinstallthematchingversionofC/FRONT,whichisincludedintheDynamicsNAVSDK.Thisisnotnecessaryinmostcases,asJetincludestherequiredversionofC/FRONTforallmajorversionsandservicepacksofDynamicsNAV.
ADynamicsNAVLicensefilethatpermitsC/FRONTmustbesavedasFIN.FLFintheDynamicsNAVclientprogramfolderofeachworkstationthatwillrunJet.
DynamicsNAVSecurity
TouseJet,ausermusthavearoleinDynamicsNAVwithnocompanyrestrictionsdefinedthatallowsthemtoreadtheCompanyTableObjectandTableData.Theymustalsohavereadpermissionstoalltablesonwhichtheywillbereporting.
DynamicsNAVSecurityFiltersarenotautomaticallyappliedbyC/FRONT,butanyattempttoreaddataoutsidetheconstraintsofaSecurityFilterwillfailwithanerrormessage.
Jet Express 4
©2011 Jet Reports, Inc.. All Rights Reserved.
3.3 Installing JetIfyouareusingWindowsVistaorlater,youmustright-clickonthesetupexecutableand"RunasAdministrator".Thismustbedoneevenifyouareloggedinasanadministratorinorderfortheinstallationtorunwithelevatedprivileges.
YoucanupgradeJetwithoutuninstallingpreviousversions.
ActivatingJetExpress
TheJetExpressadd-inmustbeactivatedinExcelforeachuserwhointendstouseit.ThesimplestwaytoactivateistoselecttheActivateoptionfromtheJetExpressProgrammenu.Activationcanalsobedonemanuallybyfollowingthesesteps:
1. OpentheExcelAdd-InsWindow.2. ClicktheBrowsebuttonandbrowsetothe"JetReports"programfolder.3. SelectJetReports.xlam.4. ClickYestooverwritethefileifprompted,thenclickOK.
Uponsuccessfulactivation,theJetReportsribbonwillbecomevisibleinExcel.
3.4 Configuring Jet
3.4.1 Application SettingsTheApplicationSettingsareuserpreferencesandotherapplication-widesettingsthataffectthebehaviorofJet.
Language
TheJetuserinterfacelanguage.
General
LookupSampleValueLimit
Themaximumnumberofsamplevaluesthatwillberetrievedwhenperformingalookup.
LookupRecordScanLimit
Themaximumnumberofrecordsthatwillbescannedinordertoretrievesamplevalueswhenperformingalookup.
AutoDebugReportErrors
DetermineswhetherJetautomaticallyscansthereportfor#VALUE!errorsafterrunningreportsanddisplayadiagnosticmessage.
Advanced
ShowCompatibilityModeWarning
DetermineswhetherJetwilldisplayawarningmessageabouttheissuesassociatedwithrunningExcelincompatibilitymode.
ShowLanguageModuleWarning
DetermineswhetherJetwilldisplayawarningwhenyouhaveselectedalanguageforaDynamicsNAVdatasourceforwhichacorrespondinglanguagemodulehasnotbeenexported.
EnableJetlogging
Determineswhetheroperationswillbeloggedtoafileinthespecifieddirectory.
Jet Express 5
©2011 Jet Reports, Inc.. All Rights Reserved.
3.4.2 Data Source SettingsTheDataSourceSettingsareusedtodefineyourdatabaseconnection.
Oncetheinformationnecessarytoestablishaconnectionhasbeenpopulated,youcanverifyconnectivitybyclickingtheTestConnectionbutton.
3.4.2.1 Configuring a Dynamics NAV Data Source
General
NavisionClientFolder
SpecifiesthefolderthatcontainstheDynamicsNAVclient,fin.exeorfinsql.exe.TheDynamicsNAVlicensefileshouldalsobelocatedinthisfolderandbenamed"fin.flf".
LanguageModuleFolder
SpecifiesthefolderthatcontainsyourDynamicsNAVlanguagemodules.
Jetcanusetables,fields,andoptionvaluesinyourlanguageifyouexportthelanguagemodulefromDynamicsNAVandspecifythedirectorythatcontainsit.Thelanguagemoduleshouldhavethesamenameasthethreeletterlanguagecodeandan".flm"extension(e.g.aDanishlanguagemodulewouldbenamed“DAN.flm”).
Inordertoexportalanguagemodule,youmusthaveObjectDesignerprivilegesinDynamicsNAV.
Language
SpecifiesthelanguageinwhichJetwilldisplaydatabasecaptionsincludingtables,fields,andoptionvalues.
Authentication
DetermineswhethertouseWindowsorDatabaseServerAuthentication.
IfyourdatabaseusesDatabaseServerAuthentication,youcanenteraUserIDandPassword.Ifyouleaveeitherofthesefieldsblank,youwillbepromptedfordatabaselogincredentialswhenyouattempttoconnect.
Connection
ServerType
Specifieswhetheryouareconnectingtoalocaldatabasefile,aDynamicsNAVdatabaseserver,oraMicrosoftSQLServer.
Server
Specifiesthenameoftheserverhostingthedatabase.
Database
IfyouareusingaMicrosoftSQLServer,typethenameofthedatabasehere.
Ifyouareusingalocaldatabasefiletype,clicktheBrowsebuttonandbrowsetotheDynamicsNAVdatabasefileyouwanttouse.
NetType
Specifiestheappropriatenetworkprotocol.
Company
Jet Express 6
©2011 Jet Reports, Inc.. All Rights Reserved.
SpecifiesthecompanythatJetwillusebydefault.
Display
ThedisplaypropertiesdeterminehowtablesandfieldsaredisplayedintheJetuserinterfacecomponents.
DisplayEmptyTables
Determineswhethertodisplaytableswithnorecords.
DisplayRecordCount
Determineswhethertodisplaythenumberofrecordsineachtable.
Tableandfielddropformat
SpecifiestheformatoftableandfieldidentifierswhentheyareautomaticallywrittentoJetformulas.
Advanced
KeySearchAlgorithm
Specifiesthealgorithmusedtoselectthebestkeywhenqueryingthedatabase.
C/FrontFolder
Ifspecified,overridesthedefaultdirectoryinwhichJetsearchesfortheC/Frontlibraries.
3.4.3 Advanced Dynamic NAV Configuration
3.4.3.1 Serenic Navigator User Access RulesJethastheabilitytoapplySerenicNavigator'sUserAccessRulestoallqueriesthatarerunbyausertowhichoneormorerulesapply.ThisfeaturecanbeenabledbyimportingtheNavigatortoJetBusObjectstableintotheNavigatordatabase.
ConfiguringBusinessObjects
ForeachBusinessObject,thereisasetoffieldmappingsinthe“NavigatortoJetBusObjects”table.ThesefieldmappingsdeterminetowhichfieldinwhichtablestheUserAccessRuleswillbeappliedforagivenBusinessObject.ThesefieldmappingswillhavetobeimportedintoNavigatoreitherbyhandorusingaDataport.
The"NavigatortoJetBusObjects"tablehasthefollowing5fields:
FieldNo.
FieldName
DataType
Description
1 TableNo. Integer ThenumberofthetabletowhichtheBusinessObjectcorresponds.
2 FieldNo. Integer ThenumberofthefieldtowhichtheBusinessObjectcorresponds.
3 BusinessObject
Code TheBusinessObjectID.Thiswilleitherbeacode,i.e.GLACCOUNT,orthedimensionnumber.
4 ObjectType
Option ThetypeofBusinessObjectdefinedinthe"BusinessObject"field.Thiscaneitherbecodeordimension.
5 FieldCaption
Text Thecaptionofthefieldasdefinedinthe"FieldNo."field.ThisfieldisforconvenienceonlyandisnotusedbyJet.
ThefollowingareexamplesofrowsthatdefinesomeBusinessObjectmappingsbacktotheG/LAccounttable:
Table Field Business Object Field
Jet Express 7
©2011 Jet Reports, Inc.. All Rights Reserved.
No. No. Object Type Caption
15 1 GLACCOUNT code No.
15 29 1 dimension GlobalDimension1Filter
Therowsabovedefinetwofieldmappingsbacktotable15("G/LAccount")inthedatabase.ThefirstrowindicatesthatUserAccessRulesforthe“GLACCOUNT”BusinessObjectwillbeappliedtothe“No.”fieldinthe“G/LAccount”table.Notethattheobjecttypeis"code",andthebusinessobject(GLACCOUNT)mapsdirectlytothenameofanexistingBusinessObject.
Thesecondrowintheexamplehasanobjecttypeof"dimension".Thismeansthatthevalueinthe"BusinessObject"fieldshouldcorrespondtoadimensionnumber,inthiscasedimension"1".ThisrowindicatesthatUserAccessRulesfordimension1,or"PROGRAM"intheNavigatorsampledatabase,willbeappliedtothe"GlobalDimension1Filter"fieldinthe"G/LAccount"table.
IfaBusinessObjectdoesnotmapdirectlytoafieldonatable,rulesforthatBusinessObjectcannotbeapplied.Thisisbecausethefieldmappingsforsuchbusinessobjectscannotbedefinedusingthetablestructureasdescribedabove.ThisisnotacommonoccurrencewithinthestandardsetofBusinessObjects.
3.4.4 Jet with Citrix
IMPORTANT:JetisnotsupportedinCitrixenvironmentsiftheentiredesktopisnotpublished.
InordertouseJetwithCitrix,thefollowingguidelinesapply:
Theentiredesktopmustbepublished.Jet,Excel,andtheclientdatabasecomponentsmustallbeinstalledontheCitrixdesktop.IfyouareaDynamicsNAVuser,theDynamicsNAVClassicClientmustbeinstalledontheCitrixDesktop.IfyouareusinganOLEconnector,theOLEdriverforyourparticulardatabasemustbeinstalledontheCitrixDesktop.IfyouareusingODBC,aWindowsODBCDataSourcemustbeconfiguredontheCitrixDesktop.TheJetadd-inmustbeactivatedinExcelforeachCitrixuserwhointendstouseit.SeeActivatingJetReports(Section3.3)formoreinformation.
Jet Express 8
©2011 Jet Reports, Inc.. All Rights Reserved.
4 Jet User Interface
4.1 Report Modes
Design
Designmodeisusedtocreatereports.InDesignmode,Jetfunctionresultsareoptimizedforspeedandarenotguaranteedtobringbackcorrectresults.
Refresh
Refreshrunsthereport,refreshingallthedatadirectlyfromthedatabase.
4.2 General LedgerOpenstheJfx(Section4.3)populatedwithanemptyGLfunction.
4.3 Jet Function Wizard (Jfx)ProvidesanintuitivewayforuserstoinsertJetfunctionsintoaworksheet.
4.4 Table BuilderTheTableBuildercreatesanExceltablefrommultipledatabasetableswhichcanbeusedasthebasisforpivottablesandcharts.
TheTableBuildercanonlybeusedwithDynamicsNAVdatasources.
4.5 Drilldown
Toperformadrilldown,clickthe DrilldownbuttonthatappearsinacellcontainingaJetformulaorselectthecellandselectDrilldown.
4.5.1 Grid DrilldownThegriddrilldowndisplaysdrilldowndatainagridthatallowsyoutogroup,filter,andsortyourdata.
DrilldownView
WithGridDrilldown,drilldownresultscanbepersonalized.Byright-clickingacolumnheader,ausercanchoosewhichfieldsaredisplayedinthedrilldownform.Additionally,columnscanbereorderedbydraggingacolumnheadertothedesiredposition.
Whenthedrilldownformisclosedthefieldsthatarecurrentlyvisibleandthefieldorderarestoredasthedrilldownviewforthetable.Thenexttimetheuserdrillsdownonthetable,onlythefieldsthatwerepreviouslyvisiblewillbedisplayedinthesameorder.
AnalyzingDataintheGridDrilldown
Whenthedrilldownformopensnotalloftherecordswillbeloaded.Whilerecordsarebeingloadedaprogressindicatorwillappearinthelowerleftcorneroftheform.Whenrecordsarefinishedloadingthetotalnumberofrecordsretrievedwillbedisplayed.Grouping,filtering,andsortingcanallbedonewhilerecordsarestillloading.
Jet Express 9
©2011 Jet Reports, Inc.. All Rights Reserved.
DynamicsNAVandGridDrilldown
FlowFieldvaluesarenotinitiallyloadedintheGridDrilldown.ToloadthevaluesforaFlowFieldclicktherefreshbuttoninitscolumnheader.FlowFieldvaluescannotbeloadeduntilallofthedrilldownrecordshavebeenretrieved.
4.6 DebugDebughelpsdiagnosesproblemswithJetfunctions.WhenaJetfunctionresultsinanerror,#VALUE!willappearintheworksheetcellcontainingthefunction.Todebugthefunction,selectthecellcontainingtheerrorandchooseDebug.Amessagethathelpsexplaintheproblemwillbedisplayed.
Jet Express 10
©2011 Jet Reports, Inc.. All Rights Reserved.
5 Reference
5.1 NL Function=NL(What, Table, Field, FilterField1, Filter1,..., FilterField10, Filter10)
Purpose:Returnsfieldsorrecordkeysfromatablebasedonfilters.
Parameter Description
What Determineswhatisreturned.
Argument Description
"Link" ReturnsastringvaluethatcanbeusedasafilterinanotherNLfunction.
"Table" CreatesanExceltableobjectbasedonthefieldvaluesreturned.LeavingtheFieldargumentblankreturnsallfields.UseaFieldCachetoreturnmultiplefields.
"LinkField" ReturnsastringusedtoretrieveafieldfromalinktableinanNL(Table)function.
"LinkSum" ReturnsastringusedtoretrieveasumofafieldfromalinktableinanNL(Table)function.
"FlowField" ReturnsastringusedtoretrieveaFlowFieldfromtheprimarytableinanNL(Table)function.FlowFiltersinthisfunctionareonlyappliedtothespecifiedFlowFieldandnottheparentquery.
Table Thename,number,orcaptionofthetable.
Field Thename,number,orcaptionofthefieldtoreturn.ForDynamicsNAVusers,thiscanalsobeanAdvancedDimension.
ToreturnaFieldCache,specifyanarrayoffields.
AFieldCachecanbeusedwithNL(Table)whenyouonlywanttoseesomeofthefieldsfromthetableratherthanallofthem.AnNLfunctionwithaFieldCachewillreturnonlytheuniquecombinationsofthevaluesofthefieldsintheFieldCache.
FilterField1 Thenameofthefirstfieldbywhichtofilter.ForDynamicsNAVusers,thiscanalsobeanAdvancedDimension.ThefollowingspecialvaluesareallowedasFilterFieldarguments.
FilterField Description
"Company="or0 OverridesthedefaultcompanywiththeonespecifiedbytheFilterargument.
"InclusiveLink=" LinkstheprimarytabletotheonespecifiedbytheFilterargumentforthepurposeofretrievingdata.FormoreinformationseeRetrievingSpecialFieldswithNL(Table)(Section5.1.2).
"Limit=" LimitsthenumberofrecordsorvaluesreturnedtothenumberspecifiedbytheFilterargument.FormoreinformationseeLimitingtheNumberofRecordsinaQuery(Section5.1.1.4).
"Filters=" SpecifiesasetoffiltersforthequerywithanarrayoffiltersspecifiedbytheFilterargument.FormoreinformationseeSpecifyingMoreThanTenFiltersintheNLFunction(Section5.1.1.3).
"Headers=" OverridesfieldheaderswiththearrayofheadersspecifiedbytheFilterargument.ForusewithanNL(Table)function.
Jet Express 11
©2011 Jet Reports, Inc.. All Rights Reserved.
"HideTotals=" WhenthevalueoftheFilterargumentisTRUE,hidesthetotalsrowcreatedbyNL(Table).
"TableName=" SpecifiesthenametousefortheExceltableobjectcreatedbyNL(Table)withthenameintheFilterparameter.UsethistorefertothetablebynamefromaPivottable.
Filter1 ThevalueofthefiltertoapplytoFilterField1.
FilterFieldN SameasFilterField1.Upto10fieldandfilterpairscanbespecified.Ifyouspecifymultiplefilters,theyarecombinedwithalogicalAND.
FilterN SameasFilter1,butappliestoFilterFieldN.
5.1.1 Filtering Data
5.1.1.1 Blank FiltersSometimesyouwanttofilteranNL(Section5.1)functionbasedonanothervaluewhichcouldbeblank.TheNLfunctiondoesnotallowyoutospecifyblankfilters,andyouwillgeta#VALUEerrormessageifyoufillinaFilterField('NLFunction'intheon-linedocumentation)argumentandleavethecorrespondingFilter('NLFunction'intheon-linedocumentation)argumentblank.
SupposethevalueincellC4comesfromanotherJetfunctionandmaysometimesbeblank.Inthiscase,youcanusetwosinglequotes(')aroundthefiltervalue.Youcouldusethefollowingformula.
=NL("First","Item","Description","Item Number","'"&C4&"'")
Althoughthisformulaisalittlehardtoread,itisputtingasinglequotecharacter(')oneithersideoftheC4reference.IfC4containsthevalueItem1,theresultingfilterwillbeItem1.IfC4isblank,theresultistwosinglequotes,whichisavalidfilterforblankfields.
Aneasiertoreadvariationonthefilterforblanksis"@@"infrontofthevalueinC4.Thefunctionbecomesthefollowing.
=NL("First","Item","Description","Item Number","@@"&C4)
5.1.1.2 Special Characters in a FilterCharacterssuchas|><=.()&@areconsideredspecialcharactersbyJet.Ifyouneedtoincludeanyofthesecharactersaspartofafilter('NLFunction'intheon-linedocumentation)value,thenyouneedtoprecedethefilterwith@@.The"@@"willpassthefilterinasaliteralstringandbeevaluatedproperly.
Forexample,ifyouneedtofilterbyacustomernamed"John(Houston)"youwillneedtoplacethe"@@"infrontof"John(Houston)".Theresultingformulawouldlooklikethefollowing.
=NL("Rows","Sales Invoice","No.","Customer","@@John(Houston)")
IfthenameJohn(Houston)islocatedinanadjacentcell,thisistheequivalentformulausingacellreference:
=NL("Rows","Sales Invoice","No.","Customer","@@"&C3)
Ifyouneedtocombineseveralfiltervaluestogetherthatallincludespecialcharacters,youneedtoencloseeachfilteriteminsinglequotes(').
Forexample,supposeyouneedtofilterbycustomersnamedeither"JohnA.M."or"Ben&Jerrys".YouneedtousethelogicalOR(|),soyoucannotusethe@@sinceitaffectstheentirefilter.Thefollowingformulashowsthepropermethodofconstructingthefilter.
=NL("Rows","Sales Invoice","No.","Customer","'John A.M.'|'Ben & Jerrys'")
Again,thesenamescouldbecomingfromcellreferences,sotheequivalentformulawithcellreferencesisbelow.
=NL("Rows","Sales Invoice","No.","Customer","'"&C3&"'|'"&C4&"'")
Jet Express 12
©2011 Jet Reports, Inc.. All Rights Reserved.
5.1.1.3 Specifying More Than Ten Filters in the NL FunctionFilters=allowsyouusearangetospecifyfiltersinNL(Section5.1)formulas.Thisallowsyoutousemorethan10FilterField('NLFunction'intheon-linedocumentation)/Filter('NLFunction'intheon-linedocumentation)pairs,makesreportdesignmoreobvious,andmakesiteasiertoaddfilterstoareportlater.
Tousethisfeature,specifyFilterFieldsinacolumninExcelandthecorrespondingfiltervaluesintheadjacentcolumntotheright.ThenspecifythecellarraycontainingboththeFilterFieldsandfiltersintheFilterparameterfollowingFilters=likethefollowing:
=NL("Rows","Sales Invoice Header",,"Filters=",$B$2:$C$4)
5.1.1.4 Limiting the Number of Records in a QueryYoucanplacealimitonthenumberofrecordsthatNL(Section5.1)willreturnbyenteringLimit=inoneoftheFilterField('NLFunction'intheon-linedocumentation)parametersandenteringamaximumnumberinthecorrespondingFilter('NLFunction'intheon-linedocumentation)parameter.
ThefollowingexampleprintstheCustomerNameswiththetenlargestsales.
=NL("Rows","Customer","Name","-Sales ($)","*","Limit=",10)
5.1.1.5 Dynamics NAV Specific Filtering
ExcludingClosingDatesintheNLFunction
YoucanexcludeclosingdatesfromyourNL(Section5.1)querywhenyouareusingdatefiltersbyputting<>C&infrontofyourdatefilter,whichwillthennolongerincludetheclosingdates.Theexamplebelowusesadatabasewhichhasclosingdatesof12/31/99,12/31/00,and12/31/01.
=NL("Sum","G/L Entry","Amount","Posting Date","<>C&01/01/99..01/01/02")
Thiswill,ineffect,createthefilter:"01/01/99..01/01/02&<>C12/31/99&<>C12/31/00&<>C12/31/01".
WildcardFilters
The*and?arewildcardfilters.WildcardfilterscannotbeusedaspartofarangefilterintheDynamicsNAVconnector.Thismeansthatfilters,suchas"A*..C*"arenotvalid.Likewise,"<>A?..B?"isnotvalid.IfyouwanttocreateafilterincludingeverythingstartingwithAthroughC,thefilterwouldsimplybe"A..CZ".
IfyouwanttocreateafilterthatwillexcludeeverythingstartingwithAthroughC,youneedtothinkofthefilterasincludingeverythingexceptthethingsstartingwithAthroughC.Whenyouthinkofthefilterasincludingvalues,thenD..isthefilteryouwoulduse.Notethat"<>A*&<>B*&<>C*"wouldalsoworksincenorangesareinvolved.
5.1.2 Retrieving Special Fields with NL(Table)
RetrievingFieldValuesfromLinkedTables
Thesyntaxforretrievingfieldvaluesfromlinkedtableslookslikethefollowing:
=NL("Table","Table1",{"Table1Field","LinkField([Table2],[Table2Field2])"},"InclusiveLink=","Table2","Table2Field1","=Table1Field")
ThisfunctionwouldretrieveallvaluesofTable1FieldfromTable1andthefirstvalueofTable2Field2fromTable2foreachrecordofTable1wherethevalueofTable2Field1matchedthevalueofTable1FieldandblankwherenomatchingrecordonTable2wasfound.
TheNL(LinkField)Function
Jet Express 13
©2011 Jet Reports, Inc.. All Rights Reserved.
Inordertomakeitsimplertoretrievefieldsfromlinkedtables,theNL(LinkField)functionhasbeenintroduced.ThesyntaxofNL(LinkField)lookslikethefollowing:
=NL("LinkField","Table2","Table2Field")
ThisfunctioncouldthenbereferencedintheFieldparameteroftheNL(Table)function,ratherthantypingintheLinkField()formulabyhand.
RetrievingFieldSumsfromLinkedTables
Thesyntaxforretrievingfieldsumsfromlinkedtableslookslikethefollowing:
=NL("Table","Table1",{"Table1Field","LinkSum([Table2],[Table2Field2],[Table2Field3],[A*])"},"InclusiveLink=","Table2","Table2Field1","=Table1Field")
ThisfunctionwouldretrieveallvaluesofTable1FieldfromTable1andthesumofthevaluesofTable2Field2foreachrecordofTable1wherethevalueofTable2Field1matchedthevalueofTable1FieldandwherethevalueofTable2Field3startedwithAand0wherenomatchingrecordsonTable2werefound.
TheNL(LinkSum)Function
Inordertomakeitsimplertoretrievesumsfromlinkedtables,theNL(LinkSum)functionhasbeenintroduced.ThesyntaxofNL(LinkSum)lookslikethefollowing:
=NL("LinkSum","Table2","Table2Field2","Table2Field3","A*")
ThisfunctioncouldthenbereferencedintheFieldparameteroftheNL(Table)function,ratherthantypingintheLinkSum()formulabyhand.
RetrievingaFlowFieldwithFlowFilters
TheFlowFieldsyntax,usedintheFieldargumentoftheNL(Table)function,allowsfortheretrievalofaFlowFieldwithaspecificsetofFlowFiltersappliedtoonlythatfield:
=NL("Table","Customer",{"Name","FlowField([Sales],[Date Filter],[1/1/10..12/31/10])"})
ThefirstargumentistheFlowFieldtoretrieve,followedbyanynumberofFlowFilterField/FlowFilterpairs.
AnyFlowFiltersthatareappliedtotheoverallquery,i.e.theNL(Table)function,willalsobeappliedtofieldsthatarespecifiedusingtheFlowFieldsyntax.
TheNL(FlowField)Function
InordertomakeitsimplertoretrievetheseFlowFields,theNL(FlowField)functionhasbeenintroduced.ThesyntaxofNL(FlowField)isasfollows:
=NL("FlowField","Customer","Sales","Date Filter","1/1/10..12/31/10")
ThisfunctioncouldthenbereferencedintheFieldparameteroftheNL(Table)function,ratherthantypingintheFlowField()formulabyhand.
RetrievingSpecialFieldsfromNestedLinks
Fieldvaluesandsumscanberetreivedfromnestedlinkedtableslikethefollowing:
=NL("Table","Cust. Ledger Entry",{"Entry No.","LinkField([Customer Posting Group],[Code])"},"InclusiveLink=","Customer","No.","=Customer No.","InclusiveLink=","Customer PostingGroup","Code","=Customer Posting Group")
ThisfunctionwouldretrieveallvaluesoftheEntryNo.fieldfromtheCust.LedgerEntrytableandtheCodefieldfromtheCustomerPostingGrouptablewhichislinkedviatheCustomertable.
RetrievingSpecialFieldsfromMultipleTables
Fieldvaluesandsumscanalsoberetreivedfrommultipletableslinkedfromtheprimarytablelikethefollowing:
=NL("Table","Customer",{"No.","LinkField([Customer Posting Group],[Code])","LinkSum([Cust. Ledger
Jet Express 14
©2011 Jet Reports, Inc.. All Rights Reserved.
Entry],[Amount])"},"InclusiveLink=","Cust. Ledger Entry","CustomerNo.","=No.","InclusiveLink=Customer","Customer Posting Group","Code","=Customer Posting Group")
ThisfunctionwouldretrieveallvaluesoftheNo.fieldfromtheCustomertable,thevaluesoftheCodefieldfromtheCustomerPostingGrouptable,andthesumofthevaluesoftheAmountfieldfromtheCust.LedgerEntrytable.NotethatboththeCustomerPostingGrouptableandtheCust.LedgerEntrytablesarelinkedfromtheCustomertable.
5.1.3 SortingBydefault,resultsreturnedbyJetfunctionsaresortedinascendingorderbasedonthevaluesreturned;however,youcanoverridethedefaultsortingandsortbasedonthevaluesofanyfieldinthetablefromwhichyouarereturningdata.
Tosortdatainascendingorder,puta"+"followedbythefieldnameintheFilterField('NLFunction'intheon-linedocumentation)parameter.
Tosortindescendingorder,puta"-"followedbythefieldname.
TheFilter('NLFunction'intheon-linedocumentation)argumentoftheFilterFieldisalsorequired.Ifyouwanttosortonafieldwithoutfilteringbythatfield,puta"*"inthecorrespondingfilter.
ThefollowingNL(Section5.1)functionsortsbyCompanyNamewhilefilteringforCompanyNamestartingwithB.
=NL("Table","Customers","+CompanyName","B*")
ThefollowingNLfunctionsortsthevaluesoftheInvoiceProductIDfieldbythevaluesoftheCustomerIDfieldinascendingorder,thenbythevaluesoftheQuantityfieldindescendingorder.
=NL("Table","Invoices","ProductID","+CustomerID","*","-Quantity","*")
5.2 GL Function
5.2.1 Dynamics NAV GL Function=GL(What, Account, StartDate, EndDate, View, Dim1, Dim2, Dim3, Dim4, BusinessUnit, Company, Reserved,ExcludeClose, Reserved, Reserved, Reserved, Reserved, Reserved, Reserved, ShowQuery, Reserved, DataSource)
Purpose:Returnsthebudget,balance,netchange,debits,orcreditsofoneormoregeneralledgeraccounts.
Usethefunctiondefinitionabovetodeterminetheorderoftheparametersdescribedbelow.ParametersmarkedasReservedarenotused.
Parameter Description
What DetermineswhattheGLFunctionreturns.OptionsareBalance,Budget,CreditsorDebits.
Account G/LAccountNumber,FilterorRange.Ifyouspecifyasingletotalingaccount,returnsthevalueofthataccount.Ifyouspecifymultipleaccountsorarangeofaccounts,totalingaccountswillnotbeincludedintheresult.
StartDate Specifiesthestartingdateoftransactionstoinclude.Forthebalanceofanaccountasofagivendate,leaveStartDateblank.Forthenetchangeofanaccount,useBalanceandspecifyboththeStartDateandEndDate.
EndDate Specifiestheendingdateoftransactionstoinclude.
View TheG/LAnalysisViewtouse.LeavethisblankandnoAnalysisViewwillbeused.
Jet Express 15
©2011 Jet Reports, Inc.. All Rights Reserved.
Dim1 Filterforthefirstdimensionoftheanalysisview.IftheViewargumentisblank,thisisthefilterforGlobalDimension1.
Dim2 Filterfortheseconddimensionoftheanalysisview.IftheViewisblank,thisisthefilterforGlobalDimension2.
Dim3 Filterforthethirddimensionoftheanalysisview.
Dim4 Filterforthefourthdimensionoftheanalysisview.
BusinessUnit Filterforthebusinessunit.
Budget Budgetfilter.Leavethisblankforallbudgets.Thisisunusedunlessreturningbudgets.
Company Companyname.Ifthisparameterisblank,thedefaultcompanyisused.
ExcludeClose “True”toexcludeclosingdatetransactions.Defaultsto“False”.
ShowQuery "True"toshowthefinhlinkstringthatwillbeusedfordrilldown.Defaultsto"False".
DataSource Datasourcename.Ifthisparameterisblank,thedefaultdatasourceisused.
5.3 Filtering
Meaning Symbol SampleExpression
RecordsRetrieved
Equalto None 377
BLUE
Thosewithfieldvalue377
ThosewithfieldvalueBLUE
Notequalto <> <>0 Thosewithfieldvaluesnotequalto0
And & >1000&<2000 Thosewithfieldvaluesgreaterthan1000andlessthan2000
Or | 1000|2000 Thosewithfieldvalues1000or2000
Greaterthan > >1000 Thosewithfieldvaluesgreaterthan1000
Greaterthanorequalto
>= >=1000 Thosewithfieldvaluesgreaterthanorequalto1000
Lessthan < <1000 Thosewithfieldvalueslessthan1000
Lessthanorequalto
<= <=1000 Thosewithfieldvalueslessthanorequalto1000
Range .. 1000..2000
..1000
1000..
Thosewithfieldvaluesbetween1000and2000,inclusive
Thosewithfieldvaluesuptoandincluding1000
Thosewithfieldvalues1000ormore
Wildcard * *co*
*co
Thosewithfieldvaluescontaining"co"
Thosewithfieldvaluesendingwith"co"
Jet Express 16
©2011 Jet Reports, Inc.. All Rights Reserved.
co* Thosewithfieldvaluesbeginningwith"co"
Singlecharacterwildcard
? Hans?n ThosewithfieldvaluessuchasHansonorHansen
Orderofoperations
() 30|(>10&<20) Thosewithfieldvaluesof30ORfieldvaluesgreaterthan10andlessthan20
Ignorespecialcharacters
@@ @@A&B ThosewithfieldvalueA&B
'' 'A&B'|'C&D' ThosewithfieldvaluesA&BorC&D
Ignorecase @ @location Thosewithfieldvaluessuchaslocation,LOCATION,orLocation
5.4 Keyboard ShortcutsThefollowingkeyboardshortcutsareavailableinJet:
Shortcut AvailableFrom Behavior
F1 Userinterfacecomponents Displayscontext-sensitivehelp
F4 Jfx Togglestheaddressingmodeofacellreference
F6 Userinterfacecomponentswithvaluelookup Displaysadatabaselookup
5.5 Automatic Report Formatting
AutomaticSizing
Somedatavaluesareofvariablelengthsuchthatyoudonotknowhowwideacolumnshouldbebeforeyourunareport.Ifthecolumnisnotwideenoughtodisplaythedata,Excelwilleitherdisplay########,oritwillonlyshowthesectionofdatathatwillfitinthecell.
Fit
AcolumncanbeautomaticallyformattedtofitthewidestpieceofdatacontainedwithinitbyplacingtheFitkeywordinRow1ofthatcolumn.Theheightofarowcanbeformattedinmuchthesameway,excepttheFitkeywordwouldbeplacedinColumnAoftherowtobeformatted.
AutomaticHiding
Someworkbookcontentmaybenecessarytothedesignofthereport,butnotdesirabletoseeinReportMode('ReportModes'intheon-linedocumentation).
HideandHideSheet
AcolumnorrowcanbeautomaticallyhiddenbyplacingtheHidekeywordinRow1ofthecolumntohide,orcolumnAoftherowtohide.Toautomaticallyhideentiresheets,youcanadd+HideSheettocellA1oftheworksheet.Whenyourunthereport,Jetwillhidetherows,columnsorsheetsthatyouhavespecified.
5.6 Distributing Reports
5.6.1 Report Viewers
Jet Express 17
©2011 Jet Reports, Inc.. All Rights Reserved.
AreportViewerisanExceluserthathasJetExpressinstalledbutisnotlicensedtodesignreports.AViewerisallowedtochangeReportOptions(Section5.6.4),runreports,anddrilldown,butmaynotuseotherJetfeatures.AViewercannotcreateJetfunctionsormakeanychangestoareport’sdesign.
TocreatereportsthataViewerorotherExceluserscanuse,theDesignermustdooneoftwothings:lockworksheetsthatcontainJetfunctionsorconverttheJetfunctionstovalues.
5.6.2 Locked WorksheetsLockingaworksheetpreventsViewers(Section5.6.1)fromchanginganythingontheworksheet.Whenyourunaworkbookwithlockedsheets,Jetsavesallformulastohiddenworksheetsanddoesnotrecalculatethemwhentheworkbookopens.YoucreatealockedworksheetbyenteringAuto+Hide+LockincellA1.TheworksheetwillbelockedafterthereportisrunandcanbeunlockedbyenteringDesignMode(Section4.1).
IfyouwanttocreatealockedreportthatViewerscanuse,youshouldcreateanoptionsworksheetthatisnotlocked.TheoptionsworksheetshouldbeusedforallthereportoptionsthataViewermightneedtochange.YoumustrunthereporttolocktheformulasandthensavetheworkbookbeforegivingittoViewers.
TheoptionsworksheetcannotcontainanyJetformulasinorderforthereporttoworkforViewers.
5.6.3 Viewer Editable WorksheetsIfyouwouldliketodesignareportthatViewers(Section5.6.1)ornon-Jetuserscanusewithoutlockinganyoftheworksheets,youcaninsteadconverttheJetformulasontheworkbooktovalues.YoudothisbyplacingAuto+Hide+ValuesincellA1ofanyworksheet.Upondoingthis,whenareportisrunallJetformulaswillbeconvertedtovalueswhileallotherExcelformulaswillremainintact.Theworksheetwillalsoremaineditable,althoughchangeswillbelostwhenthereportisre-run.TheJetformulascanberestoredbyenteringDesignMode('ReportModes'intheon-linedocumentation).
5.6.4 Report OptionsTodisplaytheReportOptionswindowwhenrunningareport,youusethefollowingworksheettags:Option,Title,andValue.
EachrowoftheworksheetcontaininganoptionyouwanttoappearintheReportOptionswindowmustcontaintheOptiontaginColumnA.ThecolumncontainingthetitlesoftheoptionsmustcontaintheTitletaginRow1.ThecolumncontainingtheactualoptionvalueswhichyoushouldrefertoinyourreportmustcontaintheValuetaginRow1.TheintersectionoftheOptionsrowswiththeTitleandValuecolumnscreatethereportoptions.
Thefollowingtableexhibitsasimpleexample:
A B C
1 Auto+Hide+Values Title Value
2 Option Customer *
3 Option Open TRUE
Whenyourunareportwithreportoptions,theReportOptionswindowwillbedisplayed.
Ifthereportoptionsareonaworksheetthatyouwouldliketohidefromtheuser,simplyappend+HideSheettothetagincellA1.
Jet Express 18
©2011 Jet Reports, Inc.. All Rights Reserved.
6 Index#VALUE!,10
AboutJet,3
Account,15-16
Activation,4-5
AdvancedDynamicNAVConfiguration
SerenicNavigatorUserAccessRules,7-8
And,16-17
ApplicationSettings,5
Auto,17
AutoDebugReportErrors,5
Autofit,17
AutomaticReportFormatting,17
BlankFilters,12
Budget,15-16
BusinessUnit,15-16
Citrix,8
Company,15-16
CompatabilityMode,5
Configuration,6
ConfiguringaDynamicsNAVDataSource,6-7
ConfiguringJet
ApplicationSettings,5
JetwithCitrix,8
Connection,6
DataSource,15-16
DataSourceSettings,6
DataSourceSettings
DataSourceSettings,6
ConfiguringaDynamicsNAVDataSource,6-7
Database,6
Debug,10
DesignMode,9
DistributingReports
ReportViewers,17-18
LockedWorksheets,18
ViewerEditableWorksheets,18
Drilldown,9
Drilldown
Drilldown,9
GridDrilldown,9-10
DynamicsNAVGLFunction,15-16
DynamicsNAVSpecificFiltering,13
EndDate,15-16
Equalto,16-17
Jet Express 19
©2011 Jet Reports, Inc.. All Rights Reserved.
Error,10
Excel,3
ExcludeClose,15-16
Express,3
Filter,11-12
FilterField,11-12
Filtering,16-17
FilteringData
BlankFilters,12
SpecialCharactersinaFilter,12
SpecifyingMoreThanTenFiltersintheNLFunction,13
LimitingtheNumberofRecordsinaQuery,13
DynamicsNAVSpecificFiltering,13
Filters,11-12
Fit,17
FlowField,13-15
FlowFilter,13-15
GeneralLedger,9
GLFunction
DynamicsNAVGLFunction,15-16
Greaterthan,16-17
Greaterthanorequalto,16-17
GridDrilldown,9-10
Headers,11-12
Hide,17
HideSheet,17
InstallationandConfiguration
QuickInstallationGuide,4
Prerequisites,4
InstallingJet,4-5
InstallingJet,4-5
Interval,16-17
JetFunctionWizard(Jfx),9
JetwithCitrix,8
KeyboardShortcuts,17
Language,5
Lessthan,16-17
Lessthanorequalto,16-17
LimitingtheNumberofRecordsinaQuery,13
Link,11-12,13-15
LinkField,13-15
LinkSum,13-15
LockedWorksheets,18
Log,5
Logging,5
LookupRecordScanLimit,5
Jet Express 20
©2011 Jet Reports, Inc.. All Rights Reserved.
LookupSampleValueLimit,5
MicrosoftExcel,3
NFOptimization,5
NLFunction,11-12
NLFunction
NLFunction,11-12
RetrievingSpecialFieldswithNL(Table),13-15
Sorting,15
Notequalto,16-17
Or,16-17
Prerequisites,4
QuickInstallationGuide,4
Refresh,9
ReportMode,9
ReportModes,9
ReportOptions,18
ReportViewers,17-18
RetrievingSpecialFieldswithNL(Table),13-15
SerenicNavigatorUserAccessRules,7-8
Sorting,15
SpecialCharactersinaFilter,12
SpecifyingMoreThanTenFiltersintheNLFunction,13
StartDate,15-16
Table,11-12
TableBuilder,9
Value,10
View,15-16
ViewerEditableWorksheets,18
What,11-12,15-16
Jet Express 21
©2011 Jet Reports, Inc.. All Rights Reserved.
Top Related