LabKey Server 11.1 What’s New for Developers Josh Eckels March 17, 2011.

Slides:



Advertisements
Similar presentations
Ashley Ohmann June 20, * What is Custom SQL? * What can I do with it? * Join conditions * Unions and Self Joins * Ranks * Derived Tables.
Advertisements

Creating Tables. 2 home back first prev next last What Will I Learn? List and provide an example of each of the number, character, and date data types.
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
Michael Pizzo Software Architect Data Programmability Microsoft Corporation.
SQL Server Accelerator for Business Intelligence (SSABI)
Technical BI Project Lifecycle
Introduction to Structured Query Language (SQL)
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 8 Advanced SQL.
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
Introduction to Structured Query Language (SQL)
1 Chapter 2 Reviewing Tables and Queries. 2 Chapter Objectives Identify the steps required to develop an Access application Specify the characteristics.
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Microsoft Access 2010 Chapter 7 Using SQL.
DAY 21: MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Akhila Kondai October 30, 2013.
LabKey Server 10.3 and Office Hours Josh Eckels, LabKey Software.
SQL and Support Debugging Tool Paul Johnson and Graham O’Bray.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 8 Advanced SQL.
Introducing Reporting Services for SQL Server 2005.
SQL advanced select using Oracle 1 7. Multiple Tables: Joins and Set Operations 8. Subqueries: Nested Queries.
SQL (Chapter 2: Simple queries; Chapter 7 and 8: Nested and DML queries) Many of the examples in this document are based on the tables in the next slide.
Using SAS® Information Map Studio
Introduction to Entity Framework Part 2 CRUD Scaffolding Tom Perkins NTPCUG.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
PowerBuilder Online Courses - by Prasad Bodepudi
5/24/01 Leveraging SQL Server 2000 in ColdFusion Applications December 9, 2003 Chris Lomvardias SRA International
CSCI 6962: Server-side Design and Programming Database Manipulation in ASP.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
December 5, Repository Metadata: Tips and Tricks Peggy Rodriguez, Kathy Kimball.
BACS 287 Structured Query Language 1. BACS 287 Visual Basic Table Access Visual Basic provides 2 mechanisms to access data in tables: – Record-at-a-time.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Chapter 6 Procedural Language SQL and Advanced SQL Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
37 Copyright © 2007, Oracle. All rights reserved. Module 37: Executing Workflow Processes Siebel 8.0 Essentials.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
(SQL - Structured Query Language)
NSF DUE ; Wen M. Andrews J. Sargeant Reynolds Community College Richmond, Virginia.
Web Programming MySql JDBC Web Programming.
FAST Budget and Forecasting Rob McMicking
WaveMaker Visual AJAX Studio 4.0 Training Java Script Events.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
SQL Query Analyzer. Graphical tool that allows you to:  Create queries and other SQL scripts and execute them against SQL Server databases. (Query window)
Confidencial - TRACASA Automatize test [e- Reporting]
Thinking in Sets and SQL Query Logical Processing.
5 Copyright © 2008, Oracle. All rights reserved. Testing and Validating a Repository.
MICROSOFT ACCESS – CHAPTER 5 MICROSOFT ACCESS – CHAPTER 6 MICROSOFT ACCESS – CHAPTER 7 Sravanthi Lakkimsety Mar 14,2016.
LabKey Server 10.3 What’s New Feature List High-throughput NAb New Customize View UI Next-gen sequencing and genotyping – Galaxy integration for.
External Data Access Adam Rauch, 6/05/08 Team: Geoff Snyder, Kevin Beverly, Cory Nathe, Matthew Bellew, Mark Igra, George Snelling.
 CONACT UC:  Magnific training   
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
MySQL Tutorial. Databases A database is a container that groups together a series of tables within a single structure Each database can contain 1 or more.
External Data Access 5/29/08. Current Problems No way to load, process & analyze live Atlas data via critical analysis & programming tools (SAS, R, Perl)
© 2011 LabKey Software LabKey Server Release 11.2 Atlas Developers Meeting 7/21/2011 Adam Rauch
CSC314 DAY 9 Intermediate SQL 1. Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall USING AND DEFINING VIEWS  Views provide users controlled.
© 2011 LabKey Software LabKey Server Release 11.3 Atlas Developers Meeting 11/16/2011 Adam Rauch
2 Copyright © 2008, Oracle. All rights reserved. Building the Physical Layer of a Repository.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
Relational Database Design
Prepared by : Moshira M. Ali CS490 Coordinator Arab Open University
Producing the 2007/8 HESA Return
Database Systems: Design, Implementation, and Management Tenth Edition
Data Virtualization Demoette… Parameterized Queries
Basic Work-Flow with SQL Server Standard
Data Virtualization Tutorial: JSON_TABLE Queries
James Blankenship March , 2018
Enhance BI Applications and Simplify Development
CSE 491/891 Lecture 21 (Pig).
Contents Preface I Introduction Lesson Objectives I-2
Chapter 8 Advanced SQL.
Database Systems: Design, Implementation, and Management Tenth Edition
Server-Side Programming
Shelly Cashman: Microsoft Access 2016
Presentation transcript:

LabKey Server 11.1 What’s New for Developers Josh Eckels March 17, 2011

11.1 Feature List Improved look and feel GPAT data persistence in hard tables Server-side validation script enhancements JavaScript reports AJAX report designer Copy-to-study by reference Study data visualization File management UI enhancements Easier initial data import for GPAT Additional LabKey SQL syntax Agilent feature extraction (microarray) pipeline update Sequest (proteomics) pipeline update Misc assay enhancements Improved look and feel GPAT data persistence in hard tables Server-side validation script enhancements JavaScript reports AJAX report designer Copy-to-study by reference Study data visualization File management UI enhancements Easier initial data import for GPAT Additional LabKey SQL syntax Agilent feature extraction (microarray) pipeline update Sequest (proteomics) pipeline update Misc assay enhancements

Improved Look and Feel Now deployed on atlas-test and atlas-staging Nick presented at January Atlas developers meeting Goals – Cleaner and less distracting – More consistent – Easier for developers Continuing, multi-release effort

GPAT Data Persistence Similar to work done for datasets in version 10.3 Before 11.1, three forms of persistence – Metadata stored in OntologyManager – Data stored in OntologyManager (aka blender) – Data also stored in materialized temp tables In 11.1, two forms of persistence – Metadata stored in OntologyManager – Data stored only in OntologyManager maintained hard tables 100% UI and API compatibility API access is still strongly recommended for data extraction

Copy-To-Study by Reference Copy-to-study is mechanism for including assay data in studies Prior to 11.1, copied data rows were snapshotted into dataset As of 11.1, assay data rows are referenced by dataset as a lookup Eliminates duplicated data 100% UI and API compatibility

LabKey SQL – More Functions Pass-through support for more database functions asciioctet_lengthsubstr btrimoverlapsto_ascii char_lengthquote_identto_hex character_lengthquote_literaltranslate chrregexp_replaceto_char decoderepeatto_date encodereplaceto_timestamp initcaprpadto_number lpadsplit_part md5strpos

LabKey SQL – General Syntax Comma join syntax SELECT Col1, Col2 FROM TableA, TableB WHERE TableA.Col3 = TableB.Col4 Auto-generated expression aliases SELECT LCASE(FirstName), Age FROM People Expression1Age billy12 sally11

LabKey SQL – User/Group Functions USERID() – Returns id of the current user – Useful for filtering within query ISMEMBEROF(groupId) – Returns true if current user is a member of the specified group id – core.groups table contains group names and ids

LabKey SQL – General Syntax ISEQUAL(a, b) – Treats NULLs as equal – Equivalent to: (a=b OR (a IS NULL AND b IS NULL)) Nested joins now supported... FROM TableA LEFT JOIN (TableB INNER JOIN TableC ON...)

LabKey SQL – General Syntax AS is now optional for expression aliases SELECT LCASE(FirstName) AS Name FROM PEOPLE SELECT LCASE(FirstName) Name FROM PEOPLE ORDER BY clause can refer to column alias SELECT LCASE(FirstName) Name FROM PEOPLE ORDER BY Name

LabKey SQL - PIVOT Similar to Excel pivot tables Reshape rectangular data Related to aggregates and GROUP BY PTIDVisitIDAnalyteValue IL-1b IL IL IL IL IL-12p70143 PTIDVisitIDIL-1bIL-2IL-7IL-12p

LabKey SQL - PIVOT SELECT PTID, VisitID, Analyte, Value FROM AssayData PTIDVisitIDAnalyteValue IL-1b IL IL IL IL IL-12p70143

LabKey SQL - PIVOT SELECT PTID, VisitID, MAX(Value) AS MyValue FROM AssayData GROUP BY PTID, VisitID PTIDVisitIDMyValue

LabKey SQL - PIVOT SELECT PTID, VisitID, MAX(Value) AS MyValue FROM AssayData GROUP BY PTID, VisitID PIVOT MyValue BY Analyte PTIDVisitIDIL-1bIL-2IL-7IL-12p

LabKey SQL - PIVOT SELECT PTID, VisitID, MAX(Value) AS MyValue FROM AssayData GROUP BY PTID, VisitID PIVOT MyValue BY Analyte IN (‘IL-2’, ‘IL-7’) PTIDVisitIDIL-2IL

LabKey SQL – Parameterized Queries Pass data to custom queries Allows filtering on pre-aggregated values Declared at top of query PARAMETERS(MinValue INTEGER) SELECT PTID, VisitID, AVG(Value) AS AvgValue FROM AssayData WHERE Value > MinValue GROUP BY PTID, VisitID

LabKey SQL – Parameterized Query Example MinValue = 0MinValue = 125 PTIDVisitIDAvgValue PTIDVisitIDAvgValue

LabKey SQL – Parameterized Values Provide as config property to JavaScript APIs Or provide as URL (GET) parameters – query.param.MinValue=100 Or use minimal UI for setting values – Intended for query authors, not end users – Parameterized queries usually require custom UI

JavaScript Validation and Transformation Originally added in version 10.2 Part of file-based modules Executed on server, as the user who submitted the request Row-level callbacks for insert, update, delete Associated with a specific schema/query May transform data, or simply accept/reject Supported for many but not all data types (lists, datasets, external modules, etc)

Validation Improvements - APIs require(“dir/dependencyName") – Include other file-based module script files Supports a subset of the JavaScript client APIs – LABKEY.ActionURL – LABKEY.Filter – LABKEY.Message – LABKEY.Query – LABKEY.Security – LABKEY.Utils

Validation Scripts – API Callbacks Calls that are asynchronous on client are synchronous on server Return value from client API function is its result Your callback function, if provided, is called before function returns

Example Validation Script var console = require("console"); var LABKEY = require("labkey"); /* Don’t allow user to delete last row */ function beforeDelete(row, errors) { // Get all rows currently in the same table var rs = LABKEY.Query.selectRows({ schemaName: 'vehicle', queryName: 'Manufacturers', columns: ['RowId','Name']}); if (rs.rows.length == 1) { // Error is not tied to a field, so use null // instead of a field name errors[null] = “Last row – can’t delete”; }

JavaScript Reports Analogous to R reports Alternate view of data grids Passed context object with current schema, query, filters, etc Available through Views menu – Views->Create->JavaScript View – View->My JavaScript View Name Uses revamped report builder – AJAX between source, view, and data tabs – Enhanced editor for source code

More Info 11.1 features have specs on our Project List – /Projects/begin.view /Projects/begin.view Developer documentation at – LabKey SQL reference – JavaScript and other client APIs – Some features may lag behind the release date me –

Questions