J'utilise SQL Script suivant pour resize datatables lorsque j'exécute Je reçois cette erreur: spécifié dans l'opérateur UNPIVOT est en conflit avec le nom de colonne existant dans l'argument UNPIVOT.
SELECT HelpDeskName , TRY_CONVERT(NUMERIC(10,4),loggedInAgents) AS loggedInAgents , TRY_CONVERT(NUMERIC(10,4),AvailableAgents) AS AvailableAgents , TRY_CONVERT(NUMERIC(10,4),UnAvailableAgent) AS UnAvailableAgent , TRY_CONVERT(NUMERIC(10,4),TotalCalls) AS TotalCalls , TRY_CONVERT(NUMERIC(10,4),CallsHandled) AS CallsHandled , ReceivedTime FROM [Final].[UCCX] AS U UNPIVOT ( HelpDeskName, ReceivedTime for Category in (LoggedInAgents,AvailableAgents,UnAvailableAgent,TotalCalls,CallsHandled) ) Z ;
Les colonnes de sortie d'unpivot que je voudrais voir est HelpDeskName, ReceivedTime, Category, CategoryValue. S'il vous plaît conseiller ou aider avec cette requête.
Deux options rapides
Option 1 – Via Cross Appliquer
L'approche Cross Apply offre un peu plus de liberté / flexibilité. Par exemple, vous pouvez facilement renommer les catégories ou redéfinir les valeurs.
Select A.HelpDeskName ,A.RecievedTime ,B.* From YourTable A Cross Apply (values ('LoggedInAgents' ,A.LoggedInAgents) ,('AvailableAgents' ,A.AvailableAgents) ,('UnavailableAgents',A.UnavailableAgents) ,('TotalCalls' ,A.TotalCalls) ,('CallsHandled' ,A.CallsHandled) ) B (Category,CategoryValue)
Option 2 – Via UnPivot
Select HelpDeskName,RecievedTime,Category,CategoryValue From YourTable UnPivot ( CategoryValue For Category in (LoggedInAgents,AvailableAgents,UnavailableAgents,TotalCalls,CallsHandled) ) u;
Les deux returnneraient quelque chose comme ça