Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
AdminModule
2015
Birst,IncPROPRIETARYandCONFIDENTIAL
Vol5.20Rev1
2.0 AdminModuleInthischapter,studentswilllearnhowtoutilizetheBirstAdminmoduletocreateandman‐agethelogicaldatamodel.StudentswillusetheTrainingBusinessScenarioexplainedintheintroductionchapterandtheSupremEatsdatasetsprovidedtowalkthroughaseriesofexer‐cises.
AudienceThiscourseisdesignedforstudentswhowillbedesigningthelogicaldatamodel,customizingthespaceandsettingupsecurity.
PrerequisiteEducationStudentsmustviewtheprerequisitevideosonline.
Prerequisite Experience
StudentsshouldhaveanunderstandingofDataWarehousingandDimensionalModelingcon‐cepts.
ObjectivesThischaptercoversthefollowingobjectives:
• Creatingandmanagingaspace,understandingthelogicaldatamodel,processingdataandinterpretingtheresults:
• SpaceManagement:CreationandSharing• DataSourceUpload• DataModeling• ProcessData
• Personalizingcontentwithcustomcalculations,customattributes,bucketedmea‐suresanddrillmaps
• Managingapplicationsecurityanduseraccess.
• ManageUserAccessandGroups• Setupcustomsubjectarea• Setupreportgroupandreportcatalog• Schedulereportdelivery
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage27
2.1 SpaceCreationInBirst,“Spaces”arecontainersthatholdthedataaswellasreportsanddashboardsthatuserswithaccesstothespacebuildandview.Theremaybeonlyonespaceortherecanbeseparatespacesforunrelatedsetsofdatasourceswithdifferentanalyticalpurposes(orfordevelopmentpurposesasdiscussedlater).
2.1.1 CreatingaNewSpace1. NavigatetotheBirstloginpagebygoingtothissite:https://login.bws.birst.com
2. Login.
3. FromtheHomepage,clicktheAddSpacebutton:
Figure17 NewSpaceCreation
Note: Onthebottomleftofthehomescreenthereisacopyrightnotice.ThenumbersattheendofthatnoticeistheversionofBirstthattheuseriscurrentlyusing.
4. AsshowninFigure18,Birstthenpromptstheusertoselectthetypeofspacetobecreated.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage28
Figure18 TypesofSpaces
5. ChooseanoptionandclickNext.
6. Onthenextpopupwindow,enteranameforthenewspaceandoptionalcomments(e.g.purposeofthespace,whattypeofdataitcontainsetc.)andclickDone.
Figure19 Createnewspace
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage29
Types of Spaces
Automatic
• Birsttakescontrolofanalyzingthedataforhierarchies,grains,andfieldformatandcreatesastarschema
• GreatwaytogetstartedbylettingBirstmakeaninitialpassatsettingupthelogicaldatamodel
• CanbeconvertedtoanAdvancedspacelater
Discovery
• Birsttakescontrolofanalyzingthedataandreadiesitforquickreportanddashboardcreation
• Nodatamodeling.Thereisnodatawarehouse.
• Noadvancedreportingfeatures
• CanbeconvertedtoanAdvancedspacelater
Advanced
• OfferstheAdminthegreatestflexibility
• Birstanalyzesthedatafileformatsandcreatessourcesandfieldsbasedondatainsources
• Allowsfieldnameandtypeeditingonlywhennodataispublished
• Userhasfullcontroloverthedatamodel.
Usage Tracking
• AvailabletoAccountAdminsonly
• Pre‐Definedusageanalysisofdashboarduse
2.1.2 BrowserUploadAfternamingthespace,BirstwillautomaticallydisplaytheNavigationpageontheManageSpaceTab.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage30
Figure20 NavigationPage
TheeasiestwaytoloaddataisthroughtheBrowserUploadpage,whichallowsdataflatfiles(upto20MB),suchasdelimitedfiles,Excelfiles,andAccessdatabasestobeuploaded.
IfthedataresidesinanRDBMSorisaccessibleviaODBC,BirstConnectcanbeusedinstead.(See“BirstConnect”onpage 35formoreinformationonBirstConnect)
1. ClickBrowsetonavigatetoafileonthesystemanduploadoneormoreofthefollowingdatasourcetypes:
• DelimitedText
• Excel
• AccessDatabase
• AzippedfilewithanycombinationofDelimitedText,Exceland/orAccessDatabase
Note: Fileslargerthan20megabytescanbeuploadedusingBirstConnect.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage31
Figure21 BrowserUpload
2. ClickUploadtosendchosendatasourcestoBirstforanalysisandprocessing.
Atthispoint,Birstscansthefirst10,000rowsofdataineachsourceinordertomakesomepreliminarydecisionsaboutthedata,suchasdatatypesandprimarykeys.
BrowserUpload‐OptionsFigure22 Optionsbutton
TheAdditionalOptionsdialogoffersfurtherchoices,appliedtoallsources,including:
• Automaticallyconsolidatesourceswithidenticalstructures
• Indicatethatthefirstrowofsourcecontainscolumnnames
• Excel:Filterlikelynon‐datarowsinpoorlystructuredspreadsheets
• Lockdatasourceformats
• Onlyrecognizequotesatthestartandendoffields
• Skipspecificnumberofrowsatthebeginning/endoffiles
• Columnseparator
• Specifycharacterencoding
• Handlespecificreplacementsinthesourcefiles
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage32
Figure23 OptionsWindow
InanAutomaticorDiscoveryspace,whenusingBrowserUploadthereisanoptiontoauto‐maticallystartprocessingthedataafterclickingon‘Upload’.Ifuploadingseveralseparatefilesbeforeprocessingtakesplace,keepthe‘ProcessAutomatically’optionuncheckeduntilthelastfile.Choosingto“ProcessAutomatically”willcauseBirsttoanalyzetheuploadeddatasourcesandcreateasubjectareathat’savailableforimmediatereportcreation.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage33
Review1. WhatisthedifferencebetweenanAutomaticSpaceandaDiscovery
Space?
2. WhatadvantagesaretheretousinganAutomaticSpace?
3. WhattypesoffilescanbeloadedintoBirstviaBrowserUpload?
4. WhatarethelimitationsofBrowserUpload?
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage34
2.1.3 BirstConnectBirstConnectisaJavaWebStartapplicationthatautomatestheuploadingandprocessingofdatainBirst.BirstConnectrunsbehindthefirewallinordertoaccessfilesanddatasources,usingHTTPSasthemeansoftransferringthisdatatoBirst.JDBCdatasourcesandSAPERParesupported.Birstconnectcanalsoimportdelimited,ExcelorAccessdatafilesthatarelargerthan20MB,whichisthelimitwhenusingBrowserUpload.
TheBirstConnectversionmustmatchtheveriononBirstProductionServer.BirstConnectwillchecktheversionandifamismatchisdetected,itwilldisableBirstConnect.AlwaysdownloadtheversionthatmatchestheBirstUIversion.
TonavigatetoBirstConnect,clicktheDefineSourcestab,thentheBirstConnectPage.Allexistingconfigurationsarelistedonthepage.
WhenworkingwithBirstConnecttherearesomegoodpracticestokeepinmind:
• ALWAYSsavesettingsafteradding/editingconnections
• Driversmayneedtobedownloadedbeforedatacanbepulled(dependingonthedata‐basetype)
• RuntasksbyselectingoneormoretasksandclickingRunTask
• BirstConnectcanbecontrolledviascripts
• BirstConnectcanruncommandfilestoperformactionsonaBirstSpacesuchascacheclearing
BirstConnectConfigurationsMultipleBirstConnectconfigurationscanexistforthesamespace:
• Usefulwhenmultipledatasourcesaredistributedacrossthenetwork
• AllowsuserstorunseparateinstancesofBirstConnectfromdifferentmachineswithinthenetwork
ClickCreateaNewConfigurationtobeginanewconfiguration.
ClickDeleteorLaunchtointeractwithacurrentconfiguration.
Figure24 BirstConnect
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage35
Note: ClickingCreateorLaunchdownloadsaspacespecificconfigurationfileandlaunchesJAVAforconfiguration.Thisfilestorestasksthatcanbeexecutedmanuallyorsched‐uledtorunonaregularbasis.JAVA7orhighermustbeinstalledonthecomputer.
AfterclickingtheCreateaNewConfigurationorLaunchbutton,thescreenshowninFig‐ure25willenabletheBirstAdmintoAdd,Edit,DeleteandRunselectedtasks.
Figure25 BirstConnectTasks
BirstConnectTaskProperties
Add/Edit
• ThetaskdialogboxopenswhenclickingAddTaskorEditTasks.
• Setitemssuchas:
• Taskname• EnableorDisablethetaskasnecessary• Setaprocessinggroup(s)–moreonthislater• Choosetoprocessdataafteruploading.Iftherearemultipletasksmakesurethisis
checkedonlyonthelastdataloadingtask.• CreateQuickDashboardsifdesired• Consolidateidenticaldatasourcesinthetask
BBP UseasystemtaskschedulertoscheduleBirstConnect.SeeBirstHelpformoreinformation.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage36
Figure26 TaskProperties
Note: Iftheuploadeddataneedsadifferentprocessingdatethanthecurrentdate,settheoffsetbyscrollingtothenumberofdaysaheadorbehind.
BirstConnectTaskSources
Add File
IntheSourcestab,theBirstAdministratorwillchoosethemethodtomovedataintoBirst.Addfile(s)issimilartoBrowserUploadbutallowsforschedulingandforuploadingfileslargerthan20MB.
Note: AftermakingchangestoeachfilemakesuretoclickUpdatesochangesarere‐saved.Also,click“File”and“SaveSettings”.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage37
Figure27 AddFile
Add Table
ThesecondmethodtouploaddatatoBirstthroughBirstConnectistoaddTable(s).Provideallrequiredinformation(Databasetype,ServerName,DatabaseName,UsernameandPass‐word)andclickGetTablestolistallavailabletables.SelectmultipletablesbyusingShiftorCTRLclick.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage38
Figure28 AddTable
PressingAddTablewillopentheGetTablesscreenshowninFigure29.Enterthedetailsforthedatabasetoconnectwith,includinganyrequiredcredentials,andpressGetTables.
Figure29 GetTables
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage39
Birstlooksatthedatabaseandliststhetablesthatareavailable.
Thedatabasetypesthatcanbeaccessedarelistedhere.Itmaybenecessarytodownloadadriverinordertomaketheproperconnection.Ifthereisayellowtrianglewithanexclama‐tionpointinitbesideasource,thisindicatestheneedforadriver.
• MySQL
• Oracle11g
• ODBC
• PostgreSQL
• Hive/Hadoop
• GenericJDBCDatabase
• SAPHANA
Add Query
ThethirdwaytogetdatainBirstusingBirstConnectistouseaQuerytopullinformation.
• SimilartoAddTable,entertherequiredinformationtoaccessthedatabase
• TheQueryNamebecomesthesourcenameinBirst
• Anyquerywritteninthequerylanguageoftheconnecteddatabasecanbeused,includingjoins.Birstvariablescanalsobeusedinthequerybox
Note: RemembertoclickUpdateafteranychangetoupdatethetaskwiththenewestinfor‐mation
Figure30 AddQuery
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage40
Add URL
ToaccessdatafromaURL,chooseAddURL,andentertherequiredinformation.
Figure31 AddURL
Add S3 Object
ThefinalwaytogetdataintoBirstthroughBirstConnectisbyaddinganS3Object.(AmazonS3‐SimpleStorageService).
SimplyentertherelevantinformationsuchastheCredentialFile,BucketName,BucketKeyandanyreplacementsneeded.
Figure32 AddS3Object
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage41
Scheduling
EachtaskinthespacecanhaveitsownscheduleandcanbescheduleddirectlyfromBirstConnect,however,itisrecommendedtoschedulethesetasksfromthesystem’sTaskSched‐ulerbecauseschedulescreatedinBirstConnectrequirethatBirstConnectberunningcon‐tinuouslytobeeffective.
MakesuretochecktheScheduleTaskboxtoenabletheschedule
• ChosefromDaily,Weekly(dayofweek)andMonthly(dayofmonth)
• SettheexecutiontimewhichusesthelocaltimeonthemachinewhereBirstConnectisrunning
• SelectRetryonFailureifthereisaloadfailure
• BirstConnectneedstoberunningatalltimesfortheschedulertoprocess.
Figure33 Scheduler
OtherschedulingapplicationscanbeusedbytheBirstConnectcommandlineinterface.Theschedulerissettothetimezoneofthelocalmachinebydefault.
BBP AsystemtaskschedulerhasmoreoptionsforcontrollingtasksanddoesnotrelyonBirstConnectrunningcontinuously.BirstrecommendstheuseofthesystemtaskschedulertoscheduleBirstConnect.SeeBirstHelpformoreinformation.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage42
2.2 ApplicationConnectorsApplicationconnectorsallowBirsttoconnecttodatasourcesincloudapplications,suchasSalesforceandNetSuiteandextractthatdataintoBirst.
2.2.1 ProcessOverviewInordertouseanapplicationconnector,someinformationisrequiredtosetupandauthen‐ticatetheaccount.
1. Tobegin,navigatetotheDefineSourcestabandtheApplicationConnectorspage.ORFromthehomescreen,choose“UseExtractors”.
Figure34 FindingConnectorsfromtheDefineSourcestab
Figure35 FindingConnectorsfromtheNavigationscreen
TheApplicationConnectorspagewillbeopened,asseeninFigure36.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage43
Figure36 ApplicationConnectors
Ontheleftsideofthescreenisaboxshowinganyconnectionsthathavealreadybeenconfig‐ured.Tocreateanewconnectiontoanexternalcloudapplication,clickontheNewbutton.
Figure37 ConnectionDetails
WhentheNewbuttonisclicked,theConnectionDetailswindowopenstotheright.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage44
Figure38 EloquaConnectionDetails
Nametheconnection,choosetheconnectortypeandAPIversion.Eachconnectorwillrequiresimilar,butvaried,information,includingthingslikeUsernameandPassword.Figure38showstheEloquaconnectorsetup.
Figure39 GoogleAnalyticsConnector
Figure40 JiraConnector
Figure41 MarketConnector
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage45
Figure42 NetSuiteConnector
Figure43 NetSuiteJDBCConnector
Figure44 OmnitureSiteCatalyst
Figure45 OracleCRMonDemand
Figure46 SalesforceConnector
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage46
Figure47 SFTPConnector
Foreachconnection,entertherequiredinformationandtesttheconnection.Oncethecon‐nectionisconfirmed,savetheconnection.
ImportingObjectsWhileeachconnectorwillhavesomedifferences,thebasicfunctionsarelargelythesame.Forthisexample,theSalesforceconnectorwillbeused.
1. Oncetheconnectionhasbeentestedandsaved,clickShowAllObjects.
Figure48 ShowAllObjects
2. Chooseobjectstoimportbyclickingtheboxbesidetheobject.
3. ClickSave.
4. ClickExtract.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage47
Figure49 SaveandExtract
5. ClickSaveagain.
6. ToestablishExtractGroups,clickonShowSelectedObjects,thenclickintheExtractGroupscolumnandenteranamefortheExtractGroup.
Note: LikeProcessingGroups,ExtractGroupsallowtheAdmintocontrolwhichobjectsareextractedandwhen
Figure50 ShowSelectedObjects
7. Toaddaqueryobject,clicktheAddQueryObjectbutton.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage48
Figure51 AddQueryObjectDialogBox
8. NamethequeryobjectdesiredandclickGetQueryObject.BirstwillpopulatetheQueryandMappingboxeswiththeinformationfromSalesforce.
9. Tolimitthefieldsbroughtinwiththeobject,changetheQuery.Anyscriptinthisboxmustbewritteninthelanguageoftheunderlyingapplication,inthiscaseSOQL.
10. ChangethemappingboxtoreflectchangesmadeintheQuery.
Note: The“true”commentsinthemappingwindowmarktheprimarykey.“False”indicatesthecolumnisnotaprimarykey.
Note: Anycolumnsthatinclude“_c”inthenameofthecolumnarecustomfields.
11. ChangethenametoauniquenameandclickSave.
12. Oncedoneimportingobjects,navigatetotheScheduleDataProcessingpageofthePro‐cessDatatab.
Note: Thisisonlyforapplicationconnectors.
13. ClicktheActionsbutton.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage49
Figure52 ScheduleDataProcessing
14. ChooseCreateNewSchedule.
Figure53 CreateNewSchedule
15. Givethescheduleaname.
16. ClicktheConnectionbuttonandchoosethedesiredconnection.ClickSave.
Figure54 NewScheduleDialog
17. SpecifyanyExtractandProcessingGroups.
18. Definetheschedulerecurrence.
19. ClickSave.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage50
Other Methods of Importing Data
ThereareotherwaysthatdatacanbeimportedintoBirst,includingBirstConnectfromtheCommandLine,LiveAccess,andWebServices.Formoreinformationaboutanyofthese,seetheBirstonlineHelp.
Review1. HowmanydifferentwaysaretheretoloaddataintoBirst?
2. WhatisBirstConnectandwhenshoulditbeused?
3. NamethreetypeoffilesthatcanbeimportedwithBirstConnect.
4. CanBirstconnectto“live”datasources?
5. Howshouldtaskschedulingbemanaged?
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage51
Aspaceisacontainerthatholdsdata,reportsanddashboards.Therearefourkindsofspaces:Automatic,Discovery,AdvancedandUsageTracking.ThesimplestwayofloadingdataintoBirstisthroughtheBrowserUpload.Itisnottheonlyway,howeverandthenextsectionwillcovertheotherwaystoloaddataintoBirst.BirstConnectallowsuploadofdatainmultiplelocationsorflatfileslargerthan20mb.LiveAccesssupportsconnectingBirsttolivedatabasesinrealtime.ApplicationConnectorsreachouttospecificapplicationstobringtheexistingdataintoBirst
Summary
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage52
2.3 DataModelCreationTheLogicalDataModelFigure55 LoadProcess
Whendataisuploaded,Birststoresitlocallyandcreatestheinitialsourcemeta‐datadefinitions.Theadministratorofthespacethencreatesthelogicaldatamodelandsetsupanyscriptprocessing,customizesthespace,andsetssecurityrequirements.Oncesetupiscomplete,thedatainthespaceisprocessed,whichloadsthedatafromthefilestostagingtablesandfromthereintothedatawarehousetables.
EndusersofBirstdonotinteractdirectlywithobjectsastheyarestoredintheunderlyingdatabase.Usersinteractwithelementsofthelogicalmodel,andBirsttranslatesthoserequestsintoqueriesthataccessphysicaldata.
Alogicalmodelisimportantfortworeasons:
1. Birstputsalayerofabstractionbetweentheuserandthedatacalledthelogicalmodel.
Usersdonotneedtounderstandhowdifferenttablesshouldbejoinedtogethertoproducevariousresults.Alogicalmodelsignificantlysimplifiestheexperienceofend‐users.Businesscalculationscanbepre‐builtforeasyad‐hocanalysis,best‐practicesandothercalculationscanbere‐usedandsharedeasily.Aggregationlogiccanalsobehiddenfromend‐users.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage53
2. Itprovidesasecurelayerthatallowsforend‐userdevelopment
Ifend‐usershaddirectaccesstorawdata,organizationswouldbeforcedtolimitwhocouldbuildareportoradashboard.Byincludingdeeprole‐basedandindividualsecurity,end‐userscanbegivenaccesstoad‐hoctoolstobuildreportswithouttheworrythattheywillpullthewronginformation.Securityallowsasinglereporttobecreatedforlargenumbersofpeoplethatshowseachperson'sdatawithouthavingtobuildareportforeachperson.
Logical to Physical Mapping
WhenusersofBirstcreateareportoraquery,theydosousinglogicaldataelements—ele‐mentsthatdonotphysicallyexist,butinternallyaremappedtophysicalobjects.Therearetwotypesoflogicalobjectsthatcanbeusedtocomposeaqueryorareport:dimensioncol‐umns,alsoknownasattributesandmeasurecolumns.
Dimensioncolumnsarecolumnsthatareusedtocategorizeorgroupdata.Examplesofdimensionalcolumnsare;[Time.Quarter],[Route.Hemisphere],and[Source.Category].Dimensioncolumnsarespecifiedbythelogicaldimension(forexample,Time,RouteandSource)andtheindividualattributewithinthatdimension(forexample,Quarter,Hemi‐sphereandCategory).
Similarly,logicalmeasuresareaggregationsthatcalculatevaluesbasedontheattributesinaquery.Inthissameexample[#Packages]couldbeameasure,whichcouldbegroupedby[Time.Quarter],[Source.Category]orboth.
Whenusersselectfromtheavailabledimensionandmeasurecolumns(calledaSubjectAreainBirst),itisBirst’sjobtofigureouthowtobringthatdatatogether.SometimesthedatathatsatisfiesalogicalqueryexistsinonephysicaltableintheBirstdatabase.Muchmoreoften,itexistsinmanytablesandBirstmustcreatephysicalqueriesthataresenttotheunderlyingBirstdatabasetoperformtheaggregationsandcalculationsthatarerequired.Itdoesthisbyusingspecialmetadatathatmaintainsmappingsbetweenlogicalcolumnsandphysicaldata‐baseobjects.
Logicaldimensioncolumnsandlogicalmeasurecolumnsaremappedusinginternalmeta‐dataobjectscalledlogicaltables.
Note: Birsthidesthedetailsofthismappingfromdatamodelersandend‐usersasthesemappingsaregeneratedautomaticallyduringtheprocessofapplicationbuilding(exceptinthecaseofLiveAccessusingManageLocalSources).However,itishelpfultounderstandhowthisprocessworks.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage54
Figure56 Interactionbetweenlogicalandphysicaldatamodels
2.3.1 DataModelingConceptsTherearetwomethodsofbuildingtheLogicalDataModelinBirst,theDataFlowMethodandtheListMethod.TheAdminshouldchooseonemethodandusethatmethodthroughout.RegardlessofMethodchosen,datamodelinginBirstismadeupofthefollowingsteps.TheDataFlowmethodautomatessomeofthis,whiletheListMethodrequiresthattheAdminperformeachstepmanually.
HierarchiesInBirstaHierarchyrepresentsadimensiontable.Ahierarchyisabucketthatcontainsasetofrelatedcolumnsthatcanbeusedtocategorizedata.Forexample,theremightbeaProducthierarchythatcontainsallattributesforaproduct.Creatinghierarchiesidentifiesthedimen‐siontablesinthelogicalmodel.
Hierarchiescanbesinglelevelormultiplelevel,meaningifthereisaonetomanyrelationshipbetweendatasources,ahierarchycouldhavemultiplelevelsofdatacomingfrommultiplesourcesorahierarchycouldhaveonelevelofdatacomingfromasingledatasource.
FactTablesAfacttable,alsoknownasameasuretable,isabucketthatcontainsdatathatcanbecalcu‐lated.Forexample,acolumncalledrevenue,containingnumbersandmarkedasameasure,willbeputintoafacttableallowingaggregationofthedatainthecolumn,suchasasumofrevenue,averagerevenue,etc.
GrainsGrainsareneededtologicallyjoinafacttabletoadimensiontable(physically,settingagraininsertstheprimarykeyoftheselectedgrainintoeveryrowinthefacttable.).Ameasure
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage55
table,canbejoinedtomanydimensionsandBirstmustunderstandwhatdimensionsamea‐suretablecanjointo.SelectingthegrainallowsBirsttoanalyzethemeasureacrossdimen‐sions.LookingattheSupremEatsdata,thismeansthattheOrder_Detailssourcecanbegrainedtoalltheothersourcesbecauseitisrelatedtoallofthosesources,throughthekeyswithinOrder_Details.ProductIDconnectsittotheProductsource,andfromtheretotheCate‐gorysourceandSuppliersource.OrderIDconnectsittotheOrderssource,andfromtheretotheEmployees,CustomerandShippersources.
TargetingTargetingacolumnmakesitavailabletothereportdesignerstouseinthesubjectarea.Phys‐ically,targetingacolumntellsBirsttoinsertthedatafromthatcolumnintoadimensiontableand/orafacttable.
2.3.2 DataFlowMethodTheDataFlowmethodmakesuseofBirst’sautomationtosetupthedatamodel.
OncethedatahasbeenuploadedintoBirst,regardlessofthesourcesormethodsused,theDataFlowscreenwilldisplayallofthesources.Thisiswherethelogicaldatamodelwillbebuilt.
Figure57 DataFlow
WhensourcescomeintoBirsttheyarelistedontheDataFlowscreenandaredisabled(ignored).Inordertousethesesources,theymustbeenabled.
Enabling Sources
Beforethesourcescanbeusedtocreatethelogicaldatamodel,theymustfirstbe“enabled”orturnedonsothatBirstknowsthatthesourceisincluded.
DataSources
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage56
Toenablesources,right‐clickeachsourceandselectEnableSource.Onceenabled,thelabelforthesourcechangescolor,andotheroptionsbecomeavailablewhenrightclickingonthelabel.
Figure58 EnableSources
Figure59 WithSourcesEnabled
ArrangingSourcesOntheDataFlowscreenthedatasourcescanbemovedintoanydesiredposition.Arrangingsourcesdoesnotaffectanythingwiththedatamodel,itissolelyforvisualizationpurposes;doingthismayhelpvisualizetheflowofinformation.Intheexamplebelowthesourcesarearrangedinaformatthat’slogicaltothisparticularuser.
RightClick
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage57
Example: CustomersplaceandEmployeesfillorders.OrdershaveOrderDetails.OrderDetailsconsistofCategoriesandProducts.ProductshaveSuppliersandfinallyShippersshipOrders.
Figure60 ArrangingSources
SettingPrimaryKeysAPrimaryKeyisauniqueidentifierforarecord.Often,aprimarykeyisanIDfield,suchasanEmployeeNumber,CustomerID,orShipperID.ForeachnumberorIDthereisonlyonerecordinthattable.Forexample,ifcustomerConsolidatedHoldingsisassignedtheID“CONSH”andanewcustomernamedConsumerHandlers,Incisadded,thenewcustomercannotalsohavetheID“CONSH”.
Birstscansthefirst10,000rowsofdataandattemptstodeterminewhichcolumnholdstheuniqueidentifierorPrimaryKeyforeachsourcewhenthedataisuploaded.Howeveritisimportanttoensurethatthecorrectcolumnsareselected.
ToseewhichcolumnBirstselectedasthePrimaryKey,right‐clickthelabelthatrepresentsthesourceandselect“SetPrimaryKey.”Ifthecolumnselectedisincorrect,unchecktheboxandcheckthecorrectone.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage58
Figure61 SettingthePrimaryKey
Joining Sources
Onceprimarykeyshavebeencorrectlyassigned,thenextstepistocreatejoinsbetweenrelatedsources.Joiningsourcescreatesrelationships.Birsthelpswiththistaskbyindicatingwherejoinscanbecreated.Birstrecognizesrelatedsourcesbylookingforprimarykey/for‐eignkeyrelationshipsacrosssources.
1. Right‐clickeachsourceandchoose“JointoaRelatedSource.”Afterclicking,thecursorwillhaveablacklinethatfollowsthecursor(seeFigure62).Birstwillshowonlythesourcesthathavearelationship.
2. Hoverthecursorovertherelatedsourceandclick.Therelationisnowmade.SeeFigure62below.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage59
Figure62 JoiningSources
IntheexampleshowninFigure62,acustomermayhavemanyorders,buteveryorderwillonlyhaveonecustomer.Thisisaonetomanyrelationship.
Note: Ifthekeycolumnnamesarenotidentical,Birstwillnotrecognizearelationshipbetweendifferentdatasources.Forexample,ifthedatahasCustomerinformationintwodatasourcesandonecolumniscalled“Customer”andtheothercolumniscalled“Client”Birstwillnotrecognizetherelationship.
Note: ColumnnamescanbechangedinManageSources(right‐clickthesourceandselectManageSources)byretypingthenameofthecolumntoexactly(case,spaceandpunctuationsensitive)matchtheother.Afterchangingbothcolumnnamestoaniden‐ticalname,andensuringthatthecolumntypeandwidthalsomatch,Birstwillrecog‐nizetherelationship.
Birstshowswhichtablesarerelated Whentherelationismade,Birstshowsthe“birdfoot”signifyingaonetomanyrelationship
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage60
Update Warehouse Model
Withallofthesourcesjoined,thedatawarehouseisreadytobeupdated.
ClickUpdate(seeFigure63).BirstlooksattheprimarykeyassignmentsandthejoinedrelatedsourcesinordertocreatetheStarSchemaWarehouseModel.Hierarchiesarecreated,grainsselectedandcolumnstargeted.
Figure63 UpdatingtheWarehouseModel
Note: ClicktheUpdatebuttononetimeonly.Oncethemodeliscreateditcanonlybemodi‐fiedmanually.
InthecenteroftheStarSchemaarethefacttables,containingmeasures,andsurroundingthecenterarethedimensiontables,containingattributes.
Hierarchies
Hierarchy Overview
IntheexampleinFigure64,therearethreehierarchies:Product,EmployeesandOrderDetails.Thereare6levels(ingreen)and6facttables(inred).Eachhierarchyequalsadimen‐siontable.
StarSchema
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage61
Figure64 Examplewarehouse
Dimensions/Hierarchies
Oneofthemostfundamentalconceptsinthistypeofmodelingisthatofadimensionorhier‐archy.
Ahierarchyisasetofrelatedcolumnsthatcanbeusedtocategorizedata.Forexample,theremightbeaProducthierarchythatcontainsallattributesforaproduct.Considerthefollowingsetofcolumnsinthesourcedataset:
Figure65 Columns
Thesecolumnsprovideinformationabouteachproductandarecalledattributes.Foreveryproduct,thereisoneandonlyonevalueforeachoftheseattributes.Inadditiontogroupingtheserelatedcolumnsintoahierarchy,theycanalsobedefinedintoparentandchildlevels.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage62
Levels
Eachhierarchymustbedefinedbyatleastonelevel,buttheremaybemultiplelevels(eachwithonlyoneparent).Figure66showsanexamplesetoflevelsandhierarchiesthatapplytotheexampledatamodel.Thetopofeachofthesetreesindicatesthehierarchynameandtheitemsbelowindicatespecificlevels.Forexample,theEmployeeshierarchyhasonelevel,Employees,whereastheProductshierarchyhastwolevels,SuppliersandProducts.
Figure66 HierarchiesandLevels
LevelstellBirstthefollowing:
• Howtostoredimensiondata.Foreachlevel,aphysicaltableiscreated(forexample,Productshas2levels:SuppliersandProducts,thismeansBirstwillbuildtwophysicaltables).
• Whatitemsareuniqueinthedata.Eachlevelmusthaveauniquekeywhichbecomestheprimarykeyofitsphysicaldimensiontable,thelevelkey.
Internally,Birstguaranteesthateachlevelkeyisuniquewithinthedimensiontableatthatlevel.Thispreventsbadjoinsonnon‐specifickeys.Whyisthisnecessary?
Considerasourcetableof1millionrecords,whereoneofthecolumnsinthattablewasdefinedasthelevelkeyandthatcolumnhadidenticalvaluesineveryrow.IfthattablewasusedtoloadbothafacttableandadimensiontablewhenBirsttriedtojointhosetwotablestogetherbasedonthatkey,ifBirstdidnotmakethatcolumnuniqueforthedimensiontable,therewouldbeadangerousjoinconditioncalledaCartesianjoin(ormany‐to‐manyjoin).
Thatmeansthattherewouldbe1millionrecordsinthedimensiontableand1millionrecordsinthefacttablewhereeveryrecordinthedimensiontablejoinedtoallrecordsinthefacttable—creating1trillioncombinations—andthatwouldbeverybadforthesystemtotrytodo.Whenloadingdimensiontables,Birstactuallygroupsbylevelkeys,ensuringthateach
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage63
levelkeyvalueisunique.Sointhiscase,thedimensionwouldonlybeloadedwith1record—theuniquevalueofthelevelkey.
AsBirstusesthelevelkeytojoinbetweendifferenttables,itisgenerallybesttopickintegercolumnsoverstring/varcharcolumns,andshortercolumnsoverlongerones.SointhecaseoftheProductsdimension,[ProductID]isabetterchoicethan[ProductName]
Working with Hierarchies
Workingwithhierarchies,selectingthegrainsofthesourcesandtargetingthefields,areallapartofcreatingthelogicaldatamodel.Beforetalkingabouthowtoperformeachofthesetasks,it’simportanttounderstandtheimplicationsofthesetasks.
Figure67 Hierarchies
HierarchiesaremanagedintheDefineSourcestab,ontheDataFlowpage,byclickingonthemodifybutton,asshowninFigure67.
Creating Hierarchies
TheStarSchemaiscreatedwhentheUpdatebuttonisclicked.Aspartofthatprocesshierar‐chiesarecreated.Toview/editordeletethehierarchiesthatBirsthascreated,navigatetotheHierarchiessectionbyclickingModifyfromwithinDataFlow.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage64
Figure68 Hierarchies‐LeftSideofScreen
Figure68showsanexampleofamulti‐levelhierarchy.Anotheroptionistobuildsingle‐levelhierarchies.
Figure69 Hierarchies‐RightSideofScreen
IntheHierarchieswindow,thereisalistofHierarchiesthatBirsthascreated.clickthearrowbyeachHierarchytoseethelevel(s)withineachHierarchy.Whenalevelwithinahierarchy
BBP ClickUpdateonetime,afterthat,processingdatawillupdatethewarehousemodel.
HierarchiesLevelswithinHierarchies
Level(PrimaryKey)
Key
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage65
isclickedontheleftofthescreen,thebottompaneoftherightsideofthescreendisplaystheLevelKeythatBirstselected.Ifthelevelkeyisincorrect,itcanbechangedonthisscreen.
ThewindowabovetheLevelKeyColumnissimplyusedasafiltertothespecificcolumnsofthesourcebeingworkedwithsothattheappropriateLevelKeycanbechosen.
InBirstaHierarchyrepresentsadimensiontable.Creatinghierarchiesidentifiesthedimen‐siontablesinthelogicalmodel.
TofurtherexplainHierarchies,onceagainconsidertheSupremEatsdata.
SincethecoreofSupremEatsdatarevolvesaroundOrderDetails,OrderDetailsshouldbeaHierarchy.Withinthishierarchytherearelevelsofinformation:“Customers”(CustomerID,Address,City,etc.)whichcontainsdataabouttheCustomers,“Orders”(OrderID,ShipCountry,ShipCity,etc.)whichcontainsdataabouttheOrder,and“Order_Details”whichcontainsthelineitemsoftheorder(qty,unitprice).TheOrder_DetailsHierarchydisplaysthelayoutofthedataflow,basedonthejoinscreatedinDataFlow.
Figure70 OrderDetailsHierarchy
AHierarchymustcontainoneormorelevelsofinformation.
Figure71 LevelsoftheOrderDetailsHierarchy
BirstwillautomaticallybuildhierarchiesifDataFlowisusedandthe“Update”buttonisclicked.Multi‐levelhierarchieswillbebuiltifBirstdeterminesthattheone‐to‐manyrelation‐shipsinthedatasourcesmakesthempossible.
Example
B’sBeverages
OrderID10289
1OutbackLager4SasquatchAle
BecauseBirstcarrieskeysdownhill,allthekeysintheupperlevelsareavailableatthelowestlevel:
CustomerID
CustomerID&OrderID
OrderID&ProductID
Order_DetailscanbeanalyzedbyanyofthekeyscontainedintheOrdersorCustomerslevels.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage66
EventhoughBirstautomaticallycreateshierarchies,intheAdminmoduleofAdvancedSpacesthesehierarchiescanbeedited,addedtoordeleted.
Forexample,startingwithOrderDetails:
Figure72 OrderDetailsHierarchy
Thehierarchynameisjustthetitleofthehierarchy,nodatalivesinthetitlefield.Withinthehierarchy,levelsofdataarearranged:CustomersLevel,OrdersLevel,andOrderDetailsLevel.
Foreachlevel,columnsarealsoselectedtocreateakeyforthatlevel.Akeyuniquelydefineseachelementinthatlevel.Thereshouldbenoduplicationsofalevelkey‐thiswaythesystemcanalwayslookuptherightinformationatthatlevelusingthekey.InthecaseofSupremEats,thelevelkeyfortheOrderslevelistheOrderIDcolumn.ThereisoneOrderIDforeachorder.FortheOrderDetaildata,thelevelkeyisthecombinationofOrderIDandProductID‐therecanbeonlyonerecordforeachproductforeachorder.
Similarly,theProductshierarchycanbedefined,aswellashierarchiesforEmployees,Suppli‐ersandShippers.
Now,withthehierarchiesconfigured,Birstcaninsertincomingdatasourcestothesehierar‐chies.
HierarchyName
LevelsofdatawithintheHierarchy
SelectLevelKey(s)foreachlevelintheHierarchy
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage67
Review1. Whatisaprimarykey?
2. WhatisthefirstthingthatmustbedoneintheDataFlowscreen?
3. WhatcanpreventBirstfromrecognizingrelationshipsbetweensources?
4. WhenshouldtheUpdatebuttonbeused?
5. Howareprimarykeysselected?
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage68
2.3.3 ListMethodTheListMethoddoesnotautomaticallydefinehierarchies,leavingtheAdminincontrolofhowthesearedefined.
Enabling Sources
Afteruploadingdataviaanymethod,allofthesourcesneedtobeenabledpriortomodeling.
IntheListMethod,thisisaccomplishedthroughtheManageSourcespageoftheDefineSourcestab.
Figure73 ManageSources
Ontheleftsideofthescreen,clickthearrowbesideAlltoopenthelistoftheimportedsources.Toenableasource,clickonit,thenclickonthegeariconanduncheckIgnoreSource.
Figure74 EnableSource
Enableallofthesourcesthisway.
Creating Hierarchies
Tobeginworkingwithhierarchies,navigatetotheDefineSourcestabintheAdminmoduleandselecttheHierarchiespage.Whenahierarchy(dimensiontable)iscreatedonthispage,essentially,anemptybucketiscreatedthatwillultimatelybefilledwithattributedata.
Figure75 Hierarchies
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage69
Figure76 HierarchaiesPage
OntherightsideoftheHierarchiespage,therearetwosections.ThetopsectionallowstheusertochooseafilterandthebottomdisplaysthechosenLevelKeyColumn(s).ThelevelkeyisthesameasthePrimaryKey.
Toaddanewhierarchy:
1. ClicktheAddbuttononthetopoftheleftside.
2. Clickonthe“NewHierarchy”oncetoselectitandasecondtimetoopenthefieldtoedit.Namethehierarchy.
Figure77 AddingHierarchy
3. Clickthearrowbesidethenewhierarchy.
4. Clickonceonthe“NewLevel”toselectitandagaintoopenthefieldtoedit.Namethelevel.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage70
Figure78 AddLevel
5. Oncethelevelisnamed,choosethecorrectdatasourceforthelevelfromthelistontheright.
Figure79 Choosingdatasource
6. Oncethedatasourceischosen,theLevelKeywindowwillpopulatewithalistofthecol‐umnsinthatdatasource.ChoosethecolumnorcolumnsthatformtheLevel(Primary)key.
Figure80 ChooseLevelKey
Rememberthatforsomesituations,thelevelkeywillbemadeupofmorethanonecolumn.
Repeatthesestepsforeachhierarchythatmustbecreated.Thisisataskthatshouldbecon‐sideredcarefully.WhentheDataFlowmethodisused,andBirstisallowedtobuildthehier‐
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage71
archies,severalhierarchiesbuiltwere“Multi‐LevelHierarchies”wheretherearemultiplelevelswithinthehierarchy.
Multi‐levelhierarchiesbuildlargerlogicaldimensiontablesfilledwithrelateddatafrommulti‐plesourceswhereonetomanyrelationshipsexist.Inmanydatamodels,therewillbeonedimensiontableforeachdatasource.IntheListMethod,theAdmincreatesthehierarchiesandmaychoosetocreatesingleormultilevelhierarchies.Neitheroptionisrightorwrongandthechoiceisinthehandsofthedatamodeler.
Figure81 Multi‐LevelHierarchies
ExampleofaMulti‐LevelHierarchy
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage72
Figure82 Single‐Level(Flattened)Hierarchies
Inthiscase,eachhierarchyhasonlyonelevel.InFigure83,isanexampleofwhatthestarschemawouldlooklikeaftercompletingonlythisstepofthemodelingprocess.
Figure83 StarSchema
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage73
TobuildaMulti‐Levelhierarchymanually,beginbycreatingthehierarchy,thesameassteps1‐6above,thenclickontheAddbuttonandchoose“AddParentLevel.”
Figure84 AddingParentLevel
Namethenewlevel,selectit’sdatasourceandlevelkey,justaswasdoneforthefirstlevel.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage74
TheBirstdatamodelputsspacebetweenthedataandtheuser,shiftingtheburdenofunder‐standingthewaydataislinkedtotheAdministratorandallowinguserstocreatecomplexreportsanddashboardswithoutthatunderstanding.InBirsttherearetwowaystomodeldata,DataFlowwhichtakesadvantageofsomeofBirst'sautomationandtheListMethodwhichuseslessautomation.
Ahierarchyrepresentsadimension.Itislikeacontainerthatholdsthelevelsofrelateddata.
Review1. Whatisahierarchyandwhyisitimportant?
2. Whatisalevelkey?
3. HowisaHierarchyadded?
Summary
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage75
2.3.4 ManageSourcesJustastherearetwowaystoenablesourcesandtosetupandviewhierarchies,therearetwowaystotargetcolumnsasmeasures(whichcreatesfacttables),targetcolumnstohierarchies(whichputsthatinformationintothedimensiontables)andtosetgrains(whichtellsBirsthowthedataisconnected).
TheAdminworkinginDataFlowwillaccessManageSourcesontheDataFlowpageoftheDefineSourcestabbyrightclickingoneachsourceandselectingManageSources.
Figure85 ManageSourcesfromDataFlow
TheAdminworkingintheListMethodwillaccessManageSourcesbyclickingontheMan‐ageSourcespageontheDefineSourcestab.
Figure86 ManageSourcesinListMethod
Regardlessofwhichmethodisused,thescreensaresimilarexceptforonthefarrightside.IntheDataFlowManageSources,therearebuttonsforSaveandClosewhilethosesamebut‐tonsintheListMethodManageSourcesareSaveandCancel.Inaddition,usingtheListMethod,allofthesourcesarelistedontheleftsideofthescreen.
RightClickformenu
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage76
Figure87 SaveandClosevsSaveandCancel
TherearefivetabsinManageSources:Columns,Grain,Properties,RawDataandScript.
Figure88 ManageSourcesTabs
• TheColumnstabdisplayseachcolumnintheselecteddatasourceaswellasthetypeofcolumn,itswidth,theHierarchyassignedandwhetherthecolumnismarkedasameasure.
• IntheGraintab,thegrainsofthesourceareindicated.
• ThePropertiestaballowsmanagementofsomepropertiesofeachsource,suchasprocessingdirectives,sourcedatachangebehavior,anddatacharacteristics.
• TheRawdatatabdisplaysuptothefirst200rowsofthedatainthesource.
• TheScripttaboffersanopportunitytocreateadatasource(scriptedsource)withaselectstatementandscript.
• Thesaveandclose/cancelbuttonsareintheupper‐right.Saveeverytimeachangehasbeenmade.Areminderwillpopupifauserattemptstoclosewithoutsaving.
• Underthesaveandclosebuttonsaretwocheckboxes:DiscoverySourceandExcludefromWarehouseModel.
• DiscoverySource:InAdvancedspaces,checkingthisboxidentifiesthesourceasaDiscoverysource,enablingthesourcetobeaddedwithoutincludingitinthedatawarehouse.
DataFlowMethod ListMethod
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage77
• ExcludeFromWarehouseModel:Thisboxappliestonon‐Discoverysources.CheckingthisboxpreventsthesourcefromfeedingintotheBirstdatawarehouse.
TargetingColumnsTargetingacolumnisdonetomakeitavailabletothereportdesignersinthesubjectareaoftheDesignermodule.TargetingalsotellsBirsttophysicallyplacecolumnsintoeitherthefacttableorintothedimensiontable(hierarchy)whenthedataisprocessed.Therearethreepri‐marywaystotargetacolumn:toahierarchy,asameasureandtoanalyzebydate.
Whenacolumnistargetedtoahierarchy,Birstwilltreatthatcolumnasanattribute.Itwillbeavailableinthedefaultsubjectareaforreportdesignerstouseto“sliceanddice”theasso‐ciatedmeasures.TargetingtoahierarchyalsotellsBirsttoinsertthedataintothedimensiontable/hierarchy
Whenacolumnistargetedasameasure,Birstwillincludeitinthemeasuresofthedefaultsubjectareaandcreatethevariousaggregationssuitabletothetypeofdatainthecol‐umn.TargetingasameasurealsotellsBirsttoinsertthedataintothefacttableandenableaggregation.
Whenacolumnismarkedtoanalyzebydate,Birstwillusethatdatetocreatemeasuresthatareautomaticallygroupedagainstthesedates.Forexample,inthe“Orders”sourcetherearemultipledates;OrderDate,RequiredDate,ShippedDate.BymarkingallthreeoftheseasAna‐lyzebyDate,Birstwillcreatemeasuresgroupedandaggregatedbasedonthosedates.
Ifacolumnisnottargetedatall(assignedtoahierarchy,markedasameasureormarkedasanalyzebydate),Birstwillessentiallyignoreitanditwillnotbeavailableatallinthedefaultsubjectareanorwillitbeplacedintoanytableinthedatawarehousewhendataisprocessed.
Figure89 TargetColumnsinCategories
Columnsisthefirsttabontherightsideofthescreen.WithintheColumnsscreenarethefol‐lowingfields:
• Name:thetitleofthefield
• Type:datatypeasidentifiedbyBirst
• Width:thecolumnsize
• LockType:securesthedatatypetopreventchanges
• Hierarchy:indicatestargetedhierarchy
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage78
• Level:rarelyused,referencehelpforanexample
• Measure:indicatesdataistargetedtoafacttable
• AnalyzeMeasure:indicatesadegeneratedimension
• AnalyzebyDate:indicatestoBirsttogroupmeasuresbythisdate
• Format:usedfordatecolumnstocontroldateformats,i.e.MM/DD/YYYY
• Options
• UnknownReplacement:populatenullvalueswithreplacementspecified• SecurityFilter:usedtosecuredimensionormeasuredata
TotargetacolumntoaHierarchy,clickintheHierarchyfieldforthatcolumn.
Figure90 TargettoaHierarchy
Clickasecondtimetoopenthefield,thenusethedropdownmenutoselectthecorrecthier‐archy.InFigure90,CategoryIDisbeingtargetedtotheCategoriesHierarchy.ThisistellingBirsttoinsertthedatafromtheCategoryIDcolumnintotheCategoriesdimensiontableandtomakeitavailableinthedefaultsubjectareaforuseonareport.
LeavingthehierarchyblankmeansthatBirstwillnotinsertthatcolumnintothedimensiontable,andthecolumnwillnotbeavailableintheSubjectArea.
Thereareinstanceswheredataistargetedtoahierarchytobetreatedasanattribute,andisalsomarkedasameasure.CategoryIDisagoodexample,asitistargetedtotheCategorieshierarchyandisalsomarkedasameasure,whichtellsBirsttoalsoinsertthedataintothefacttable.WithCategoryIDtargetedtoboththeCategorieshierarchyandasameasure,BirstcanperformacountofCategoryIDaswellasusethefieldasanattributetoanalyzerelateddata.
Totargetacolumnasameasure,clickthecheckboxunder“Measure”.Rememberthatmea‐surescanbenon‐integercolumntypes,allowingBirsttoaggregate“count”and“countdis‐tinct”measures.
Tomarkacolumnas“AnalyzebyDate”clickthecheckboxunderAnalyzebyDate.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage79
Figure91 TargetasaMeasureorAnalyzebyDate
Toapplythesamechangetomultiplecolumns,clickthecheckboxesinthefirstcolumn.Tochoseall,clickthecheckboxbesideName.
Figure92 Multi‐selectingColumns
Oncethecolumnsareselected,clicktheEditColumnbutton.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage80
Figure93 EditColumn
Inthe“EditMultipleColumns”dialogbox,variouschangescanbeaccomplished,including:
• ColumnType
• LockType
• Format
• Width
• Hierarchy
• Level
• Measure
• AnalyzeMeasure
• AnalyzebyDate
• UnknownReplacement
Totargetmultiplecolumnstothesamehierarchy,choosethathierarchyfromthedropdownmenu.ClicktheOKbuttonwhenfinished.
Columnnamescanbechangedinthisscreenaswell.Thiscomesinhandywhenrelatedcol‐umnsintwodifferentsourceshavebeennameddifferently.InorderforBirstautomationtoseethemasrelated,oneofthemneedstobechangedtomatchtheother,forexample,intheSupremEatsdata,theOrderssourcehasacolumncalled“ShipVia”whichcontainsthesameinformationasthe“ShipperID”columnintheShipperssource.Tochangethecolumnname,clicktwiceinthecolumnnameandthentypethenewname.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage81
Figure94 ChangeColumnName
2.3.5 GrainsGrainsareneededtologicallyjoinafacttabletoadimensiontablewherethekeysarepresent(physically,settingagraininsertstheprimarykeyintothefacttable).Ameasuretable,ontheotherhand,canbejoinedtomanydimensionsandBirstmustunderstandwhatdimensionsameasuretablecanjointo.SelectingthegrainallowsBirsttoanalyzethemeasurebytheattri‐butesplacedinthosedimensions.
Thegrainistheconnectionbetweenthefactanddimensiontables.
Inthecurrentexample,considerthesimplestgrain:onelevel.
Figure95 Categories
Figure95,showsthe[CategoryID]columnasameasurecolumn.ThattellsBirstthatitmustcreateafacttabletoholdthisvaluesothatitcanbuildthelogicalmeasures[#CategoryID]and[CountDistinct:CategoryID].
ThisfacttablewillbeloadedfromtheCategoriessourceandhaveonerowper[CategoryID].Also,thisfacttablewillneedtoconnecttotheCategoriesdimensiontableinordertosliceaquerybycolumnssuchas[CategoryName].Thereisnootherdimensionlevelthatalsoappliestothissource,andasaresultitsgrainconsistsmerelyofCategories.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage82
Withgrainsproperlysetup,Birstcanjointhetablesandthislinkageallowsmeasurestobeslicedanddicedbycolumnspresentindimensiontables.(Notethatthewordsfactandmea‐sureareusedinterchangeablyinBirst).
Working with Grains
AdminsworkingintheDataFlowMethodcanaccessGrainsontheDataFlowpagebyrightclickingeachsource.Choose,“ManageSources”andclickingontheGraintab.
Figure96 SelectingGrainsinDataFlow
FortheOrder_Detailssource,thegrainsareCategories,Employees,Order_Details,ProductsandShippers.ThismeansthatwhenreportingonmeasuresfromOrder_Details(thecoreofSupremEats,wherethemainmeasuresare),theanalysiscanincludeCategories,Employees,Products,ShippersandtheOrder_Details,aswellasCustomersandOrders(aspartoftheOrder_Detailshierarchy)andSuppliers(aspartoftheProductshierarchy).
AdminsworkingintheListMethodcanaccessGrainsontheManageSourcespagebyclick‐ingontheGrainstab.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage83
Figure97 SelectingGrainsinListMethod
Inthiscase,withtheflattenedhierarchystructure,thegrainsforOrder_Detailsincludesallofthehierarchies.Thisisbecausethedatacanbejoinedthroughforeignkeys.
Anotherwaytothinkofthisis,“WhatattributesgivecontexttothemeasuresintheOrder_‐Detailsfacttable(quantitysold,forexample)?”
Inordertochoosethegrainsofthesources,clicktheGraintab.Expandeachhierarchybyclickingonthearrowtotheleft.
Foreachsource,selecttheappropriategrain(s).
Grain Examples
UsingSupremEatsasanexample,ifallgrainsareremovedfromeverysource,herearetheresultsinthesubjectareaofDesignerModule:
Figure98 DesignModuleSubjectArea
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage84
TheonlythingthatcanbereportedonisTime.Nomeasuresareavailabletouseinareport,norareanyotherattributes,becausethegrainistheconnectionbetweenafacttableandadimensiontable.
IftheappropriategrainfortheEmployeesourceandtheSuppliersourceonlyareselected,theresultsinthesubjectareaofDesignerModulewouldbe:
Figure99 DefaultSubjectArea
Noticethatnow,onlyEmployeeIDandSupplierIDareavailableasmeasuresandEmployeesandSuppliersareavailableasAttributes(andTime,althoughTimeisalwaysavailableineveryspace).
Withallgrainsselectedappropriately,analysiscanbeperformedacrossallattributesandmeasuresthathavearelationship.
Carrying Higher Keys Downhill
Birstprovidesapowerfulfeaturetoallowhigherleveldatarelationshipstobecarrieddowntolowerdatalevels.
NoteinFigure96,theOrderDetailsHierarchy,thatthelevelsforEmployeeandShipperarealsochecked.TheOrderDetailssourcedoesnotcontainkeystolevelsinthosehierarchies.However,higherlevelsourcesinthehierarchyandtheProducthierarchydo.ThisillustratesthatGrainismeanttoindicatethelevelofthedata,NOTthekeyrelationships.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage85
Figure100 UnderstandingLevels&Grains‐MultiLevelHierarchies
Note: TheillustrationinFigure100displayshowthekeyscarryacrossanddown,allowingmeasuresinonesourcetobeanalyzedbyattributesinarelatedsource,evenifthatrelationisthroughanothersource.
ByunderstandingthatallofthekeyspresentontheOrderssourcearealsopresentontheOrderDetailssource,BirstcanconcludethatforeachOrderrecord,thereisauniquesetofrecordsontheOrderDetailstable‐inotherwords,OrderDetailsisamoredetailedversionofthesamedata.ThatmeansthatanymetricthatexistsontheOrderDetailssourcecanbeana‐lyzedagainstanyattributeordimensionthatexistsattheOrderslevel.
Orders
OrderDetails Products
Employees
Shippers
Orders
Categories
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage86
Forexample,thereisacustomerlinktotheOrderssource,nottotheOrderDetailssource.But,onecananalyzequantitysold(ontheOrderDetailssource)bycustomername(ontheCustomerhierarchywhichislinkedtotheOrderssourceviaCustomerID).BirstknowsthatsinceitcananalyzemetricsontheOrderstableagainstcustomerdata,itcanalsoanalyzeOrderDetailsmetricsagainstcustomerdata.
AgrainisacollectionoflevelsthatBirstusestoanalyzemeasuresacrosshierarchies.Birstcarrieskeysdown,allowinglowerleveldatatobeanalyzedbythoserelationships.
TargetingcolumnsenablesreportdesignerstousethosecolumnsintheDesignermodule.Targetingacolumnasameasuremakesthatcolumnavailableformathematicalanalysisandtargetingacolumntoahierarchymakesthatcolumnavailableasanattributetodescribeameasure.
Review1. Whataffectdoesselectingthegrainhave?
2. HowdoesBirstknowwhichlevelsofdataapplytoasource?
3. Whatistargetingcolumnsandwhatisitspurpose?
Summary
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage87
2.4 ProcessDataOncethedatamodelhasbeencreatedandanyeditshavebeenmade,thedataneedstobeprocessed.Processingthedatarunstheuploadedsourcedatathroughthemodelthathasbeencreated,andthenputsthedataintotablesinthewarehouse.Eachtimedataisprocessedcacheisalsocleared.
OntheProcessDatatabtherearefourpages:ProcessData,DeleteData,ViewProcessedDataandScheduleDataProcessing.
First,navigatetotheProcessDatatabandtheProcessDatapage.ThenclickProcessNow.Theamountoftimeittakestoprocessthedataisdependentontheamountofdatabeingpro‐cessed.
Figure101 ProcessData
Oncethedataprocessinghascompleted,thedetailsoftheprocesscanbeviewedbyclicking“Details”ontheDataProcessingLog.
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage88
Figure102 ProcessDataPageafterProcessing
ProcessedDataLog
DetailsforProcessedData
PROPRIETARYandCONFIDENTIAL| Admin |BirstAdminPage89