私はUSQLアレイ
SQL.ARRAY<SQL.ARRAY<string>>
を返すアセンブリを持っている私は、正しい結果を得ていない、CSVにこれを平坦にする必要があります。ここで
は、私はその中に配列の配列を作成する場合には、U-SQLで次のようになります。
DECLARE @boardA1 SQL.ARRAY<string> = new SQL.ARRAY<string>{"111", "PASS", "0"};
DECLARE @boardA2 SQL.ARRAY<string> = new SQL.ARRAY<string>{"222", "PASS", "0"};
DECLARE @boardA3 SQL.ARRAY<string> = new SQL.ARRAY<string>{"333", "PASS", "0"};
@boards =
SELECT *
FROM(
VALUES
(
new SQL.ARRAY<SQL.ARRAY<string>>{@boardA1, @boardA2, @boardA3}
)
) AS t(boards);
@result =
SELECT n.value AS Board
FROM @boards
CROSS APPLY
EXPLODE(boards) AS c(value)
CROSS APPLY
EXPLODE(c.value) AS n(value);
OUTPUT @result
TO "result1.csv"
USING Outputters.Csv();
私はこの出力を得る:
"111"
"PASS"
"0"
"222"
"PASS"
"0"
"333"
"PASS"
"0"
が、私はこの出力をしたいです:
"111","PASS","0"
"222","PASS","0"
"333","PASS","0"
私は間違っていますか?すべての入力が評価されました!
テストデータを観察するだけで、配列の各「列」は同じ構造であり、実際には行になるはずです。それはあなたのサンプルデータの人工物ですか? – wBob