В вашем вопросе вы говорите, что
У меня есть способ создать отчет, который выглядит следующим образом
blockquote>, а затем перечислить данные как
Batch Zone Value1 Value2 ----- ---- ------ ------ 25 1 5 15 25 2 12 31 26 1 6 14 26 2 10 32
Теперь, возможно, данные могут уже находиться в форме «без поворота» где-то (с разными
Value
s в отдельных строках), но если нет, вы бы использовали что-то вроде следующего запроса для достижения чтоSELECT [Batch], "Zone" & [Zone] & "_" & "Value1" AS [ValueID], [Value1] AS [ValueValue] FROM BatchDataByZone UNION ALL SELECT [Batch], "Zone" & [Zone] & "_" & "Value2" AS [ValueID], [Value2] AS [ValueValue] FROM BatchDataByZone
... return:
Batch ValueID ValueValue ----- ------------ ---------- 25 Zone1_Value1 5 25 Zone2_Value1 12 26 Zone1_Value1 6 26 Zone2_Value1 10 25 Zone1_Value2 15 25 Zone2_Value2 31 26 Zone1_Value2 14 26 Zone2_Value2 32
Однако вы доберетесь до этой точки, если вы сохраните этот запрос как [BatchDataUnpivoted], тогда вы можете использовать простой запрос Crosstab «вывести» значения для каждой партии ...
TRANSFORM Sum(BatchDataUnpivoted.[ValueValue]) AS SumOfValueValue SELECT BatchDataUnpivoted.[Batch] FROM BatchDataUnpivoted GROUP BY BatchDataUnpivoted.[Batch] PIVOT BatchDataUnpivoted.[ValueID];
... return ...
Batch Zone1_Value1 Zone1_Value2 Zone2_Value1 Zone2_Value2 ----- ------------ ------------ ------------ ------------ 25 5 15 12 31 26 6 14 10 32
Редактировать: Используя классический балансировщик нагрузки ...
LoadBalancer:
Type: 'AWS::ElasticLoadBalancing::LoadBalancer'
Properties:
HealthCheck:
HealthyThreshold: '2'
Interval: '15'
Target: 'HTTP:9000/'
Timeout: '5'
UnhealthyThreshold: '10'
Listeners: !If 'HasTCPPort1'
-
- InstancePort: TCPPort1
Condition: HasTCPPort1
InstanceProtocol: HTTP
LoadBalancerPort: TCPPort1
SSLCertificateId: !If
- HasLoadBalancerCertificateARN
- !Ref LoadBalancerCertificateARN
- !Ref 'AWS::NoValue'
Protocol: !If
- HasLoadBalancerCertificateARN
- HTTPS
- HTTP
- !Ref 'AWS::NoValue'
Scheme: internet-facing
Subnets:
- 'Fn::ImportValue':
!Sub '${ParentVPCStack}-SubnetAPublic'
- 'Fn::ImportValue':
!Sub '${ParentVPCStack}-SubnetBPublic'
- 'Fn::ImportValue':
!Sub '${ParentVPCStack}-SubnetCPublic'
SecurityGroups:
- !Ref SecurityGroup
Instances:
- !Ref Server