powerpoint presentation · add loop node add parameter “input
TRANSCRIPT
doing the impossible with Diver
7.0 WORKSHOP
Keith Garvey | Senior Training ConsultantDimensional Insight
GETTING STARTED
What’s new in DivePort 7.0 Download and install DiveTab &
Workbench Tour of DiveTab & Workbench
YOUR VIRTUAL MACHINE
All the examples and exercises have been preloaded to your VM. It is expected you will use this VM with this course.
DivePort: https://<student>.training.dimins.com
DiveLine: <student>.training.dimins.com
WHAT’S NEW IN DIVEPORT 7.0 Measures, Diver, Indicator support opening
Spectre dives QuickView Portlet can open Spectre QuickView
Sets Page IDs are no longer required to be unique Simplified UI Edit, Save and Undo!
1. Click the links to download the install files.
2. Save the files locally.
3. Run the two installers.
PREFERENCES
Tools > Preferences
ProDiver Executable
C:\Program Files (x86)\Dimensional Insight\Training\prodiver.exe
doing the impossible with Diver
7.0 WORKBENCH W/MODELS
James Kirtley | Senior Software EngineerDimensional Insight, Inc
Connect: [email protected]
SYLLABUS
Creating new Projects Workbench Aliases Visual Integrator Parameterizing Integrator Production DiveMaster
New Projects
THE GOAL
Take three years data from old project Build one model per year (and automate!) Build a multimodel Diveplan from that data
STEP 1 – CREATE A NEW PROJECT
Connect to Your DiveLine Create a new Project Name it “Block2” Accept the Default Project Location Keep “Create Default Directory Structure”
checked
WHAT ARE PROJECTS?
Integrator Scripts
Build Descriptions
Data
Lookup Tables
Projects
Production Scripts
Markers
Aliases
PROJECT PATHS
Used to identify files in Projects Project Root is where the Project is stored:
(e.g. “e:\di\projects\block2”) Relative to Root. (e.g. “/models/sales_0.mdl”) Use “/” as directory separator Combine with Root to get actual location of file:
/models/sales_0.mdl = e:\di\projects\block2\models\sales_0.mdl
STEP 2: CREATE AN ALIAS
Go to Tools | Project Properties Select “Aliases” Create a new “Project Alias” Alias Path: “/sourcedata” Project: 6.4 Production Sandbox Project Path: /franklin_dist/temp
Save the Project Properties Changes
WHAT’S AN ALIAS?
Project
Allow access to files outside of projects Use either fixed system path or link to another
project Acts like any other folder in the project
Other Project
Disk Location
6.4 SANDBOX PROJECTS
Automatically Created Project Root = Sandbox Root Allows Workbench with
existing 6.4 projects Handles different types of
paths. (Integrator vs. Production)
STEP 3: CREATE INTEGRATOR SCRIPT
Expand new “sourcedata” folder Right click on “sales_0.txt” Select “Create
Integrator Script” Save to “/programs/sales.int” (or keep default)
Add Builder Node (accept default name) Drag connection from Input node to builder node Set output to “/models/sales_0.mdl”
Set Model Structure Dimensions: Customer Name, Premise, Product Desc Summaries: Cases, Bottles, Revenue
STEP 4: PARAMETERIZE SCRIPT
Click “Parameters” at bottom of VI display Create new Parameter Name: “Input” Default Value: “0”
Insert Parameter in Input Filename Select “0” in filename, right click – “Insert Parameter” Should result in: /sourcedata/sales_$(input).txt
Change Output Filename to: /models/sales_$(input).mdl
STEP 5: PRODUCTION
Create new Production Script /programs/sales.prd
Add Loop Node Add Parameter “Input” Add Values 0, 1, 2 Remove “Simultaneous” value
Add Integ Node Select /programs/sales.int Allow the Parameters to propagate
STEP 6: DIVEMASTER
Create Models/sales.dvp Set User Model Name “Sales” Add “Sales_0” through “Sales_2” models Check “Include Model Dimension” Name it “Year” Set Aliases for each Model – 2013, 2014, 2015 Save and Open in ProDiver!
doing the impossible with Diver
UNLEASHING SPECTRE
Dan Jablonski | Senior ConsultantDimensional Insight, Inc
Connect: [email protected]
SYLLABUS
The Block 3 Project Convert Model to Spectre cBase Build cBase from data Use cBase with existing content Place Spectre content in DivePort Prepare for DiveTab
Spectre
THE GOAL
Set up sales data to support ProDiver, DivePort, and DiveTab users using Spectre DivePlans and Markers for ProDiver and DivePort cPlans for DiveTab cBase to support everything
WHILE YOU WERE AT LUNCH… Before lunch, you created Models and a DivePlan New Project expands on that Diveplan No Spectre content yet
Let’s look around…the project is block3
SOME NEW LINGO
Spectre vs spectre
Spectre Content vs Model Content
spectre build: create a cBase with a .build file or an integrator cBase output
SPECTRE BUILD FROM INTEGRATOR
Sales_0.int: Same as before; more fields set up Dimensions Info fields Summaries Column Properties
STEP 2: CONVERT SALES_0 TO CBASE
Open sales_0.int in workbench (with VI) Save As /programs/sales_spectre.int Right-click on the output object Select “convert to cBase output” Change the output path Run! Dive!
NOT QUITE THE SAME AS A MODEL
A cBase has less done up front No dimensions, infos, or summaries Set string, date, or numeric type No consolidated multimodels
STEP 3: BUILD EVERYTHING AT ONCE
Open sales_cbase.int in workbench (with VI) Select the cBase output object Change the output to sales.cbase
Select the text input object Change the input to use a wildcard
Run!
<ERROR> Spectre cBases are just collections of data Less structure than a model Less forgiving of bad data than a model
Non-numeric values in columns used as summaries are stored as <ERROR>.
1+1+<ERROR> = <ERROR>
STEP 3B: SIDE NOTE ON FILE NAMES
Something weird happened during that build Look at the input files: sales_0, sales_1, sales_2, sales_team
Fix the wildcard: sales_?.txt
Fix the filenames: sales-team.txt use “-” between words Use “_” before the suffix.
STEP 4: BUILD FROM SCRATCH
Right-click one of the input files (sales_1.txt) Select “Generate Spectre Build Script” Rename it “sales.build” Move it to /programs Double-click it to bring up the editor Change the input to sales_?.txt Change the output to /cbases/sales_build.cbase Save! Run! Dive!
STEP 4: BUILD FROM SCRATCH
Take a look at the spectre log
Two phases to a spectre build: Read the data by row Write the cbase by column
Some errors will not crop up until write Test builds with “limit input rows”
CBASE IN PRODIVER
Columns are defined by type, not by use By Default: “String” columns will be treated as dimensions “Date” (and “Period”) columns will be treated as
dimensions “Double” columns will be treated as summaries “Integer” and “Fix100” columns will be treated as
summaries and as dynamic dimensions
STEP 5: FIX DATA TYPES
Take a look at your summary columns Take a look at “Edit Dimensions”
In Workbench, change columns from “Integer” to “String”
In Workbench, review “Date” and “Period” columns
“Integer” vs “Double” vs “Fix100”
STEP 6: USING THE TEXT EDITOR
Pack size should be a diveable dimension suggested-dimension attribute promotes (or
demotes) columns in ProDiver
Info fields are a good thing (sort of) Required-dimension attribute simulates info field
relationships Strictly for convenience – no integrity checking
until dive. (But then, it’s unforgiving!)
STEP 7: USE CBASE IN DIVEPLAN
In Workbench, open /client-files/sales.dvp Save As sales_spectre.dvp Change the input from sales_consol.dvp to
sales_build.cbase Save
Open in ProDiver As long as the structure is right, it just works.
STEP 8: USE CBASE IN DIVEPORT
In ProDiver, open sales_spectre.dvp
Create a simple dive: Sales Manager, then Salesperson
Save Marker /client-files/dive.mrk
Create a simple report: Sales Manager + Salesperson
Format as report Save Marker /client-files/report.mrk
STEP 8: USE CBASE IN DIVEPORT
In DivePort, create a new page
Add a measure portlet built on dive.mrk Add a quickview portlet to filter by sales
manager
Add a marker portlet built on report.mrk
NEW FEATURES VS COMPATIBILITY
DivePlans and Markers on Spectre content provide compatibility with existing Model-based content.
DiveTab requires Spectre files only.
In the next hour, we’re using DiveTab, so let’s get ready for that!
STEP 9: DEFINE VIEW IN CPLAN
In Workbench, open /spectre_example/sales.cplan
.cplan, .dive, and .divetab do not have GUI editors (yet)
Calcs are written in new expression language Timeseries can be defined as an object, or in
individual calcs
STEP 10: DIVEPORT CONTENT
In Workbench, open /spectre_example/salespeople.dive
In Workbench, open /spectre_example/sales_managers.qvset
In DivePort, create a new page Add a measure portlet based on
salespeople.dive Add a quickview portlet based on
sales_managers.qvset