J'ai une assemblée qui retourne uneUSQL Tableau de tableau au format CSV plat
SQL.ARRAY<SQL.ARRAY<string>>
je dois aplatir à un csv, ne pas obtenir le bon résultat.
Voici à quoi il ressemble dans U-SQL, si je crée le tableau de tableaux en ce que:
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();
Je reçois cette sortie:
"111"
"PASS"
"0"
"222"
"PASS"
"0"
"333"
"PASS"
"0"
mais je veux cette sortie:
"111","PASS","0"
"222","PASS","0"
"333","PASS","0"
Qu'est-ce que je fais mal? Toute contribution appréciée!
Juste une observation sur les données de test, chaque "colonne" du tableau est la même structure suggérant qu'il devrait être une ligne. Est-ce juste un artefact de vos données d'échantillon? – wBob