powerpoint presentation · add loop node add parameter “input

49
doing the impossible with Diver 7.0 WORKSHOP Keith Garvey | Senior Training Consultant Dimensional Insight [email protected]

Upload: hoangtu

Post on 08-Apr-2018

255 views

Category:

Documents


8 download

TRANSCRIPT

doing the impossible with Diver

7.0 WORKSHOP

Keith Garvey | Senior Training ConsultantDimensional Insight

[email protected]

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

LOG ON TO YOUR DIVEPORT

https://<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!

INSTALL DIVETAB & WORKBENCH

1. Click the links to download the install files.

2. Save the files locally.

3. Run the two installers.

TOUR OF DIVETAB https://<student>.training.dimins.com/distributor

TOUR OF WORKBENCH

PREFERENCES

Tools > Preferences

ProDiver Executable

C:\Program Files (x86)\Dimensional Insight\Training\prodiver.exe

7.0 WORKBENCH W/MODELS

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!

UNLEASHING SPECTRE

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!

SOME MORE NEW LINGO

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