Arquivar 30/09/2020

Cross Tab Report in SSRS


By: Nai Biao Zhou   |   Updated: 2020-09-03   |   Comments (2)   |   Related: > Reporting Services Development

Problem

Data analysts use cross-tabulations, which are like Pivot Tables, to examine
relationships within data. When using cross-tabulation, we arrange data in row groups
and column groups. The row groups represent the different levels of one variable;
the column groups represent the other variable that may also have multiple levels
[1]. The intersections of rows and columns contain summarized information. For example,
sales managers may want to view a breakdown of the company sales by product category
and time. In this type of report, the rows are different product categories; the
columns are different times. A cell, the intersection of a row and column, represents
the total sales amount for the corresponding product category in a certain period.
How can we build this kind of report in SSRS?

Solution

Matrices in SSRS provide functionalities like those features in the cross-tabulation
and pivot tables [2]. We use a matrix to group data in row and column groups. This
tip provides a step-by-step procedure to create a ready-to-use, cross-tabulation
report shown in Figure 1. The report is interactive, i.e., the report allows users
to expand or collapse a group. The demonstration report loads data from the AdventureWorks
sample database “AdventureWorks2017.bak” [3].

Figure 1 Adventure Works
Sales Summary Report

This exercise gathers business requirements from the “Company Sales” report in
the SQL Server Reporting Services Product Samples [4]:

Sales managers at AdventureWorks want to have a report to summarize the sales
amount in a certain period. When report users view the report, they want to see
a breakdown of company sales by product category and time. The product category
variable has two levels: product category and product subcategory; the time group
has two levels: year and quarter. Report users can interactively expand groups at
higher levels and collapse rows associated with lower levels.
Figure 2 demonstrates the expansion
or contraction of groups.

Figure 2 Interactively
Expand a Row Group and a Column Group

I organize this procedure into five sections.

  • In Section 1, we create a data source for a report.
  • We cover a step-by-step process to design a ready-to-use, cross-tabulation
    report using Visual Studio 2019 in Section 2.
  • Section 3 introduces techniques to build configurable reports.
  • Next, in Section 4, we explore methods to add images to the report.
  • Section 5 shows how to access reports through the SSRS web portal.

I created this report with Microsoft Visual Studio Community 2019 and Azure Data
Studio 1.19.0 on Windows 10 Home 10.0 <X64>; I tested the report on SQL Server
2017 Reporting Services (Version 14.0.600.906). The DBMS is Microsoft SQL Server
2017 Enterprise Edition (64-bit).

1 – Preparing Data Sources for the Report

We create data sources for SSRS reports from which the SSRS loads report data.
As a best practice, reports should share data sources [5]. This exercise uses the
SQL Server relational database as the data source. The SSRS also supports other
data source types, such as Microsoft SQL Server Analysis Services, Microsoft Azure
SQL Database, Oracle, OLE DB, and XML [6].

1.1 Create a Stored Procedure to Extract Data

We use stored procedures to load report data from the SQL Server database. We
recommend this method. DBAs only need to grant EXECUTE permission on these stored
procedures without having a risk of exposing underlying tables [7]. Besides, we
put all business logic in stored procedures; therefore the report, like the view
component in the MVC pattern, solely displays data to report users.

According to the business requirements, we should load the following data into
the report: sales amount, product subcategory, product category, quarter, and year.
We extract unique identifiers associated with these names as well. Inspired by the
SQL query in [4], we create a stored procedure “[dbo].[uspGetCompanySalesSummary]”
to retrieve these data from the sample database:

CREATE PROCEDURE [dbo].[uspGetCompanySalesSummary]     @StartDate datetime    ,@EndDate datetime AS BEGIN    BEGIN TRY SELECT PC.[ProductCategoryID]      ,PC.[Name] AS Category ,PS.ProductSubcategoryID ,PS.[Name] AS Subcategory ,DATEPART(yy, SOH.OrderDate) AS [Year] ,'Q' + DATENAME(qq, SOH.OrderDate) AS Qtr ,SUM(DET.UnitPrice * DET.OrderQty) AS Sales FROM Sales.SalesOrderDetail DET INNER JOIN  Sales.SalesOrderHeader SOH ON DET.SalesOrderID = SOH.SalesOrderID INNER JOIN Production.Product P ON P.ProductID = DET.ProductID INNER JOIN  Production.ProductSubcategory PS ON PS.[ProductSubcategoryID] = P.[ProductSubcategoryID] INNER JOIN Production.ProductCategory PC ON PC.ProductCategoryID = PS.ProductCategoryID WHERE(SOH.OrderDate BETWEEN(@StartDate) AND(@EndDate)) GROUP BY DATEPART(yy, SOH.OrderDate) ,'Q' + DATENAME(qq, SOH.OrderDate) ,PC.[ProductCategoryID] ,PC.[Name] ,PS.ProductSubcategoryID ,PS.[Name]    END TRY    BEGIN CATCH         DECLARE @ErrorMessage NVARCHAR(4000);         DECLARE @ErrorSeverity INT;         DECLARE @ErrorState INT;         SELECT @ErrorMessage = ERROR_MESSAGE(),                 @ErrorSeverity = ERROR_SEVERITY(),                 @ErrorState = ERROR_STATE();         RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState );         RETURN 1     END CATCH     RETURN 0 END read more

Brian Solis apresentado como palestrante estrela do evento global da IAA, Creativity4Better


Brian Solis apresentado como palestrante estrela do evento global da IAA, Creativity4Better 3

Em 27 de outubro de 2020, Brian Solis será a “estrela” keynote da conferência IAA Global Creativity4Better sobre o tema “Marcas: o motor para o renascimento econômico

Outros palestrantes excepcionais incluem:

Maher Nasser, Diretor da Divisão de Divulgação do DGC, Nações Unidas

Lisa Friedrich, chefe de SMB Europa, TikTok

Michelle Klein, vice-presidente, marketing de clientes globais, Facebook

Gabor George Burt, Autoridade Global em Transformação Criativa, Fundador da Slingshot Framework read more

Anunciando uma nova classe: fundamentos do Columnstore


Suas consultas de relatório são muito lentas. Os índices columnstore ajudarão?

Você tentou adicionar algum hardware a ele: seu SQL Server de produção tem 12 núcleos de CPU ou mais, 128 GB de RAM e SQL Server 2016 ou mais recente. Ainda não é o suficiente para lidar com seus dados crescentes. Já ultrapassou 250 GB e eles não permitem que você remova dados antigos.

Fundamentos de índices columnstoreEm um dia, você aprenderá:

  • Como os dados columnstore são armazenados e como isso afeta suas escolhas de arquitetura
  • Como fazer uma autoavaliação prática de suas cargas de trabalho, dados e servidor para descobrir se os índices columnstore fazem sentido para você
  • Como fazer uma implementação de prova de conceito com a criação inicial e medindo como suas consultas são afetadas

Como esta é uma aula de fundamentos, também preciso deixar claro o que está fora do escopo. Não abordaremos como ajustar cargas, ajustar planos de consulta, projetar índices rowstore sobre columnstore, ajustar manutenção contínua, compatibilidade cruzada de recursos, níveis de compatibilidade ou comportamentos de diferentes versões ou edições do SQL Server. read more

Just Artisan oferece um mercado online para empresas feitas à mão


Existem muitas opções para os artesãos independentes venderem seus produtos. Mas os atuais mercados online nem sempre têm em mente as necessidades dos vendedores. É aí que a Just Artisan se destaca.

O novo mercado começou com o desejo de ajudar aqueles que vendem em outras plataformas.

Destaque para pequenas empresas: Just Artisan

Leia sobre a empresa e sua jornada no Small Business Spotlight desta semana.

O que a empresa faz

Fornece um mercado online para negócios feitos à mão.

O fundador Marcello De Lio disse ao Small Business Trends: “Estamos empenhados em fornecer aos nossos fornecedores as ferramentas de que precisam para ter sucesso nas vendas online, incluindo taxas baixas, ferramentas de análise, suporte amigável e controle total sobre a vitrine.” read more

Bem-vindo ao novo VP de Alianças e Parcerias na Axway


Antony Hervo
Antony Hervo

Temos muito orgulho de apresentar a você Antony Hervo, nosso novo vice-presidente de Alianças e Parcerias EMEA. Antony é responsável por alavancar, construir e desenvolver as parcerias existentes e futuras de todos os tipos (canal, integradores de sistema, firmas de consultoria …) para expandir o alcance, gerar receitas e criar sinergias.

Com a nomeação de Antony juntamente com Bill Bryant e Fernando Ferreira, Axway confirma a importância das alianças e parcerias para acompanhar as empresas na sua transformação digital. read more

Uniões não-Equi no SQL Server


A junção não Equi no SQL Server soa como algo abstrato (e sofisticado), mas não é tão abstrato (e extravagante) de forma alguma. O mesmo vale para junções equi. Depois de ler este artigo, espero que você concorde comigo. Hoje vou tentar explicar o que são e quando você deve usá-los. Então vamos começar.

Modelo de dados

Nesta parte, nada mudou desde o último artigo, então usaremos o mesmo modelo que usamos nesta série.

Non-Equi se junta ao SQL Server - o modelo de dados

Se você ainda não está familiarizado com ele, reserve um tempo para ver como as tabelas se relacionam entre si. Usaremos apenas duas tabelas desse modelo de cidade e país e comentaremos sobre os dados posteriormente neste artigo, enquanto examinamos algumas consultas de junção não-equitativa do SQL Server. Se você precisa atualizar seus conhecimentos relacionados a chaves primárias e estrangeiras, instrução select e junções internas e à esquerda, este é o momento certo para fazê-lo. read more

HeyZap cofounder launches bank for startups


Andrew: hey there, freedom fighters. My name is Andrew Warner. I’m a founder of Mixergy where today’s guest is in. Reminded me. I’ve been doing this for 10 years. and I remember interviewing his cofounder years ago. Let me introduce him a mod Monaco. And I’m pronouncing your last name, right?

Immad: Yeah, I’m good. Thanks for having me, Andrew.

Andrew: Thanks for being on here, dude. I remember interviewing new cofounder years ago about Hayes app and. Getting so freaking sucked into the games on the site that I couldn’t stop. And then it feels like you guys pivoted the company, you became an ad, uh, serving tech company and you sold for what? $54 million am I right? 45. I had it read more

Empresa de Transformação Digital | Sem soluções violentas


As empresas de manufatura estão em rápida transformação, graças a Soluções da indústria 4.0. Enquanto 55-70% das empresas perceberam o potencial de aproveitar tecnologias avançadas para otimizar e acelerar suas operações, algumas ainda não exploraram o potencial das tecnologias futuras. Se sua empresa é uma delas, é hora de acordar antes que seja tarde demais.

Soluções da indústria 4.0 IoT, IA, desenvolvimento de aplicativos móveis, RPA não apenas acelera as operações, mas ajuda muito no controle dos custos indiretos do processo. Outro interessante Estatisticas Os fabricantes devem considerar digno de nota que as empresas que estão aproveitando as tecnologias mencionadas acima apresentam um desempenho impressionante, mesmo durante os tempos de pandemia da Covid-19. read more

O novo discurso público – Uma dose de SQLEspresso


A necessidade de fazer a transição para palestras virtuais não é fácil para mim. Como alguém que adora falar em público e dar treinamento pessoalmente, não ser capaz de fazer isso agora é muito difícil. Tenho dificuldade em olhar para a tela e falar com a câmera como um mecanismo de ensino. Sempre recebo pedidos para falar em reuniões de grupos de usuários virtuais e conferências online, mas geralmente recuso. Agora que os eventos virtuais são nosso único meio de falar, estou me forçando a sair da minha zona de conforto e experimentando alguns para ver se estou certo. read more

O que é a interseção de Drag Racing, Weather Spotting e Remote PHY?


O blog de hoje apresenta uma entrevista com John Downey, líder técnico sênior do CMTS, e Ron Hranac, engenheiro de marketing técnico, ambos da unidade de negócios Cisco Cable Access.

Ron Hranac é bem conhecido na indústria de cabo como um especialista em RF, microondas, satélite, fibra óptica, HDTV, bidirecional e outras tecnologias de ponta para cabo. Com 48 anos no setor, Ron é um especialista reconhecido com o SCTE e um palestrante regular na Cable-Tec Expo. Considerando suas quase cinco décadas no negócio, você pensaria que saberíamos tudo o que há para saber sobre Ron. Mas nós fazemos? Este especialista em cabos passou um tempo como DJ, piloto de drag e tem vários hobbies exclusivos. John Downey sentou-se virtualmente com Ron e conversou sobre os velhos tempos. read more