As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Você pode inserir parâmetros de conjunto de dados no SQL personalizado de um conjunto de dados no modo de consulta direta fazendo referência a ele com <<$parameter_name>>
na instrução SQL. No runtime, os usuários do painel podem inserir valores de controle de filtro associados a um parâmetro de conjunto de dados. Em seguida, eles podem ver os resultados nos elementos visuais do painel depois que os valores se propagam para a consulta SQL. Você pode usar parâmetros para criar filtros básicos com base na entrada do cliente nas cláusulas where
. Como alternativa, você pode adicionar cláusulas case when
ou if else
para alterar dinamicamente a lógica da consulta SQL com base na entrada de um parâmetro.
Por exemplo, digamos que você queira adicionar uma cláusula WHERE
ao seu SQL personalizado que filtra dados com base no nome da região de um usuário final. Nesse caso, você cria um parâmetro de valor único chamado RegionName
:
SELECT *
FROM transactions
WHERE region = <<$RegionName>>
Você também pode permitir que os usuários forneçam múltiplos valores ao parâmetro:
SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)
No exemplo mais complexo abaixo, um autor de conjunto de dados refere-se a dois parâmetros de conjunto de dados duas vezes, com base no nome e no sobrenome de um usuário, que podem ser selecionados em um controle de filtro do painel:
SELECT Region, Country, OrderDate, Sales
FROM transactions
WHERE region=
(Case
WHEN <<$UserFIRSTNAME>> In
(select firstname from user where region='region1')
and <<$UserLASTNAME>> In
(select lastname from user where region='region1')
THEN 'region1'
WHEN <<$UserFIRSTNAME>> In
(select firstname from user where region='region2')
and <<$UserLASTNAME>> In
(select lastname from user where region='region2')
THEN 'region2'
ELSE 'region3'
END)
Você também pode usar parâmetros em cláusulas SELECT
para criar novas colunas em um conjunto de dados utilizando a entrada do usuário:
SELECT Region, Country, date,
(case
WHEN <<$RegionName>>='EU'
THEN sum(sales) * 0.93 --convert US dollar to euro
WHEN <<$RegionName>>='CAN'
THEN sum(sales) * 0.78 --convert US dollar to Canadian Dollar
ELSE sum(sales) -- US dollar
END
) as "Sales"
FROM transactions
WHERE region = <<$RegionName>>
Para criar uma consulta SQL personalizada ou editar uma consulta existente antes de adicionar um parâmetro de conjunto de dados, consulte Como usar SQL para personalizar dados.
Ao aplicar SQL personalizado com um parâmetro de conjunto de dados, <<$parameter_name>>
é usado como um valor de espaço reservado. Quando um usuário escolhe um dos valores de parâmetros de um controle, o QuickSight substitui o espaço reservado pelos valores que o usuário seleciona no painel.
No exemplo a seguir, o usuário insere uma nova consulta SQL personalizada que filtra os dados por estado:
select * from all_flights
where origin_state_abr = <<$State>>
O valor padrão do parâmetro é aplicado à consulta SQL e os resultados aparecem no Painel de visualização. Na captura de tela a seguir, o valor padrão do parâmetro State
é IL
, ou Illinois. A consulta SQL filtra os dados do conjunto de dados e retorna todas as entradas no conjunto de dados em que o estado de origem é IL
.
